Undergraduate Program Course List

Compulsory Departmental Courses

Technical Elective Courses

Service Courses Given to Other Departments

Service Courses Taken From Other Departments

Compulsory Departmental Courses

COMPE 100 - Fundamentals of Computer Engineering
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 fundamentals and the Internet. Classification of Programming Languages.

COMPE 113 - 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 will be developed in a laboratory environment using the C language.

COMPE 114 - Computer Programming II
Pointers. Dynamic memory management. Parameter passing. Arrays. Strings. Structures. File processing. Application programs will be developed in a laboratory environment using the C language.

COMPE 225 - 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 will be introduced using the UML and C++ programming language.

COMPE 226 - 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.

COMPE 231 - Digital Circuits and Systems
Number systems: binary, octal and hexadecimal number systems and their base conversion, and complement notation. Coding systems: BCD, ASCII, excess-3, and Gray codes. Boolean Algebra: theorems and properties of Boolean algebra, canonical and standard forms of Boolean expressions. Digital logic gates. Minimization of Boolean functions. Combinational circuit design. Sequential circuit design: flip-flops, registers, counters, and memory units.

COMPE 236 - 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.

COMPE 251 - 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.

COMPE 323 - 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.

COMPE 325 - 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 will be introduced by means of functional, procedural, and object-oriented programming languages.

COMPE 326 - 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.

COMPE 331 - 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. Input/Output: I/O modules, programmed I/O, interrupt drive I/O, DMA, I/O channels and processors.

COMPE 334 - 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.

COMPE 341 - 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 will be introduced in a laboratory environment.

COMPE 350 - Numerical Methods
Approximation in computations. Truncation and round-off error. Numerical solution of algebraic equations. Methods for the solution of system of linear equations: Gaussian elimination, LU-decomposition, and iterative methods. Matrix inversion. Interpolation: Lagrange, Newton, and Gauss formulas. Spline interpolation. Numerical integration: Trapezoidal, Simpson’s, and Romberg methods. Application programs will be developed in a laboratory environment using MATLAB.

COMPE 399 - 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.

COMPE 431 - 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 and controllers. Management of secondary storage. File handling. Data and program security and protection. Basic concepts of distributed systems.

COMPE 493 - 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.

COMPE 494 - Senior Project
Project Analysis and Design, Project Development, Project Management, Team Working, Project Presentation.

COMPE 499 - 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 the six weeks period.

Technical Elective Courses

COMPE 343 - 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.

COMPE 376 - 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 a game.

COMPE 422 - 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.

COMPE 423 - 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.

COMPE 424 - 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. Storage allocation. Static and dynamic allocations. Code generation. Techniques for optimization in compilers. Scanner and parser generators.

COMPE 432 - Virtualization
Types of Virtualization, Hardware Virtualization, Hypervisors, Server Virtualization, Desktop Virtualization, Storage Virtualization, Application Virtualization, OS Virtualization requirements and techniques, Benefits and costs, Security Issues.

COMPE 434 - 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, Lab work on specific realizations.

COMPE 435 - 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.

COMPE 437 - 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.

COMPE 438 - Java Programming
Java Technology, Elements of Java, Object-Oriented Programming. Objects. Classes. Modularity. Encapsulation. Polymorphism. Inheritance. Exceptions. Generics, Abstract Classes and Interfaces. The Collections Framework. The Input/Output Framework. The Graphical User Interfaces Framework. Threads. Lambda Expressions, Stream Filtering, Method References

COMPE 461 - 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.

COMPE 462 - Introduction to Artificial Intelligence
Agent paradigm. Problem solving by searching. Informed/Uninformed search methods. Genetic Algorithms. Simulated Annealing. Constraint satisfaction problems. Adversarial Search. Logical Agents. Knowledge Engineering, Expert Systems. Communication. AI applications.

COMPE 463 - 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.

COMPE 464 - 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.

COMPE 465 - 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.

COMPE 467 - 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.

COMPE 473 - Computer Graphics
Hardware and software components of graphic systems. Output and filled data primitives. 2D and 3D geometric transformations. 2D and 3D viewing pipelines. Visible-surface detection methods.

COMPE 474 - 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.

Service Courses Given to Other Departments

COMPE 101 - 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 lab sessions.

COMPE 102 - 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.

COMPE 103 - 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.

COMPE 104 - Computers and Information Systems (Online)
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 and sharing information between applications.

COMPE 105 - 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 applications.

COMPE 107 - Computers 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, Editing pages, Publishing, Working with HTML Code). Introduction to Excel and Frontpage

COMPE 301 - 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 will be introduced in a laboratory environment.

Service Courses Taken From Other Departments

CHEM 102 - General Chemistry
By the 2016-2017 Fall Semester, this course has been replaced by CEAC 105.

EE 134 - Circuit Analysis
Definition of Engineering, and EEE. Basic Components and Electric Circuits, Voltage and Current Laws, Nodal Analysis, Superposition Theorem, Thevenin and Norton Techniques, Opamps and Opamp Circuits, Energy Storage Components(Capacitors) and RC Circuits, Logic Gates, Digital Circuits, Power and Energy Calculations, Some Techniques to Reduce Energy of Electronics, Electrical CAD softwares

EE 235 - Digital Electronics
Semiconductors, operation of p-n junction. Diode and BJT operation. BJT switching characteristics. Introduction to Digital integrated circuits. Logic components by DTL, TTL, ECL, and fan in/out. CMOS operation, logic components by CMOS. BiCMOS and GaAs circuits. Multivibrators and pulse generators. Static and Dynamic memory cells. Thermal effects and power dissipation in Integrated circuits. VLSI fabrication techniques.

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.

ENG204 - Report Writing Skills
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.

HIST 101 - Principles of Atatürk and History of Turkish Revolution I
The decline of the Ottoman Empire and the developments leading to the Turkish Revolution.

HIST 102 - Principles of Atatürk and History of Turkish Revolution II
Foundation of the Turkish Republic and principles of Mustafa Kemal Atatürk

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.

IE 305 - Engineering Economic Analysis
Economic analysis for engineering and managerial decision-making. Cash flows, effect of time and interest rate on money and physical assets. Methods of evaluating alternatives: present worth, future worth, annual worth, rate-of-return and benefit/cost ratios. Depreciation and taxes. Effects of inflation.

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.

ORY 400 - Participation in Social and Cultural Activities
Students must attend at least one social/cultural activity in each semester or at least two activities in each academic year. The activities are announced on the webpage of the departments. The students get an attendance certificate for the participation of each activity. To get a passing grade from this course, students should submit these certificates to their advisors.

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 101 - Turkish Language I
Historical development, structure, and usage of Turkish language, Practice on texts.

TURK 102 - Turkish Language II
Historical development, structure, and usage of Turkish language, Practice on texts