CurriculumCourse Description

Fall Term – First Semester
Code Credit Course Name
  CMPE 103 2 INTRODUCTION TO COMPUTERS
  CMPE 121 4 COMPUTER PROGRAMMING I
  CMPE 161 4 CALCULUS I
  CMPE 171 3 PHYSICS I
  DBT 101 2 ACADEMIC DEBATE AND CRITICAL THINKING I
  ELT 103 3 ADVANCED ENGLISH
  KUR 101 2 KURDISH LANGUAGE I
  KUR 105 2 KURDOLOGY I
24
Spring Term – Second Semester
Code Credit Name
  CMPE 122 4 COMPUTER PROGRAMMING II
  CMPE 154 3 DISCRETE MATHEMATICS
  CMPE 162 4 CALCULUS II
  CMPE 178 3 PHYSICS II
  DBT 102 2 ACADEMIC DEBATE AND CRITICAL THINKING II
  ELT 104 3 TECHNICAL ENGLISH
  KUR 106 2 KURDOLOGY II
21
Fall Term – Third Semester
Code Credit Course Name
  CMPE 201 4 OBJECT-ORIENTED PROGRAMMING
  CMPE 211 3 INTRODUCTION TO PROBABILITY AND STATISTICS
  CMPE 218 2 ENGINEERING ECONOMY
  CMPE 241 3 LINEAR ALGEBRA
  CMPE 253 4 ELECTRICAL CIRCUITS
  GEN 100 2 FOUNDATION ENGLISH
16
Spring Term – Fourth Semester
Code Cr. Course Name
  CMPE 204 4 NUMERICAL ANALYSIS
  CMPE 212 2 ENGINEERING MATHEMATICS
  CMPE 214 3 PROGRAMMING LANGUAGES
  CMPE 248 4 ELECTRONIC CIRCUITS AND DEVICES
  CMPE 311 4 INTRODUCTION TO DATABASE CONCEPTS
  GEN 102 2 FOUNDATION ENGLISH II
19
Fall Term – Fifth Semester
Code Credit Course Name
  CMPE 236 4 DATA STRUCTURES AND ALGORITHMS
  CMPE 301 3 OPERATING SYSTEMS
  CMPE 331 4 DIGITAL LOGIC DESIGN
  CMPE 341 4 WEB PROGRAMMING I
  CMPE 353 3 COMPUTER NETWORKS I
18
Spring Term – Sixth Semester
Code Credit Course Name
  CMPE 302 3 AUTOMATA THEORY & FORMAL LANGUAGES
  CMPE 332 4 INTRODUCTION TO MICROPROCESSORS
  CMPE 342 4 WEB PROGRAMMING II
  CMPE 352 3 COMPUTER ORGANIZATION
  CMPE 354 4 COMPUTER NETWORKS II
  CMPE 360 0 INDUSTRIAL TRAINING
18
Fall Term – Seventh Semester
Code Credit Course Name
  CMPE 401 3 SOFTWARE ENGINEERING
  CMPE 405 3 SUPERVISED INDEPENDENT STUDY AND RESEARCH
3 Technical Elective I
3 Technical Elective II
3 Technical Elective III
15
Spring Term – Eighth Semester
Code Credit Course Name
  CMPE 406 4 GRADUATION PROJECT
3 Technical Elective IV
3 Technical Elective V
3 Technical Elective VI
3 Technical Elective VII
16

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

Computer Engineering Program Curriculum

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.