Undergraduate Program Course List

Compulsory Departmental Courses

Technical Elective Courses

Non-Technical Elective Courses

Service Courses Given to Other Departments

Service Courses Taken From Other Departments



Compulsory Departmental Courses

CMPE109 - Fundamentals of Computing
Engineering fundamentals, computer engineering as a profession, career opportunities, professional organizations for computer engineering, ethical issues in computing; hardware components of a computer system; data representation and machine language instructions; coordinating internal activities of a computer using operating systems; networking

CMPE113 - Computer Programming I
Algorithm development, fundamental elements of the C language, selection statements, iteration statements, standard library functions, user-defined functions, parameter passing, application programs in a laboratory environment using the C language.

CMPE114 - Computer Programming II
Pointers, dynamic memory management, parameter passing, arrays, strings, structures, file processing; application programs in a laboratory environment using the C language.

CMPE134 - Fundamentals of Electronic Components
Engineering abstraction in simple circuit analysis and models to represent actual circuit components; analysis of electronic circuits; the linearity and superposition theory; Thevenin and Norton equity principles in multi-component circuit analysis; first order RC and RL circuits, digital electronic components, fundamentals of logical calculations

CMPE225 - Object Oriented Programming
Data types, expressions and statements, functions and scope rules, class definitions, inheritance, polymorphism, name overloading, templates, exception handling; input/output; object oriented principles using the UML and C++ programming language.

CMPE226 - Data Structures
Stacks, recursion, queues; creation and destruction of dynamic variables, serial linked lists, circular lists, doubly linked lists, circular doubly linked lists; sorting and searching algorithms, space and time considerations, binary trees, binary search trees, tree traversal algorithms, binary tree sorting algorithms, hashing.

CMPE236 - Introduction to Microprocessors and Microcontrollers
Introduction to microcontrollers, instruction set, serial port operation, interrupt operation, assembly language programming, program structure and design, tools and techniques for program development, design and interface examples in assembly, design and interface examples.

CMPE251 - Discrete Computational Structures
Basic mathematical objects of computational mathematics: sets, sequences, relations, functions, and partitions; deductive mathematical logic proof techniques; discrete number systems; induction and recursion; graphs and sub-graphs; trees; planarity of graphs; covering problems; path problems; directed graphs; combinatorics.

CMPE323 - Algorithms
Design and analysis of algorithms, O-notation, divide and conquer algorithms, dynamic programming, backtracking and branch and bound, lower bound theory, complexity of sorting and searching algorithms, graph algorithms, NP-hard and NP-complete problems, basic NPC problems, proving problems to be NPC, analysis of some string processing algorithms.

CMPE325 - Study of Programming Languages
Study of programming language concepts: syntax and semantics, types, values, expressions, and statements; program structure; procedures and functions; structured data; abstraction and encapsulation; inheritance; dynamic binding; concepts of programming paradigms by means of functional, procedural, and object-oriented programming languages.

CMPE326 - Formal Languages And Automata
Languages and their representations. Finite automata and regular grammars. Context-Free Grammars. Concept of abstract machines and language acceptance. Deterministic and non-deterministic finite state machines. Pushdown automata. Turing machines and introduction to the theory of computation.

CMPE331 - Computer Architecture and Organization
Computer components, Von Neumann architecture, instruction execution, interrupts, bus structure and interconnection of components, memory: internal memory, cache and virtual memory, external memories. CPU: ALU, floating point arithmetic, instruction sets, addressing modes and formats; control unit: hardwired and micro-programmed control units;

CMPE334 - Computer Networks
Basic concepts of computer networking; application layer and well-known applications; transport layer, UDP and TCP services; network layer, IPv4 addresses, forwarding and routing; data link layer, MAC addresses, HUBs and switches; physical layer properties and standards.

CMPE341 - Database Design and Management
Database system concepts, data modeling with ER and EER, the relational data model, file organizations and index structures, relational algebra, structured query language (SQL); database design: functional dependence and table normalization; introduction to database administration; a relational DBMS in a laboratory environment.

CMPE399 - Summer Practice I
A minimum of six weeks of training in the industry involving the observation of the hardware and software components of a computer system in use; a summer practice report is prepared that lists the experiences of the student during the six weeks period.

CMPE431 - Operating Systems
Basic design principles of operating systems, single-user systems, command interpreter, semaphores, deadlock detection, recovery, prevention and avoidance; multi-user OS; resource managers, processor management and algorithms, memory management: partitioning, paging, segmentation and thrashing; device management; interrupt handlers, device drivers

CMPE493 - Project Orientation
Computing and IS projects, research, project planning and risk management, national and international standards, team working, literature survey, conducting project, project presentation, lifelong learning, ethics, legal issues, innovation and entrepreneurship.

CMPE494 - Senior Project
Project analysis and design, project development, project management, team working, project presentation.

CMPE499 - Summer Practice II
A minimum of six weeks of training in an IT department/company involving the observation of the hardware and software components of a computer system; students are expected to be involved in software/hardware development projects of the IT department/company; a summer practice report is prepared that presents the experiences of the student during

Technical Elective Courses

AE1 - Area Elective (A)

AE2 - Area Elective (A)

AE3 - Area Elective (A)

AE4 - Area Elective (A)

AE5 - Area Elective (A)

AE6 - Area Elective (A)

CMPE312 - Visual Programming
Review of object-oriented programming, visual programming basics such as value types, operator overloading, exception and event handling; using GUI frameworks; working with files and data access by using XML.

CMPE318 - Java Programming
Java technology, object-oriented programming, objects, classes, modularity; encapsulation, polymorphism, elements of Java, exceptions, garbage collector; classes and inheritance; interfaces; the collections framework; the input/output framework; the graphical user interfaces framework; threads.

CMPE343 - Database Systems and Programming
Concurrent operations on databases; transaction processing and concurrency control; DB recovery, security and authorization; introduction to DB programming, object-oriented DB concepts.

CMPE376 - Computer Games and Simulation
History of games and current trends in games, the main concepts on game design and development, evaluating commercial games; main game design issues; creating simulations; using artificial intelligence in games; using physics and mathematics in games; main computer graphics concepts used in games; human computer interaction concepts for developing

CMPE413 - Logic Programming
Lisp programming: symbolic expressions, elementary functions, Lambda notation, forms, functions, list structures, Prolog programming: facts, rules, relationships; data structures; backtracking; input/output; built-in predicates.

CMPE424 - Language Processors
Fundamental concepts of compilation and interpretation; single-pass and multiple-pass language translators; lexical analyzer; top-down parsing, and LL(1) grammars; recursive descent method; bottom-up parsing; shift reduce technique; operator precedence grammar, LR(0) and SLR(1) grammars; syntax directed translation; error processing and recovery; s

CMPE433 - Cloud Computing and Virtualization
Cloud description, types of cloud, services, deployment models, types of virtualization, hardware virtualization, hypervisors, OS virtualization, server virtualization, desktop virtualization, storage virtualization, application virtualization, benefits and costs, security issues

CMPE434 - Embedded System Design
Embedded systems and their applications, metrics of embedded systems, components of embedded systems, realization of embedded systems, PCB technologies, simulation, emulation, rapid prototyping, testing and certification examples of realizations optimized for different applications, analysis of development costs and times, laboratory work on specif

CMPE435 - Special Topics In Computer Networks
Elaborate concepts of TCP/IP computer networks; application details for well-known applications on the Internet. IPv6 addresses; routing principles and routing algorithms; ICMP communication; VPNs; wireless-networking; network security.

CMPE437 - VLSI Design
Basic fabrication sequence of ICs, self aligned silicon gate, NMOS and CMOS technologies; design rules and layout; memories and registers; full custom and semi-custom ICs; standard cells, gate arrays, FPGAs and PLDs. CAD tools for design of ICs; high level design of ICs using VHDL; low power IC design.

CMPE461 - Applied Neural Computing
Introduction to neural networks, perceptron learning rules, backpropagation algorithms, generalization and overtraining, adaptive linear filters, radial basis networks, self organizing networks, learning vector quantization, recurrent networks.

CMPE462 - Introduction to Artificial Intelligence
Agent paradigm, problem solving by searching, informed/uninformed search methods, genetic algorithms, simulated annealing, constraint satisfaction problems, adverserial search, logical agents, knowledge engineering, expert systems, communication, AI applications.

CMPE463 - Digital Signal Processing
Discrete-time domain and frequency domain representation of signals and systems; sampling and reconstruction; DFT, FFT, z - transform, filter design techniques; finite word length effects; 2-D filtering; applications of DSP; programming of some DSP processors.

CMPE464 - Digital Image Processing
Introduction to signal and image processing, introduction to digital image processing, sampling, reconstruction, and quantization, digital image representation, image transforms, enhancement, restoration, segmentation and description.

CMPE465 - Knowledge Engineering
Knowledge representation methods: rule-based, graph-based, logic-based methods, introduction to Prolog, knowledge acquisition, expert systems, ontology, semantic web, introduction to machine learning.

CMPE466 - Soft Computing
Biological and artificial neurons, perceptron and multilayer perceptron; ANN models and learning algorithms; fuzzy sets and fuzzy logic; basic fuzzy mathematics; fuzzy operators; fuzzy systems: fuzzifier, knowledge base, inference engine, and various inference mechanisms such as Sugeno, Mamdani, Larsen etc., composition and defuzzifier.

CMPE467 - Pattern Recognition
Bayes decision theory, classifiers, discriminant functions and decision surfaces, estimation of parameters, hidden Markov models, nearest neighbor methods; linear discriminant functions; neural networks; decision trees; hierarchical clustering; self organizing feature maps.

CMPE473 - Computer Graphics
Hardware and software components of graphic systems; output and filled data primitives; 2D and 3D geometric transformation; 2D and 3D viewing pipelines; visible-surface detection methods.

Non-Technical Elective Courses

GE1 - General Elective

GE2 - General Elective

GE3 - General Elective

Service Courses Given to Other Departments

CMPE101 - Introduction to Computers and Programming
Basics of information systems, computer software, computer hardware: CPU, memory units, and I/O devices, internet and networking, basic programming concepts, hands-on experience of application software and internet through laboratory sessions.

CMPE102 - Computer Programming
Programming concepts: data types, arithmetic expressions, assignment statements; input/output functions; library functions; selection and repetition statements; user-defined functions; arrays and strings.

CMPE103 - Introduction to Computers
Fundamentals of information systems, system and application software; input, processing, storage, output and communication; exploring the windows environment; networking and communication; internet applications; use of applications software: word processing and creating presentations, integrating and sharing information between applications.

CMPE104 - Computers and Information Systems
Introduction to spreadsheets: creating, and formatting a worksheet; formulas and functions; graphs and charts; ?what-if? analysis; overview of database and database management systems; relational database model; database objects; tables, queries, forms, and reports; storing, sorting, and updating information; querying database tables; integrating a

CMPE105 - Introduction to Computers and Information Systems
Fundamentals of information systems, system and application software; input, processing, storage, output and communication; exploring the windows environment; learning management systems; internet applications; use of applications software: word processing, spreadsheets and creating presentations, integrating and sharing information between applica

CMPE106 - Computer and Information Systems
Introduction to Microsoft Excel (create workbooks, spreadsheets, formulas, functions, formatting, graphs); introduction to HTML and web design (insert Text, graphics, templates and designing from blank pages, insert tables, hyperlink, creating, checking and manipulating forms, manipulating files and folders, navigation bars, themes, shared borders,

CMPE185 - Introduction to Computers and Information Systems
Fundamentals of information systems, system and application software; input, processing, storage, output and communication; exploring the windows environment; learning management systems; internet applications; use of applications software: word processing, spreadsheets and creating presentations, integrating and sharing information between

CMPE301 - Introduction to Database Management Systems
Database concepts, database management systems (DBMS); relational data model and relational DBMS; use of ER-diagrams in database design; normalizing relations; structured query language (SQL); a popular DBMS in a laboratory environment.

CMPE338 - Computer Networks & Operating Systems
Basic concepts of computer networking, UDP and TCP services, reliability in data communication, network layer addressing, segment, datagram, frame structures, processes, scheduling algorithms, deadlock detection algorithms, semaphores, basic virtual memory structure and page replacement algorithms.

Service Courses Taken From Other Departments

CEAC 105 - General Chemistry
Introduction: Matter and Measurement. Atoms, Molecules and Ions. Stoichiometry: Calculations with Chemical Formulas and Equations. Oxidation-Reduction Reactions. Thermochemistry. Electronic Structure of Atoms. Periodic properties of the Elements. Basic Concepts of Chemical Bonding. Molecular Geometry and Bonding Theories. Gases. Intermolecular Forces, Liquids and Solids. Chemical Kinetics. Chemical Thermodynamics. Electrochemistry.

EE203 - Digital Circuits & Systems
Number systems and codes. Boolean algebra and logic gates. Minimization of Boolean functions. Combinational circuits. Design of combinational circuits using SSI and MSI components. Flip-flops. Analysis and design of sequential circuits. Counters. Shift registers. Memory elements. Programmable Logic Devices (PLD). Design with PLDs. Introduction to Hardware description Languages.

ENG101 - English for Academic Purposes I
ENG101 consists of academic skills, such as reading comprehension, vocabulary building and critical analysis of texts. In this frame, listening and note-taking, class discussions, presentations, writing, research assignments and use of technology are some of the important activities.

ENG102 - English for Academic Purposes II
ENG102 elaborates on academic skills such as reading comprehension, listening, class discussions about the topic of the unit, vocabulary building and critical analysis of texts. It also includes research assignments and response paper and graph writing. Skills like listening and note-taking, analysis of written products, portfolio keeping and use of technology are elaborated in this course, as well.

ENG201 - English for Academic Purposes III
The course consists of mainly advanced reading and writing skills, applying critical reading skills and strategies, identifying the organization of a reading text, main ideas of the texts, and the author’s main purpose, summarizing a given text, outlining and writing an argumentative essay. Some parts of the input are in flipped learning mode.

ENG202 - English for Academic Purposes IV
This course includes research-based report writing skills. The content includes types of reports and models; the choice of topics, formation of thesis statements, writing paraphrases and summaries, preparation of report outlines, evaluation of print and electronic sources, in-text and end-of-text citation, report presentation in oral and written format. Flipped learning method is utilised to a great extent.

ENG301 - English For Professional Communication I
This course includes job-related communication skills. In this frame, the functions such as, describing relationships at work, discussing performance reviews and giving feedback, discussing plans and arrangements, using social media for professional communication, discussing on recruitment tests and job interviews, presenting a service or product, writing reviews on websites, writing job-related e-mails are dealt with.

ENG302 - English For Professional Communication II
This course includes more detailed job-related communication skills. In this frame, describing and organising meetings, developing communicational styles in various cultural settings, handling mistakes and apologizing, getting familiar with marketing styles and advertising, deciding how to adapt and market a product in different countries, preparing different types of presentation (speech), discussing workplace dilemmas and rules, writing job-related e-mails are dealt with.

HIST 221 - History of Civilization
Analysis of the importance of theuse of technology in human evolution and the emergence of early civilizations; ancient societies from Ancient Egypt to Greece as the cradles of modern civilizations; some classical texts of certain key authors –Machiavelli, Hume, Descartes, Hobbes, Bacon, Locke, Rousseau, etc. As outstanding contributions to the history of enlightenment; some groundbreaking scientific texts of Copernicus, Galileo, and Newton to understand the contribution of scientific thought to the progression of civilization.

HIST111 - Principles of Ataturk and History of Turkish Revolution I
A history of the foundation of the Turkish Republic in the light of Mustafa Kemal Atatürk’s principles and basic terms, concepts and events of modern Turkey history in a period covering 16‐20th centuries in comparison with world and global history in the same period of time.

HIST112 - Principles of Ataturk and History of Turkish Revolution II
A history of the foundation of the Turkish Republic in the light of Mustafa Kemal Atatürk’s principles and basic terms, concepts and events of modern Turkey history in a period covering 16‐20th centuries in comparison with world and global history in the same period of time.

IE 220 - Probability and Statistics
Introduction to probability and statistics. Random variables and probability distributions. Expected value. Sampling distributions. One and two sample estimation problems. Test of hypotheses. Simple linear regression.

MATH151 - Calculus I
Preliminaries, Limits and Continuity, Differentiation, Applications of Derivatives, L'Hopital’s Rule, Integration, Applications of Integrals, Integrals and Transcendental Functions, Integration Techniques, and Improper Integrals.

MATH152 - Calculus II
Sequences, Infinite Series, Vectors in the Plane and Polar Coordinates, Vectors and Motions in Space, Multivariable Functions and Their Derivatives, Multiple Integrals: Double Integrals, Areas, Double Integrals in Polar Form, Triple Integrals in Rectangular, Cylindrical and Spherical Coordinates.

MATH275 - Linear Algebra
Linear Equations and Matrices, Real Vector Spaces, Inner Product Spaces, Linear Transformations and Matrices, Determinants, Eigenvalues and Eigenvectors.

MATH276 - Differential Equations
First Order, Higher Order Linear Ordinary Differential Equations, Series Solutions of Differential Equations, Laplace Transforms, Linear Systems of Ordinary Differential Equations, Fourier Analysis and Partial Differential Equations.

MATH380 - Numerical Methods for Engineers
Solution of Nonlinear Equations, Solution of Linear Systems, Eigenvalues and Eigenvectors, Interpolation and Polynomial Approximation, Interpolation by Spline Functions, Least Square Approximation, Numerical Differentiation, Numerical Integration.

PHYS 101 - General Physics I
Measurement; Motion Along a Straight Line; Vectors; Motion in Two and Three Dimensions; Force and Motion I; Force and Motion II; Kinetic Energy and Work; Potential Energy and Conservation of Energy; Center of Mass and Linear Momentum; Rotation; Rolling, Torque, and Angular Momentum; Equilibrium and Elasticity.

PHYS 102 - General Physics II
Electric Charge; Electric Fields; Gauss' Law; Electric Potential; Capacitance; Current and Resistance; Circuits; Magnetic Fields; Magnetic Field due to Currents; Induction and Inductance

SE 346 - Software Engineering
Software Project Management: Metrics, Estimation, Scheduling, Planning. Software Requirement Analysis Techniques. Software Design Techniques. Software Implementation. Software Quality Assurance and Testing. Software Maintenance. Software Configuration Management. Risk Management in Software Development Projects. Recent Trends and Methods in Software Engineering. Introduction to CASE tools.

TURK 401 -

TURK 402 -