Skip Navigation LinksSoftware-Engineering-CMSE(English)-

Software Engineering-CMSE(English)

Degree
B.S.
Duration (Years)
4
Medium of Instruction
English

Software Engineering is a relatively new program established in 2008 to meet the increasing demand for qualified software engineers. Software engineering involves the design, production and operation of software systems based on the engineering principles. Students of the Software Engineering Program have the possibility of accessing and intensively working on the most up-to-date information regarding their field of study.

General Information

Software Engineering Program emphasizes the skills and knowledge needed in the production of large complex software needed for the functioning of our society. Software Engineering graduates have the skills to take a software solution through all phases of production. In both programs, along with the technical courses, students produce a graduation project.

Education

The main aim of the Software Engineering Program is to introduce the students with the most up-to-date developments in the area of software engineering and, at the same time, to enhance their life-long learning skills. The Program aims to bring up qualified and well-educated software engineers who are knowledgeable in computer systems, hardware and software, and who are able to put their theoretical knowledge into practice by producing large-scale software designs. The department graduates are perfectly equipped to deal with rapidly changing environment due to their solid education and strong background in the underlying principles of the technology, as well as hands on experience they get through laboratory work.

Facilities

The Software Engineering program offering education under the Computer Engineering Department has international, distinguished full time staff of academicians and researchers. Furthermore, a selected group of graduate students work as research and teaching assistants. Fully-equipped software and hardware labs enabling computer engineering students to combine theory and practice are available at the Department. There are three general-use computer laboratories, one graduation project lab, two multimedia laboratories, two logic design laboratories, one microprocessor laboratory, one circuit and electronics laboratory, one research and development laboratory and, last but not least, two research-development laboratories.

Career Opportunities

Graduates of the Software Engineering Program are equipped with the skills demanded by the sector. Designing, implementing, testing, deploying and maintaining large scale complex software systems necessitates knowledge and skills of a software engineer. Given that the world today depends so much on large scale complex software systems, it is not a surprise that qualified software engineers are in big demand, and well compensated financially. Employers of software engineers include banks, large International companies with information technology departments, the public sector and universities. Graduates of the program can also pursue graduate studies in a software related area.

Contact Information

Tel: +90 392 630 1484
Fax: +90 392 365 0711
E-mail: cmpe.info@emu.edu.tr
Web: http://cmpe.emu.edu.tr

Degree
B.S.
Duration (Years)
4
Medium of Instruction
English

Curriculum

Course Code Course Title Semester Credit Lecture Hour (hrs/week) Lab (hrs/week) Tutorial (hrs/week) ECTS
Semester 1
CMPE101 Foundations of Computer Engineering
Design of computer algorithms with pseudo-code to solve problems, analyze engineering related problems using computer. Basic elements of a high level computer programming language: Data types, constants and variables, arithmetic and logical operators and expressions. Fundamental components of Python programming language: Storing and manipulating user-input data, design and use of selection structures, design and use of repetition structures, lists and other data structures, functions, modular designs, dictionaries and sets, file input/output.
1 3 3 1 - 6
MATH163 Discrete Mathematics
Set theory, functions and relations; introduction to set theory, functions and relations, inductive proofs and recursive definitions. Combinatorics; basic counting rules, permutations, combinations, allocation problems, selection problems, the pigeonhole principle, the principle of inclusion and exclusion. Generating functions; ordinary generating functions and their applications. Recurrence relations; homogeneous recurrence relations, inhomogeneous recurrence relations, recurrence relations and generating functions, analysis of algorithms. Propositional calculus and boolean algebra; basic boolean functions, digital logic gates, minterm and maxterm expansions, the basic theorems of boolean algebra, simplifying boolean function with karnaugh maps. Graphs and trees; adjacency matrices, incidence matrices, eulerian graphs, hamiltonian graphs, colored graphs, planar graphs, spanning trees, minimal spanning trees, Prim's algorithm, shortest path problems, Dijkstra's algorithms .
1 3 3 1 - 5
ENGL181 Academic English - I
ENGL 181 is a first-semester freshman academic English course. It is designed to help students improve the level of their English to B1+ level, as specified in the Common European Framework of Reference for Languages. The course connects critical thinking with language skills and incorporates learning technologies such as IQ Online. The purpose of the course is to consolidate students’ knowledge and awareness of academic discourse, language structures, and lexis. The main focus will be on the development of productive (writing and speaking) and receptive (reading) skills in academic settings.
1 3 5 1 - 4
ENGL191 Communication in English - I
ENGL191 is a first-semester freshman academic English course. It is designed to help students improve the level of their English to B1+ level, as specified in the Common European Framework of Reference for Languages. The course connects critical thinking with language skills and incorporates learning technologies such as IQ Online. The purpose of the course is to consolidate students’ knowledge and awareness of academic discourse, language structures, and lexis. The main focus will be on the development of productive (writing and speaking) and receptive (reading) skills in academic settings.
1 3 3 1 - 4
MATH151 Calculus - I
Limits and continuity. Derivatives. Rules of differentiation. Higher order derivatives. Chain rule. Related rates. Rolle's and the mean value theorem. Critical Points. Asymptotes. Curve sketching. Integrals. Fundamental Theorem. Techniques of integration. Definite integrals. Application to geometry and science. Indeterminate forms. L'Hospital's Rule. Improper integrals. Infinite series. Geometric series. Power series. Taylor series and binomial series.
1 4 4 - 1 7
PHYS101 Physics - I
Physical quantities and units. Vector calculus. Kinematics of motion. Newton`s laws of motion and their applications. Work-energy theorem. Impulse and momentum. Rotational kinematics and dynamics. Static equilibrium.
1 4 4 1 - 6
Semester 2
CMSE100 Introduction to Software Engineering
Introduction to Profession
2 No-Credit - 1 - 2
CMPE112 Programming Fundamentals
An overview of C programming language, Sequential structure Data types and classes of data, arithmetic operators and expressions, assignment statements, type conversions, simple I/O functions (printf, scanf, fprintf, fscanf, gets, puts, fgets, fputs). Selective structure Relational operators, logical operators, conditional expression operator, conditional statements (if, switch). Repetitive structures While, do-while, for loops, loop interruptions (goto, break, continue), Null statement, comma operator. Functions Function definition and function call, external variables, storage classes, recursion. Arrays Array declaration, array initialization, arrays as function arguments. Pointers Basics of pointers, functions and pointers, arrays and pointers, strings and pointers, library functions for processing strings, pointer arrays. Structures Basics of structures, structures and functions, arrays of structures. (Pre-requisite: CMPE 101)
2 4 4 1 - 7
ENGL192 Communication in English - II
ENGL192 is a second-semester freshman academic English course. It is designed to help students improve the level of their English to B2 level, as specified in the Common European Framework of Reference for Languages. The course connects critical thinking with language skills and incorporates learning technologies such as IQ Online. The purpose of the course is to consolidate students’ knowledge and awareness of academic discourse, language structures, and lexis. The main focus will be on the development of productive (writing and speaking) and receptive (reading) skills in academic settings.
2 3 3 - 1 4
ENGL182 Academic English - II
ENGL182 is a second-semester freshman academic English course. It is designed to help students improve the level of their English to B2 level, as specified in the Common European Framework of Reference for Languages. The course connects critical thinking with language skills and incorporates learning technologies such as IQ Online. The purpose of the course is to consolidate students’ knowledge and awareness of academic discourse, language structures, and lexis. The main focus will be on the development of productive (writing and speaking) and receptive (reading) skills in academic settings.
2 3 5 1 - 4
MATH152 Calculus - II
Vectors in R3. Lines and Planes. Functions of several variables. Limit and continuity. Partial differentiation. Chain rule. Tangent plane. Critical Points. Global and local extrema. Lagrange multipliers. Directional derivative. Gradient, Divergence and Curl. Multiple integrals with applications. Triple integrals with applications. Triple integral in cylindrical and spherical coordinates. Line, surface and volume integrals. Independence of path. Green's Theorem. Conservative vector fields. Divergence Theorem. Stokes' Theorem.
2 4 4 1 - 7
PHYS102 Physics - II
Kinetic theory of ideal gases. Equipartition of energy. Heat, heat transfer and heat conduction. Laws of thermodynamics, applications to engine cycles. Coulombs law and electrostatic fields. Gauss's law. Electric potential. Magnetic field. Amperes law. Faradays law.
2 4 4 1 - 6
TUSL181 Turkish as a Second Language 2 2 2 - - 3
HIST280 Atatürk's Principles and History of Turkish Reforms 2 2 2 - - 3
Semester 3
CMSE201 Fundamentals of Software Engineering
Introducation to Software Enginering
3 4 4 1 - 6
CMPE211 Object Oriented Programming
Basics of Java programming language. Introduction to object-oriented programming. Classes, objects, methods, access modifiers (private, public, protected). Class derivation, abstract classes, interfaces, static class members. Inheritance, encapsulation, polymorphism. Object construction and destruction, namespaces, exception handling. Method overloading and overriding, container classes, template classes. Unified Modeling Language (UML) class diagrams.
3 4 4 1 - 7
CMPE231 Data Structures
Data types and basic operations on data structures. Arrays, strings, stacks, queues, linked list structures and tree structures. Various applications of these structures. Binary trees, binary search trees. Sorting techniques. Searching.
3 4 4 1 - 7
MATH241 Linear Algebra and Ordinary Differential Equations
Systems of linear equations, Echelon forms. Matrix Algebra, Determinants, and Inverse matrices. Vector spaces, Linear transformations, Eigenvalue problems. First-order differential equations; Second - order differential equations; General results of First-order linear systems, Laplace transforms.
3 4 4 1 - 6
UE01 University Elective - I 3 3 3 - - 6
Semester 4
CMSE222 Introduction to Computer Organization 4 4 4 1 - 7
CMPE242 Operating Systems
Operating system definition, simple batch systems, multiprogramming, time-sharing, personal computer systems, parallel systems. introduction to process, process scheduling, operations on processes, cooperating processes, interprocess communications, interrupts, process synchronization, criticalsection problem, atomic instructions, semaphores, synchronization problems, CPU scheduling, scheduling criteria and algorithms, multiple processes and real-time scheduling, algorithm evaluation, deadlocks, characterization and handling of deadlocks, deadlock prevention avoidance and detection, deadlock recovery, memory management and virtual memory, address spaces, swapping, memory allocation, paging, segmentation, file-systems, file concepts, access methods, directory structure.
4 4 4 1 - 6
MATH373 Numerical Analysis for Engineers
Numerical error. Solution of nonlinear equations, and linear systems of equations. Interpolation and extrapolation. Curve fitting. Numerical differentiation and integration. Numerical solution of ordinary differential equations.
4 3 3 1 - 6
ENGL201 Communication Skills
ENGL 201 is a Communication Skills course for students at the Faculty of Engineering. The course aims to introduce a range of skills, including effective written and oral communication, research skills and study skills. Throughout the course the students will be involved in project work intended to help them in their immediate and future academic and professional life. This will include library research, technical report writing and an oral presentation. By investigating a topic of their own choice, students will develop their understanding of independent research skills. During the report writing process, students will improve their writing and develop the ability to produce organized, cohesive work. The oral presentation aims to enhance spoken fluency and accuracy and provide training in the components of a good presentation.
4 3 3 1 - 4
UE02 Uni.Elective - Arts & Humanities- I 4 3 3 - - 6
Semester 5
CMSE321 Software Requirements Analysis and Specification
Functional, non-functional and domain requirements. User and system requirements. Feasibility study. Estimation techniques. Languages and models for representing requirements. Performance, reliability, availability, safety, and security issues. Requirements documentation standards. Requirements management: handling requirements changes
5 4 4 1 - 6
CMSE353 Security of Software Systems
Information security requirements, security threats, attacks, and methods providing information protection, discretionary and mandatory access models. Malicious software. Symmetric and asymmetric cryptographic methods, DES, AES, RSA. Authentication, digital signature, certificates, one-time passwords, hash functions. Practical aspects of information security in operating systems, databases, network applications.
5 4 4 1 - 7
CMPE371 Analysis of Algorithms
Design, analysis and representation of algorithms. Models of computation, fundamental strategies -divide and conquer, recursion, search and traversal, backtracking, branch and bound, analysis tools and techniques for algorithms, representation of sets and graphs, algorithms on graphs, NP-completeness and intractability
5 4 4 1 - 7
UE03 University Elecitive - III 5 3 3 - - 4
MATH322 Probability and Statistical Methods
Introduction to probability and statistics. Operations on sets. Counting problems. Conditional probability and total probability formula, Bayes' theorem. Introduction to random variables, density and distribution functions. Expectation, variance and covariance. Basic distributions. Joint density and distribution function. Descriptive statistics. Estimation of parameters, maximum likelihood estimator. Hypothesis testing.
5 3 3 1 - 5
Semester 6
CMSE322 Software Design
Modular software design. Different architectural design styles for software. UML diagrams, Client/server paradigm. Choice of appropriate software and hardware system capabilities. Dealing with timing constraints. Formal software design specification techniques. Configuration management. Software design for distributed systems. Reusability and commercial off-the-shelf software modules.
6 4 4 1 - 7
CMPE318 Programming Language Design
Formal specification of programming languages: syntax, analysis, and semantics; evolution of programming languages and concepts; names and scope; data representation; evaluation sequence at expression, statement, and subprogram levels; Object Orientation implementation issues; abstraction, inheritance, polymorphism, concurrency, and exception handling; sampling of other paradigms such as functional, logical, scripting, high-performance, etc. as time permits. Weekly homework and lab work are assigned in parallel to lectures.
6 4 4 1 - 6
CMSE346 Computer Networks and Communication
This course addresses the general principles of computer networks and communication with emphasis on the software aspects of networking. In the study of the multilayered model, it begins with application level and works its way down towards the lower layers. Topics include: Internet 1 and Internet applications, transport protocols, switching and routing, link layer and LANs. Software support for networks.
6 4 4 1 - 7
CMPE354 Database Management Systems
This course introduces the student to the fundamentals of database management. Topics covered include: the Entity-Relationship model; the Relational model and its mathematical foundations; most important features of Structured Query Language (including basic structure, aggregate functions, nested queries, index definition, stored procedures and functions, views, database modification, domain constraints, assertions, triggers, transaction definition, data definition language, granting privileges, security), query languages Datalog and QBE; Object-Oriented and Object-Relational databases; design principles of Relational databases (normal forms, functional dependencies, decomposition).
6 4 4 1 - 6
CMSE326 Software Quality Assurance and Testing
Software metrics. Quality planning and quality control. Inspections and formal technical reviews. Blackbox and white-box testing, problem analysis and reporting techniques. Verification and validation techniques. Process and product quality assessment. Process measurement. Software quality assurance standards.
6 4 4 1 - 6
Semester 7
CMSE400 Summer Training
As a part of the fulfillment of the graduation requirements, all students must complete 40 work days of summer training after the second and/or third year, during summer vacations. The summer training should be carried out in accordance with the rules and regulations set by the department. (3rd/4th year standing)
7 No-Credit - - - 1
CMSE405 Graduation Project - I 7 1 1 1 - 2
CMPE471 Automata Theory
Mathematical preliminaries and basic concepts. Strings, Languages and Grammars. Chomsky hierarchy of grammars. Deterministic and nondeterministic finite automata. Equivalence of deterministic and nondeterministic finite automata. Minimization of finite automata. Regular grammars and regular expressions. Pushdown automata. Context free grammars. Chomsky normal form. Greibach normal form. Correspondence of pushdown automata and context free grammars. Introduction to Parsing
7 4 4 1 - 6
CMSE473 Software Process and Management
In this course, software project processes and project management methodologies considering both practical and theoretical aspects in the context of software systems development will be studied in details. Basic principles and methods for initiation, planning and execution of software projects by considering software process management issues are discussed. The students will be supported with sufficient knowledge based on software engineering project management practices by taking this course that provide successfully initialize a project, reduce the development risks and finalize a software project successfully. (Prerequisites: CMSE 321 and MATH 322)
7 4 4 1 - 6
CMPE423 Embedded System Design
The objective of the course is to introduce the concept of Harvard + RISC architecture microcontrollers and design of embedded computing systems on typical applications including interrupts, timers, LCD and LED displays, keypads, a/d converters, rotary coders, stepper motors, serial and parallel communication interfacing. The design applications are introduced on a very widely used typical 16-bit embedded microcontroller unit, PIC18F452. The scope of the course is the simple, distinct PIC18F452 embedded system design with the applications in C and RISC assembly programming. The design/theory scale of the course is around 60/40.
7 4 4 1 - 6
AE01 Area Elective - I
The elective courses offered this semester are listed below. For a complete list of elective courses, please check the department website.
  • CMSE491 - Selected Topics in Software Engineering - I
7 3 3 - - 6
AE02 Area Elective - II
The elective courses offered this semester are listed below. For a complete list of elective courses, please check the department website.
  • CMSE491 - Selected Topics in Software Engineering - I
7 3 3 - - 6
Semester 8
AE03 Area Elective - III
The elective courses offered this semester are listed below. For a complete list of elective courses, please check the department website.
  • CMSE491 - Selected Topics in Software Engineering - I
8 3 3 - - 6
AE04 Area Elective - IV
The elective courses offered this semester are listed below. For a complete list of elective courses, please check the department website.
  • CMSE491 - Selected Topics in Software Engineering - I
8 3 3 - - 6
CMSE406 Graduation Project - II
4th academic year students in Software Engineering are required to prepare and present a project under the supervision of a faculty member of the Department. Each student has to prepare a separate (individual) project. The purpose of the project is to develop an understanding of independent research by studying a particular Software Engineering topic. It is an extended exercise in the professional application of the skills and experience gained in the undergraduate program. Topics will be chosen in consultation with faculty members.
8 3 1 4 - 7
UE04 Uni. Elective - Social & Behavioral Sciences-I 8 3 3 - - 5
IENG355 Ethics in Engineering
This course is designed to introduce moral rights and responsibilities of engineers in relation to society, employers, colleagues and clients. Analysis of ethical and value conflict in modern engineering practice. Importance of intellectual property rights and conflicting interests. Ethical aspects in engineering design, manufacturing, and operations. Cost-benefit-risk analysis and safety and occupational hazard considerations.
8 3 3 - - 4

Undergraduate Programs

Apply Online

Graduate Programs

Apply Online

For Agencies

Agency Login