**M.S. in Computer Engineering with Thesis**

- COM 500 Master Thesis (NC-Non Credit)
- COM 591 Graduate Seminar (NC-Non Credit)
- 2 core courses (theory and research area)
- 5 elective courses
- Total minimum credit: 21
- Minimum number of courses with credit: 7

**M.S. in Computer Engineering without Thesis**

- COM 590 Graduate Project (NC-Non Credit)
- 2 core courses (theory and research area)
- 8 elective courses
- Total minimum credit: 30
- Minimum number of courses with credit: 10

**Ph.D. in Computer Engineering**

- COM 600 Ph.D. Dissertation (NC-Non Credit)
- COM 591 Graduate Seminar (NC-Non Credit)
- 2 core courses (theory and research area)
- 5 elective courses
- Total minimum credit: 21
- Minimum number of courses with credit: 7

Prof. Dr. Rahib Abiyev

Prof. Dr. Adil Amirjanov

Prof. Dr. Fakhreddin Sadikoglu

Prof. Dr. İlkay Salihoğlu

Prof. Dr. Dogan Akay

Assoc. Prof. Dr. Fa’eq Radwan

Assist. Prof. Dr. Kaan Uyar

Assist. Prof. Dr. Ümit İlhan

Assist. Prof. Dr. Elbrus İmanov

Assist. Prof. Dr. Boran Sekeroglu

Assist. Prof. Dr. Tayseer Alshanableh

Assist. Prof. Dr. Hüseyin Sevay

Assist. Prof. Dr. Ali Denker

Assist. Prof. Dr. Besime Erin

Assist. Prof. Dr. Melike Sah Direkoglu

Prof. Dr. Adil Amirjanov

Prof. Dr. Fakhreddin Sadikoglu

Prof. Dr. İlkay Salihoğlu

Prof. Dr. Dogan Akay

Assoc. Prof. Dr. Fa’eq Radwan

Assist. Prof. Dr. Kaan Uyar

Assist. Prof. Dr. Ümit İlhan

Assist. Prof. Dr. Elbrus İmanov

Assist. Prof. Dr. Boran Sekeroglu

Assist. Prof. Dr. Tayseer Alshanableh

Assist. Prof. Dr. Hüseyin Sevay

Assist. Prof. Dr. Ali Denker

Assist. Prof. Dr. Besime Erin

Assist. Prof. Dr. Melike Sah Direkoglu

**Graduate Courses**

Core Courses:

Core Courses:

Code | Name | Credit |
---|---|---|

COM555 | Theory of Computation | 3 (3-0) |

COM501 | Advanced Mathematics for Engineers | 3 (3-0) |

COM524 | Scientific Research Methods | 3 (3-0) |

COM521 | Numerical Analysis | 3 (3-0) |

**Elective Courses:**

Code | Name | Credit |
---|---|---|

COM500 | MS Thesis | NC |

COM502 | Expert Systems | 3 (3-0) |

COM503 | Fuzzy Systems | 3 (3-0) |

COM505 | Statistical Methods | 3 (3-0) |

COM507 | Artificial Neural Networks | 3 (3-0) |

COM508 | Advanced Image Processing | 3 (3-0) |

COM509 | Parallel Computing | 3 (3-0) |

COM514 | Genetic Algorithms | 3 (3-0) |

COM515 | Design and Analysis of Algorithms | 3 (3-0) |

COM519 | Softcomputing | 3 (3-0) |

COM520 | Pattern Recognition | 3 (3-0) |

COM522 | Cryptography and Network Security | 3 (3-0) |

COM525 | Linear and Non-linear Programming | 3 (3-0) |

COM528 | Advanced Microprocessors | 3 (3-0) |

COM534 | Advanced Microcontroller Programming | 3 (3-0) |

COM536 | Machine Vision | 3 (3-0) |

COM541 | Advanced Software Engineering | 3 (3-0) |

COM556 | Semantic Web Technologies | 3 (3-0) |

COM590 | Graduate Project | NC |

COM591 | Graduate Seminar | NC |

COM600 | PhD Dissertation | NC |

**COM 500 Master Thesis (NC)**

Program of research leading to M.S. degree, arranged between a student and the faculty member. Students register to this course in all semesters starting from the beginning of their third semester while the research program or write-up of the thesis is in progress.

**COM 501 – Advanced Mathematics for Engineers (3-0) 3**

Review of Vector Algebra, Complex Numbers, Laplace Transforms and Fourier Series. Review of Ordinary Differential Equations. Variations of Parameters and Cauchy-Euler Differential Equations. Beta and Gamma Functions. System of Linear Diffrerential Equations. Partial Differential Equations and Probability.

**COM502 – Expert Systems (3-0) 3**

The evaluation of artificial intelligence systems. Decision making. Expert System (ES) characteristics. Architecture of ES. Hybrid ES. Knowledge representation in ES. Representation of knowledge by Object-attribute value triplets, Semantic networks, Frames, Logic programming, Neural networks, Production rules. Inference engine, forward and backward chaining mechanisms. Knowledge acquisition. Uncertainty, fuzzy ES. ES shells. Application of ES for solving different problems.

**COM 503 – Fuzzy Systems (3-0) 3**

Fuzzy Sets. Mathematical Background of Fuzzy Systems. Representation of Fuzzy Sets. Properties of Fuzzy Sets. Fuzzy Relations and Functions. Fuzzy Arithmetic. Fuzzy Modelling. Decision Making in Fuzzy Conditions. Fuzzy Control Systems. Design Examples. Computer Simulations of Fuzzy Systems. Problems Using C++ and Matlab.

**COM 505 – Statistical Methods (3-0)3**

Descriptive Statistics. Estimation. Inferences on Population Means. Inferences on Population Proportions. Simple Regression and Correlation. Multiple Linear Regression. Analysis of Variance. Design and Analysis of Multifactor Experiments. Statistical Quality Control.

**COM 507 – Artificial Neural Networks (3-0) 3**

Artificial Intelligence Computing. Expert systems. Neural networks. Biological background. Character recognition. Classification of neural networks. Supervised learning. Unsupervised learning. Neural simulation of logic gates. The Perceptron. Back propagation algorithm. Mathematical foundation for implementing Backpropagation algorithm. Hamming algorithm. Hopfield algorithm. Kohonen’s algorithm. Adaline. Delta rule. Error minimization. The XOR problem.

**COM 508 – Advanced Image Processing (3-0) 3**

Image Modelling. Two-Dimensional Signal Analysis. Image Processing Techniques. Image Enhancement. Image Compression. Image Manipulation. Image Recognition. Region Extractions and Edge Detections. Problems Using C and Matlab. Laboratory Experiments.

**COM 509 – Parallel Computing (3-0)3**

This course provides a comprehensive study of scalable and parallel computer architectures for achieving a proportional increase in performance with increasing system resources. System resources are scaled by the number of processor used, the memory capacity enlarged, the access latency tolerated, the I/O bandwidth required, the performance level desired, etc. The course includes: Processors and memory Hierarchy- Bus, Cache, and Shared Memory – Pipelining and Superscalar Techniques – Instruction Pipeline Design.

**COM 514 – Genetic Algorithms (3-0) 3**

Genetic algorithms based on principles from evolution theory are powerful and broadly applicable stochastic search and optimization techniques. Genetic algorithms belong to the larger class of evolutionary algorithms (EA), which generate solutions to optimization problems using techniques inspired by natural evolution, such as inheritance, mutation, selection, and crossover. The course is tended to introduce the central aspects of genetic algorithms and their applications to difficult-to-solve optimization problems in engineering and systems design.

**COM 515 Design and Analysis of Algorithms (3-0)3**

Algorithm design techniques, The computational complexity of algorithms. Approaches for designing algorithms: Divide-and-Conquer, Greedy Approach, Dynamic Programming, Amortized analysis. Lower and upper bound theory, Dynamic Programming, Backtracking and Branch-and-Bound. NP-Complete and NP-Hard problems. Approximation algorithms.

**COM519 – Softcomputing (3-0) 3**

Elements of Softcomputing. Hybrid intellectual systems. Fuzzy logic, fuzzy and linguistic modeling. Neural systems, neural modeling. Genetic algorithms, gentic operators. Chaos theory. Fuzzy neural networks and their learning. Neuro-genetic systems. Fuzzy-genetic systems. Neuro-fuzzy-genetic systems. Modelling and application of Softcomputing elements for solving different engineering problems.

**COM520 – Pattern Recognition (3-0) 3**

An introduction to the pattern recognition. Statistical Pattern Classification: Decision Theoretic approach, Template Matching, Feature Analysis, Linear and Nonlinear Decision surface approach. Decision boundaries, classifiers, and discriminant functions. Probabilistic Approach: Bayes Decision Theory. Syntactic Pattern Classification: Parsing, Pattern Grammar Analysis and Representation, Language analogy grammar and Picture description grammar. Estimation of parameters. Clustering. Classification algorithms, Feature selection. Neural networks recognizers. Neural Networks for Intelligent Pattern Recognition. Assignments will be given to design an Pattern Recognition System using C-language or MATLAB.

**COM 521 – Numerical Analysis (3-0) 3**

Difference equations. Numerical solution of initial value problems in ordinary differential equations and stability of methods. Numerical solution of linear, non-linear boundary value problems in ordinary differential equations. Numerical Solution of parabolic, hyperbolic and elliptic partial differential equations. Selected algorithms will be performed for solution on computer.

**COM522 Cryptography and Network Security (3-0) 3**

Cryptographic algorithms. Public key encryption, differential and linear cryptanalysis, the Advanced Encryption Standard, Cryptographic hash functions, authentication protocols, key distribution protocols, key management, security protocol pitfalls, Internet cryptography, IP sec., SSL/TLS, e-mail security, firewalls.

**COM 524 Scientific Research Methods (3-0) 3**

A brief introduction to characteristics, types and scheduling of research. Research planning and design. Methodologies of research design. Measurement, data analysis. Presenting the results of research.

**COM 525 Nonlinear Programming (3-0) 3**

Optimization Models Linear Programming . Feasibility and Optimality. Duality and Sensitivity . Representation of Constraints. The Simplex Method . Network Problems. Unconstrained Optimization. Newton’s Method. Methods for Unconstrained Optimization. Nonlinear Least-Squares Data Fitting. Optimality Conditions for Constrained Problems. The Lagrange Multipliers and the Lagrangian Function. Optimality Conditions for Nonlinear Constraints . Feasible-Point Methods. Sequential Quadratic Programming. Reduced-Gradient Methods. Penalty and Barrier Methods. Interior-Point Methods for Linear and Convex Programming

**COM 528 – Advanced Microprocessor (3-0) 3**

Introduction to microprocessors, 8-bit microprocessor architecture, 8085 and Z80 instruction sets, microprocessor programming examples,16-bit microprocessor architecture, 8086 instruction set, programming examples, microprocessor interfacing techniques, memory, input-output, and interrupts.

**COM 534 Advanced Microcontroller Programming (3-0) 3**

Microcontrollers versus microprocessors, microcontroller architectures, types of microcontrollers, microcontroller system development cycle, basic microcontroller programming in C, microcontroller interface programming, microcontroller interrupt handling mechanisms, using external interrupts, using timer interrupts, microcontroller C programming in real-time, advanced real-time programming for parallel and serial input-output, microcontroller busses, microcontroller system design examples using C.

**COM 536 – Machine Vision (3-0) 3**

Image, its properties, analysis, preprocessing. Regions and Edges. Curves and surfaces. Shape representation. Dynamic vision. Object recognition, Image understanding. 3D vision. Geometry and radiometry of 3D vision. 3D model based vision. Mathematical morphology of machine vision. Texture description and recognition. Motion analysis. Optical flow in motion analysis. Problems Using C and Matlab. Laboratory Experiments.

**COM541 – Advanced Software Engineering (3-0) 3**

This course is designed to present students with an overview of advanced topics in Software Engineering. The course will describe modern methods of software development, process models, assessment methodologies and tools. Different concepts in software engineering covering an overview of topics in software life cycle, project planning, software management, requirements capture and analysis, human factors, functional specification, software architecture, design methods, programming for reliability and maintainability, testing methods, configuration management, system delivery and maintenance, process and product evaluation and improvement and project documentation. Approaches for software development, namely the structured paradigm and the object-oriented paradigm, will be discussed. Software process, software life-cycle models and phases using objected-oriented approaches will be emphasized.

**COM555 – Theory of Computation (3-0) 3**

Introduction to theory of computation, automata theory, computability theory and complexity theory. Mathematical notions, terminology and definitions. Definition and examples of finite automata, designing finite automata and regular expressions.Turing machines, Church-Turing thesis, decidability and reducibility. Complexity theory: Classes P, NP and NP-Completeness.

**COM556 – Semantic Web technologies (3-0) 3**

In this course students will be introduced to the Semantic Web vision, as well as, the languages and tools useful in Semantic Web programming. They will understand how this technology revolutionizes the World Wide Web and its uses. Ontology languages (RDF, RDF-S and OWL) and technologies (explicit metadata, ontologies, logic, and inference) will be covered. In addition, students will be exposed to; ontology engineering, application scenarios, Semantic Web Query Languages, Description Logic and state of the art Semantic Web applications, such as linked data development. Student will also learn how to develop semantic applications with Java and Jena APIs.

**COM 590 Graduate Project (0-4) NC**

This course must be taken by all students in the M.S. without thesis program. Students have to prepare a project given by faculty.

**COM 591 Graduate Seminar (0-2) NC**

This course are designated for all the students of M.S. with thesis program. The students taking the course are required to make presentations on their project studies and prepare reports.

**COM600 Ph.D. Dissertation (NC)**

Program of research leading to Ph.D. degree, arranged between a student and the faculty member. Students register to this course in all semesters preferably starting from the beginning of the third semester while the research program or write-up of the dissertation is in progress.