Skip Navigation LinksSoftware-Engineering---Computer-Engineering

Software Engineering - Computer Engineering

Duration (Years)
Medium of Instruction

Double Major

The aim of this by-law is to determine the principles of an educational program of getting another undergraduate diploma from the same department or another department in EMU for students who have successful academic performance in their registered undergraduate programs.

In this by-law; “First Major Program” refers to the undergraduate program of a student’s registered department.

“Second Major Program” means the undergraduate program of the second department that students want to get the second undergraduate diploma in addition to the first diploma.

“Double-major Program” refers to the educational program formed as a combination of the first and the second major programs, giving students the chance of receiving the first and the second major program diplomas at the same time.

Please read Rules and Regulations for more information.

Courses to be taken by a Software Engineering Student from Computer Engineering Curriculum

Course Code

Course Name




Digital Logic Design




Digital Logic Systems




Electronics for Computer Engineers








System Programming




Basics of Signals and Systems




Computer Architecture and Organization




Area Elective I




Area Elective II




Area Elective III


Total Credit


Contact Information

Tel: +90 392 630 1484
Fax: +90 392 365 0711

Duration (Years)
Medium of Instruction


Course Code Course Title Semester Credit Lecture Hour (hrs/week) Lab (hrs/week) Tutorial (hrs/week) ECTS
Semester 1
CMPE101 Foundations of Computer Engineering
Computers and information processing -notion of computers, concepts of data and information, applications of computers, history of computing. Computer hardware -CPU, memory, input/output (I/O) interface, secondary storage, ports, types of computer systems. Computer software -system software, utilities, application software. Data communication. An overview of operating systems. Basics of problem solving approaches, components and construction of computer programs, flowcharting, and modular programming issues. Basics of C programming language and several laboratory experiments.
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
ENGL191 Communication in English - I
ENGL 191 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 Moodle. 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
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 Moodle. The purpose of the course is to consolidate students? knowledge and awareness of academic discourse, language structures and lexis. The main focus will mainly be on the development of productive (writing and speaking) and receptive (reading) skills in academic settings.
1 3 5 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.PLAB101 must be taken with PHYS101 lab.
1 4 4 1 - 6
Semester 2
CMPE100 Introduction to Profession
A series of seminars are held in current topics and areas of specialization in Computer Engineering. Speakers are invited from different departments of EMU including Computer Engineering Department or other International Universities, Industry and Consulting firms, to deliver seminars in all aspects of engineering that are not normally covered in the lecture courses.
2 No-Credit - 2 - 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
This course is designed to further help students improve their English to B2 level, as specified in the Common European Framework of References for Languages. The course aims to reconsolidate and develop students? knowledge and awareness of academic discourse, language structures, and critical thinking. The course also incorporates use of technologies such as MOODLE. The course will focus on reading, writing, listening, speaking and introducing documentation, and will also focus on presentation skills in academic settings.
2 3 3 - 1 4
ENGL182 Academic English - II
ENGL 182 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 Moodle. The purpose of the course is to consolidate students? knowledge and awareness of academic discourse, language structures and lexis. The main focus will mainly be on the development of language skills in reading, writing, listening and speaking and the improvement of general academic study skills necessary in an academic setting.
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.
PLAB102 must be taken with PHYS102 lab.
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
CMPE223 Digital Logic Design
Simplification of Boolean functions. Combinatorial logic. Design with MSI/LSI components. PLA and PAL designs. Synchronous sequential logic, registers, and counters.
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, B, B+, B* trees. Graphs and their applications. Sets. Sorting techniques. Searching.
3 4 4 1 - 7
CMPE211 Object Oriented Programming
Basics of C++ and Control structures. Program design, Object-Oriented programming and its specific features. Layout of a simple C++ program (elementary C++ programming. Fundamental types, scope. Overview of selection and iteration structures of C and C++ languages. Examples of C++ programs. Functions and Arrays. Review of functions and arrays. Prototypes (declarations), function definition, function overloading, inline functions, scope resolution operator (::), call-by-value, call-by-reference (reference parameters), default arguments, array declarations, operations on arrays, using arrays as function arguments. Pointers, C strings and C++ strings. Pointer variables, declaration and initialization. Use of pointers in call-by-reference function calls, returning a reference, arrays of pointers, pointers to arrays, pointers to functions, dynamic memory allocation with C++ operators new and delete, C-strings, input/output operations, standard C-string functions, formatted and unformatted input /output, C++ string type (the standard string class). Classes and Data abstraction. Structure definition, accessing members 2 of structures, class declarations, constructors, constructor initialization lists. Class destructor, member access specifiers public and private, const member functions, friend functions and classes, static data and function members. Operator Overloading. Fundamentals and restrictions of operator overloading, this pointer, overloading unary and binary operators. Composition and Inheritance. Base classes and derived classes, protected class members, virtual functions and polymorphism, virtual destructors, private access vs. protected access, abstract base classes. Revision of the material discussed in the course.
3 4 4 1 - 7
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.
3 3 3 1 - 4
MATH241 Linear Algebra and Ordinary Differential Equations
Linear Algebra ve Ordinary Differential Equations
3 4 4 1 - 6
Semester 4
CMPE224 Digital Logic Systems
Algorithmic state machines. Asynchronous sequential logic. Machine language instructions: the MIPS approach. Arithmetic for computers. The processing unit: data path and control.
4 4 4 1 - 7
CMPE226 Electronics for Computer Engineers
Circuits, currents and voltages, power and energy, Kirchoff's current and voltage laws. Circuit elements and circuits. Resistive circuits: resistance in series and parallel, resistive network analysis by series and parallel equivalents, node and mesh analysis. Thevenin and Norton equivalents. Superposition. Inductance and Capacitance, physical characteristics, practical capacitor and inductors. Basic diode concepts: Zener diode, Ideal diode model, rectifiers and waveshaping. Basic amplifier concepts, cascaded, ideal, and differential amplifiers, offset voltage, bias current and offset current. Bipolar Junction Transistors: Current and voltage relationship, common emitter characteristics, pnp BJT LargeSignal DC Circuit models. Common Emitter amplifiers. Emitter Follower. Operational Amplifiers: ideal OPAmp, summing point, inverting and noninverting amplifiers, Nonlinear imperfection, Differential and Instrumentation Amplifiers, Integrators and Differentiatiors. Logic Circuits: Basic concepts: TTL and CMOS implementation of logic gates.
4 4 4 1 - 6
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
UE-AH01 Uni.Elective - Arts & Humanities- I
Uni. Elective - Art & Humanities - II
4 3 3 - - 6
Semester 5
CMPE323 Microprocessors
Introduction to computing: Inside the computer, CPU-RAM-ROM. 80x86 microprocessor: short history, registers, mov and add instructions, program segments, data segments, logical and physical addresses, stack, push, pop, flag register, addressing modes. Assembly Language Programming: Directives, .asm, .lst, .obj, .map, linking, and .exe files, control transfer instructions, data types and data definition. Arithmetic Logic Instructions: unsigned multiplication and division, unsigned, signed, bcd, packed-bcd and ascii number conversion, rotate and shift instructions. Bios and DOS programming: bios display and keyboard interrupts, int 21h dos function calls. Macro definitions: mouse button and cursor position. 8088 PC/XT expansion slot, 80286 and the ISA bus, Memory and memory interfacing: EPROM, SRAM and DRAM devices, address decoding circuits, ISA bus memory interfacing. Memory mapped and Isolated I/O methods and device interfacing: ISA bus I/O address decoding and simple I/O ports, Programmable 4 Peripheral Interface 8255 and LED, 7-segment-display, switch, button, keypad, stepper motor interfacing. D/A converters, A/D converters. Hardware Interrupts: NMI and INTR pins, interrupt servicing and TSR programs. Serial Data Communication and 8251 USART.
5 4 4 1 - 7
CMPE343 Systems Programming
Scope of systems programming. System programming in UNIX. Programming processes in UNIX. Creation of processes. System calls for files. Local Interprocess communication mechanisms: Pipes, message queues, shared memory, semaphores, signals. Remote interprocess communication: Sockets. Remote procedure call. Introductory concepts systems programming in Windows OS.
5 4 4 1 - 6
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
CMPE321 Signals and Systems for Computer Engineers
Fundamental concepts of signals and systems for computer engineers with focus on discrete-time systems. Sinusoids, complex numbers, spectrum representation, sampling, frequency response, filters, and the z-Transform. Digital signal processing of multimedia signals.
5 4 4 1 - 6
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
CMPE324 Computer Architecture and Organization
Introduction to RISC architecture, MIPS Instruction set: Representing instructions in the computer, Linkers, Supporting procedures in computer hardware, Passing the arguments to a procedure, Constant or immediate operands in MIPS, Addressing in branches and jumps in MIPS, MIPS addressing modes, MIPS assembly program. Integer Arithmetics: Negative number representations, Addition and subtraction, Logic operations, Constructing the Arithmetic Logic Unit (ALU), Multiplication algorithms, Division algorithms, Floating point arithmetic algorithms. Design Performance Measures: CPU performance, Evaluating the performance. Processor Data path: Logic conventions and clocking, MIPS single clock cycle implementation: (Building a datapath), The simple implementation scheme, The multiple clock cycle implementation, Designing the control unit for the multiple clock cycle implementation: Finite state machines (FSM) and Microprogramming. Enhancing Performance with Pipelining: A pipelined datapath, Pipelined control, Data hazards, Control for data hazards, Reducing data hazards, Branch hazards, Exceptions, Performance of pipelined systems.
6 4 4 1 - 7
CMPE344 Computer Networks
Basic concepts of data transmission. Overview of networks. The layered network architecture, ISO reference model. Circuit switching, packet switching. Physical layer. Communication techniques. Frequency and time division multiplexing, modulation, modems, error detecting. Data link layer. Data link protocols. Network layer. Routing and congestion. Local area networks. Other layers. Examples of commonly used networks and their protocols. Basics of LANs ,wireless LANs, new trends in computer communication and computer 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
CMPE318 Programming Language Design
General principles and paradigms of programming languages: syntax, semantics and translation, imperative programming, memory management, object oriented programming and logic (declarative) programming. Paradigms will be studied, and compared between one another, through C, Java and Prolog languages.
6 4 4 1 - 6
UE-AH02 Uni. Elective - Art & Humanities - II 6 3 3 - - 4
Semester 7
CMPE400 Summer Training
As a part of the fulfilment 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.
7 No-Credit - - - 1
AE01 Area Elective - I 7 3 3 - - 6
AE02 Area Elective - II 7 3 3 - - 6
AE03 Area Elective - III 7 3 3 - - 6
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
CMPE405 Graduation Project - I 7 1 1 1 - 3
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.
7 3 3 - - 4
Semester 8
CMPE412 Software Engineering
The software life cycle and the phases in software development: Project scheduling, feasibility study, analysis, specification, design, implementation, testing, quality assurance, documentation, maintenance. Management issues: Planning, organization, control. Also included are formal specification techniques, structured programming, modular system design and other current issues.
8 4 4 1 - 6
AE04 Area Elective - IV 8 3 3 - - 6
UE-AH03 Uni. Elective - Art & Humanities - III 8 3 3 - - 4
UE-AH04 Uni. Elective - Social & Behavioral Sciences-II 8 3 3 - - 5
CMPE406 Graduation Project - II
This course is the sequel to CMPE405. It consists in the implementation of a realistic, preferably interdisciplinary, engineering capstone project emphasizing engineering design principles on a computer engineering topic. It is carried out by a team of students under the supervision of an instructor. The team must complete the detailed design and implementation of the preliminary design they started in the CMPE 405 course. It is an extended exercise in the professional application of the skills and experience gained in the undergraduate program. The team has to make a presentation and submit a detailed final report which documents the design, implementation and testing.
8 3 1 4 - 7
CMPE404 Graduation Project - II/II 8 4 4 - - 7
BMUH01 . 8 3 - - -
BMUH02 . 8 3 - - -

Undergraduate Programs

Apply Online

Graduate Programs

Apply Online

For Agencies

Agency Login