CurriculumCourse Description

F i r s t  G r a d e

Fall Term/First Semester
Code  Course Name Theory Practice Credit ECTS
CMPE 104 Computing Algorithms Fundamentals 2 2 3 5
CMPE 103 Introduction to Computers 1 2 2 3
CMPE 161 Calculus I 4 0 4 6
CMPE 171 General Physics I 2 2 3 4
DBT 101 Academic Debate and Critical Thinking 2 0 2 3
ELT 103 Advanced English 3 0 3 4
KUR 105 Kurdology I 2 0 2 2
  Non-Technical Elective I 2 0 2 3
Total 21 30
Spring Term/Second Semester
Code  Course Name Theory Practice Credit ECTS
CMPE 154 Discrete Structures 3 0 3 4
CMPE 105 Programming Fundamentals 1 4 3 5
CMPE 162 Calculus II 4 0 4 5
 CMPE 178 General Physics II 2 2 3 4
GEN 122 Interpersonal Dynamics and Character Building 2 0 2 3
ELT 104 Technical English 3 0 3 4
KUR 106 Kurdology II 2 0 2 2
  Non-Technical Elective II 2 0 2 3
Total 22 30

S e c o n d  G r a d e

Fall Term/Third Semester
Code  Course Name Theory Practice Credit ECTS
CMPE 200 Advanced Programming 3 2 4 7
CMPE 253 Electrical Circuits 3 2 4 6
CMPE 211 Probability and Statistics 3 0 3 5
CMPE 241 Linear Algebra 3 0 3 5
CMPE 213 Engineering Mathematics 2 0 2 4
  Non-Technical Elective III 2 0 2 3
Total 18 30
Spring Term/Fourth Semester
Code  Course Name Theory Practice Credit ECTS
CMPE 214 Programming Language Concepts 3 0 3 4
CMPE 202 Database System Concepts 3 2 4 5
CMPE 203 Data Structures and Algorithms 3 2 4 7
CMPE 248 Electronics 3 2 4 6
CMPE 204 Numerical Analysis 3 2 4 5
  Non-Technical Elective IV 2 0 2 3
Total 21 30

T h i r d  G r a d e

Fall Term/Fifth Semester
Code  Course Name Theory Practice Credit ECTS
CMPE 301 Operating Systems 3 0 3 5
CMPE 303 Object-Oriented Programming 3 2 4 7
CMPE 331 Digital Logic Design 3 2 4 6
CMPE 353 Computer Networks I 2 2 3 6
  Technical Elective I 3 0 3 6
           
Total 17 30
Spring Term/Sixth Semester
Code  Course Name Theory Practice Credit ECTS
CMPE 302 Automata Theory and Formal Languages 3 0 3 4
CMPE 332 Microprocessors and Microcontrollers 3 2 4 6
CMPE 352 Computer Architecture and Organization 3 0 3 5
CMPE 354 Computer Networks II 3 2 4 5
CMPE 304 Internship 1 2 2 4
  Technical Elective II 3 0 3 6
Total 19 30

F o u r t h  G r a d e

Fall Term/Seventh Semester
Code  Course Name Theory Practice Credit ECTS
CMPE 401 Software Engineering 3 0 3 6
CMPE 405 Research Methodology 1 4 3 6
  Technical Elective III 3 0 3 6
  Technical Elective IV 3 0 3 6
  Technical Elective V 3 0 3 6
Total 15 30
Spring Term/Eighth Semester
Code  Course Name Theory Practice Credit ECTS
CMPE 406 Graduation Project 3 0 3 6
  Technical Elective VI 3 0 3 6
  Technical Elective VII 3 0 3 6
  Technical Elective VIII 3 0 3 6
  Technical Elective IX 3 0 3 6
Total 15 30

E l e c t i v e s

Technical Electives
Code  Course Name Theory Practice Credit ECTS
CMPE 411 Artificial Intelligence 3 0 3 6
CMPE 425 Advanced Database Concepts 2 2 3 6
CMPE 435 Computer Security 2 2 3 6
CMPE 400 Robotics 2 2 3 6
CMPE 413 Human-Computer Interaction 3 0 3 6
CMPE 424 Advanced Wireless Networks 3 0 3 6
CMPE 453 Introduction to Cryptography 3 0 3 6
CMPE 452 Introduction to Management Information Systems 3 0 3 6
CMPE 454 Digital Image Processing 2 2 3 6
CMPE 456 Digital Signal processing 2 2 3 6
CMPE 445 Computer Systems and Programming 2 2 3 6
CMPE 443 Mobile Applications Development 2 2 3 6
CMPE 442 Advanced Mobile Applications Development 2 2 3 6
CMPE 455 Introduction to Computer Graphics 3 0 3 6
CMPE 448 Control System 2 2 3 6
CMPE 451 Introduction to Data Mining 2 2 3 6
CMPE 341 Web Programming I 1 4 3 6
CMPE 342 Web Programming II 1 4 3 6
CMPE 407 Internet of Things (IoT) 2 2 3 6
CMPE 408 Embedded Systems 2 2 3 6
CMPE 409 Project Management 2 2 3 6
CMPE 410 Advanced Web Programming 2 2 3 6
CMPE 414 Cloud Computing 2 2 3 6
CMPE 415 Algorithms and Complexity 2 2 3 6
Non-Technical Electives
Code  Course Name Theory Practice Credit ECTS
TUR 121 Turkish I 2 0 2 3
TUR 122 Turkish II 2 0 2 3
TUR 223 Turkish III 2 0 2 3
GEN 201 Ecology 2 0 2 3
GEN 202 Musics 2 0 2 3
GEN 203 Art 2 0 2 3
GEN 204 Football 2 0 2 3
GEN 205 History of Art 2 0 2 3
GEN 206 Basketball 2 0 2 3
GEN 208 Volleyball 2 0 2 3
CMPE 218 Engineering Economy 2 0 2 3
CMPE 205 Computer Aided Design (CAD) 1 2 2 3

The curriculum of the Computer Engineering department can be accessed from this link below:

CMPE Curriculum 2023-2024

CMPE 103 – INTRODUCTION TO COMPUTERS: the purpose of this course is to demonstrate knowledge of the basics of computers and the applications that are used in our daily life and be able to choose the appropriate application for a given task, providing the student with sufficient knowledge and practical experience to make use of computers as a tool, particularly in the work settings where the assigned lab exercises in how to use the operating system of MS Windows (for File Management), MS Word (Word Processing) and MS Excel (Spreadsheet), MS.

CMPE 121 – COMPUTER PROGRAMING I: The objective of this course is to develop a basic understanding of programming concepts and using these programming concepts in C++ programming language. A structured programming concept is introduced. Programming constructs such as sequential structures, selection structures, and repetition structures are explained. As for introduction to programming with Java, variables, if-then-else, some of the loop structures are covered.

DBT 101 – ACADEMIC DEBATE AND CRITICAL THINKING I:  This course is designed to develop students’ abilities and skills in academic communication and debate. The topics of this course train the students on using sources for academic communication, putting knowledge into good use, and raising academic questions, and answering questions in an academic way. The course also aims to teach students how to accept and respect differing opinions, and how to conduct academic arguments. In this course, students are directed to raise questions and analyze academic texts logically and critically, i.e. they are guided to conduct a critical analysis of what they read, and are provided with the opportunity to practice and develop their skills by writing their reflections on the material studied and on their own learning. Moreover, the students will be assisted in this course with considering the problems of their country and making suggestions to solve problems relying on academic mechanisms and methodology.

KUR 105 – KURDOLOGY I (KURDISH): The Main aim of the course is to familiarize the students with the geography of Kurdistan and Kurdish history.

MATH 101 – CALCULUS I: The students will learn Classification of Real Numbers, Real Number Line and Intervals, Inequalities and Absolute Value Distance between two points, the slope of a line, functions, domain, and range, identifying function, combining function, the graph of functions, limits, and continuity, derivatives, chain rule, implicit differentiation, higher-order derivatives, applications of the derivative.

PHYS 101 – GENERAL PHYSICS I: Measurements, Vectors, Kinematics, Newton’s laws of motion, work and energy, conservation of energy, rotation of rigid bodies about a fixed axis.

 TUR 121 – TURKISH I: Bu derste, Avrupa dil kriterlerine uygun olarak temel seviyede Türkçe öğretimi amaçlanmıştır.Türk Alfabesindeki harfleri tanıma, sahiplik eki, soru eki,çoğul eki vs yerinde kullanma gibi gramer bilgisi kazandırma ile Selamlaşma,tanışmaevdeki temel eşyaları, haftanın günlerini söyleyebilme gibi becerileri kazandırma amaç edilmiştir…

CMPE 211 – INTRODUCTION TO PROBABILITY AND STATISTICS: Econ 203 emphasizes the use of basic probability concepts and statistical theory in the estimation and testing of single parameter and multivariate relationships. Computer labs, using Microsoft Excel, emphasize the calculation of descriptive statistics, probabilities, and least squares regression coefficients in situations applicable to business and economic events.

CMPE 253 – ELECTRICAL CIRCUITS: Present fundamental circuit components. Present fundamental circuit analysis techniques Introduce circuit equivalence methods. Develop physical insight and intuition for problem-solving

CMPE 241 – LINEAR ALGEBRA: Linear algebra is a branch of mathematics that studies vector spaces, also called linear space, along with the linear functions that input one vector and output another. Such functions are called linear maps (or linear transformations) and can be represented by matrices if a basis is given. Thus matrix theory is often considered as a part of linear algebra.

CMPE 201 – OBJECT-ORIENTED PROGRAMMING: Study the basic terminology and concepts of object-oriented programming: Classes, Methods, Object, Encapsulation, Inheritance, and Polymorphism in Java Programming language.

CMPE 311 – INTRODUCTION TO DATABASE CONCEPTS: This course introduces Databases. A database is an organized collection of data. The data are typically organized to model relevant aspects of reality in a way that supports processes requiring this information. For example, modeling the availability of rooms in hotels in a way that supports finding a hotel with vacancies. The main objectives of this course are: Design methodology for databases and verifying their design correctness, and using queries.

CMPE 331 – DIGITAL LOGIC DESIGN: Provide the student design methodologies for digital design, to use mathematical expressions to describe the functions of simple combinational and sequential circuits. Provide students with the approaches to converting numerical data from one format to another, to use different formats to represent numerical data. Study Boolean algebra, basic laws and rules in logic design, DeMorgan’s theorem, Karnaugh map, and approaches to simplifying logic circuits. Study systematical design methodology. Study systematical design methodology for sequential logic circuits.

CMPE 341 – WEB PROGRAMMING I: The objective of this course is to develop a basic understanding of web programming concepts. Basic XHTML concepts are explained first. Then, an introduction to Cascading Style Sheets is given. Then, many concepts of client-side programming are introduced.

CMPE 353 – COMPUTER NETWORKS I: Provide students with enhancing specialist knowledge in the area of computer networking which builds upon studies at the undergraduate level; Principles of data communications; information transfer, computer networks, and their applications. Describe a model for computer networks including a description of interfaces, protocols, layers, and layer functionality; in addition Network structures, architectures and protocols, Communication systems: transmission media (wire-wireless), analog and digital transmission modes. Transmission and switching: FDM, TDM, WDM, modulation and modems, circuit, packet, and message switching.

 CMPE 301 – OPERATING SYSTEMS: This course introduces operating system (OS) design and implementation. The operating system provides an established, convenient, and efficient interface between user programs and the bare hardware of the computer on which they run. This subject became more important lately as operating systems are not only required for just computers nowadays but also the majority of mobile and pad-like devices. The main objectives of this course are: Learn the evolution of Operating Systems. Understand the operations performed by Operating System as a resource manager. Study the major components of an Operating System. “Operating System II” will be a continuation of “Operating System I”. It will recover some of the subjects introduced in “Operating System I” in more depth with practical lab assignments to understand & implement important concepts. It will also introduce more advanced topics and actual operating systems examples to demonstrate the main concepts presented.

CMPE 403 – SENIOR PROJECT I: The course requires the students to draw upon the four years of knowledge and experience they have gained in their engineering studies and put it to practical use. The student should conduct some basic research trying to explore, define, and identify a specific computer engineering problem and document the research results with a proposal of a project for CMPE 404.

CMPE 405 – SUPERVISED INDEPENDENT STUDY AND RESEARCH: The course requires the students to draw upon the four years of knowledge and experience they have gained in their engineering studies and put it to practical use. The student should conduct some basic research trying to explore, define, and identify a specific computer engineering problem and document the research results with a proposal of a project for CMPE 406.

CMPE 423 – ADVANCED DATABASE CONCEPTS: Database design using an entity-relationship model and relational data model, SQL (data definition and data manipulation languages), data integrity and integrity constraints, triggers, stored procedures, functions, indexing, and application development.

 CMPE 435 – COMPUTER SECURITY: This course will cover many aspects of computer security including cryptography, network security, application security, and web security. Traditional topics such as buffer overflows, intrusion detection, packet analysis, and malware will be discussed. We will also delve into unorthodox topics including privacy, incident handling, forensics and anti-forensics, legal issues, politics, electronic voting, and security in emerging technologies. This is largely a hands-on course where students will play both offense and defense.

CMPE 411 – ARTIFICIAL INTELLIGENCE: This is an introductory course covering basic Artificial Intelligence (AI) concepts and their implementations. The course introduces the fundamental concepts of the discipline first then goes into detail with the practical information necessary to implement some algorithms and strategies. There are many existing examples that imply a sort of “intelligence” like computer games, robots, smart washing machines, digital cameras, software that suggests music you might like to listen to, etc. The course captures the essence of AI and introduces basic ideas regarding knowledge representation and search algorithms. The goal of Artificial Intelligence is to build software systems that behave “intelligently”. The theory and insights brought about by AI research will set the trend in the future of computing.

CMPE 401 – Software Engineering: Software engineering is a set of principles, methods, and activities that must be followed to develop high-quality software products that are reliable, easy to understand, modify and maintain. The software development process includes activities requirements gathering, analysis, design, construct, test, and releasing of the software product. The course objective is to help students to learn these knowledge areas and improve their skills to apply them to the development of software products. Modeling UML, introduction to design patterns, project management and software development processes, requirements elicitation, and analysis, system design, object design, testing, rational, and configuration management, software life cycle, and methodologies, particular emphasis is on a team project in which a group of students implements a system from its specification.