PhD Courses

Course Code Course Name Description Prerequisite(s)
CENG 501 Introduction to Statistical Data Processing

Organization and application of computers and statistical techniques to data processing. Data handling in terms of coding, preparation, acquisition (with and without computers), screening and reduction; summarization, tabulation and analysis; random variables, statistical estimation and hypothesis testing, enumerated data analysis, linear models (regression, correlation, analysis of variance).

Data; Classification, Summarization and Tabulation of Data; Descriptive Statistics and Coding
Introduction to Probability
Conditional Probability, Random Variables, Expected Values
Discrete Distibutions, Binomial, Negative Binomial and Poisson Distibutions
Continuous uniform, Normal, Gamma, Exponential and Weibull Distributions.
Introduction to Statistical Inference, Point Estimation, Interval Estimation
Tests of Hypotheses, Large Sample Tests
Tests of Hypotheses, Single Sample Tests, Two Sample Tests
Tests of Hypotheses, Small Sample Tests
Analysis of Categorical Data (Chi-Square Tests)
Simple Linear Regression and Correlation
Introduction to Multiple Linear Regression
Introduction to Experimentation, Analysis of Variance
CENG 502 System Modeling and Computer Simulation

Introduction, System concept, System modeling, Monte Carlo technique, definition and selection of system input variables, generation and examination of random numbers, generation of random variables, Discrete System simulation, Discrete System Simulation Software.

Simulation vs Monte Carlo, Nature of Computer Simulation, When to Use Simulation
Systems, Models
Review of Basic Statistics and Random Variables
Review of Parameter Estimation and Testing Hypotheses
Goodness of Fit Tests
Selecting Input Probability Distributions
Random Numbers, Generation of Random Numbers, Testing Random Number Generators
Techniques of Generating RV s, Inverse Transform Technique ad other methods
Table Look-up Procedures for Normal Distribution, Direct Transformation for Normal Distribution
Generating RV’s from other Continuous Distributions
Generating RV’s from Discrete Distributions
Discrete Event Simulation, Concepts
Programming Languages for Simulation
CENG 503 Computer Applications in Medicine and Biology

The analysis and design of Hospital Information Systems. The mathematical, physical and Physiological basis for algorithms used in medicine, imaging and biological modeling. Topics in computer modeling of organs will be chosen from the brain, heart, nervous system, sense organs etc.

Application fields of computers in medicine and biology
Medical data and information
Computer Networks in medicine
Bio signal analysis
Patient centered information systems
Clinical support systems
Planning, modelling and development of hospital information systems
Medical decision support systems
Processes and differential equations
Computer vision in medicine
System theory
Medical imaging techniques
Classification and treatment of medical raw data
Electronic medical records
CENG 504 Optimization Methods

Linear programming, nonlinear programming, iterative methods and dynamic programming are presented, especially as they relate to optimal control problems. Discrete and continuous optimal regulators are derived from dynamic programming approach which also leads to the Hamilton-Jakobi-Bellman Equation and the Minimum Principle. Linear quadratic regulators, linear tracking problems and output regulators are treated. Linear observer and the separation theorem are developed for controller implementation.

Introduction to optimization
Mathematical Review I : Vectors and Matrices
Mathematical Review II : Calculus
Unconstrained optimization, tek boyutlu arama
golden section, Fibonacci, Newton s method
gradient search methods: Steepest-descent, Newton s method, Least squares analysis
Constrained optimization
Linear Programming
Evaluation and Review
Non-derivative optimization, heuristic optimizastion methods
Neural networks, simulated annealing
Term project presentations and discussions I
Term project presentations and discussions II
Term project presentations and discussions III
CENG 505 Advanced Computer Networks

Overview of computer networks, wireless networks, OSI, Internet model, TCP-UDP/IP, wireless TCP, mobile IP, IPv6, congestion control, QoS services, multicast routing, supports for real-time communication, network security, future trends in networks.

Introduction to Computer Networks
Overview of Networks
OSI layers, Internet model, Layer 1 and Layer 2
Wireless Networks
TCP-UDP, wireless TCP and modifications
IP, mobile IP, IPv6
Routing – I
Routing – II
Performance Measurements, Traffic Analysis, Simulation
Congestion control and QoS schemes
Multicasting, Real-Time Communication Protocols
Security Issues
Future Networks and Protocols
Term Project Presentations and Discussions
CENG 506 Deep Learning

This course covers methods for designing and training deep neural networks. The course content includes the historical evolution of deep neural networks, their fundamental working principles and image classification and object detection and recognition in images using convolutional neural networks.

History of artificial neural networks and introduction
Image classification with linear methods – I
Image classification with linear methods – II
Backpropagation – I
Backpropagation – II
Training artificial neural networks I: data preprocessing, weight initialization and regularization, batch normalization and loss functions
Training artificial neural networks II: gradient checking, babysitting the training process, update methods, hyper-parameter optimization
Convolutional neural networks – I
Convolutional neural networks – II
Spatial localization and object detection with convolutional neural networks
Visualization and understanding of convolutional neural networks
Recurrent neural networks
Training convolutional networks in practice: Data augmentation, transfer learning
Deep neural network coding frameworks
CENG 507 Introduction to Biometric Recognition

This course covers biometric recognition and identification methods and systems. The course content includes the historical evolution of biometric recognition, the fundamental principles of biometric recognition systems and basic face and fingerprint recognition algorithms.

History of person recognition and introduction of biometrics
Biometric systems
Biometric functionalities
Biometric performance measures
Introduction to fingerprint recognition
Feature extraction for fingerprint
Fingerprint matching
Introduction to face recognition
Facial image acquisition and preprocessing
Face detection
Facial feature extraction
Face matching
Handling facial variations
Face modeling
CENG 508 Digital Image Processing

This course covers the materials required to process and enhance photographic images, remote sensor multispacial scanner data and others. Topics include transform techniques, records and discriminate function.

Concepts in Image Processing
Digital Image Representation
MATLAB Tutorial and Image Representation in MATLAB
Image Noise and Filtering
Binary Image Processing
Image Segmentation
Fourier Transform and Its Applications
Image Enhancement
Mid-term Exam
Edge Detection
Corner Detection
Camera Geometry and Calibration
Feature Matching and Epipolar Geometry
Project Presentations
CENG 509 Vision Based Tracking and Modeling

This course covers the tracking of object and camera positions from images and videos by using computer vision techniques. Course contents include the mathematical theory and the algorithms used in practice necessary for modeling the objects and scene to be tracked.

Introduction to Tracking
Optical Flow and Lucas-Kanade Tracker
Template Tracking Basics
Advanced Template Tracking
Kalman Filter I
Kalman Filter II
Particle Filters
Introduction to Modeling
Sparse Models
3D Modeling
Semi-Dense models
Simultaneous Localization and Mapping I
Simultaneous Localization and Mapping II
Relocalization Approaches
CENG 511 Advanced Information Theory

This course will begin by explaining the methods of types. It will then address the rate distortion theory. It will also cover multiple-users channels and channels with random parameters. Finally, correlated source encoding will be provided.

Method of types
Method of types, large deviation theory
Large deviation theory, conditional limit theorem
Conditional limit theorem, joint and conditional types
Strongly typical sets
Strongly typical sets, rate distortion theory
Rate distortion theory
Rate distortion theory
Rate distortion function
Multiple descriptions
Wyner-Ziv problem
Slepian-Wolf problem
Multiple-Access Channel
Multiple-Access Channel
CENG 512 Advanced Theory of Computation

This course will begin by explaining the different models of computation. It will then address the Church-Turing thesis. The course also will cover the topics of decidability and reducibility. Finally, detailed information is provided about complexity and related concepts.

Introduction and Overview
Math Review
Finite Automata and Regular Languages
Context-Free Languages and Pushdown Automata
Turing Machines and the Church-Turing Thesis
Catch-up and review
Time complexity, P, and NP
Catch-up and review
Space complexity
Parallel complexity
CENG 513 Compiler Design and Construction

This course deals with the theory and practice of compiler design. It will address the topics of scanning and parsing. Semantic analysis will also be covered.

Introduction to Compilers
Introduction to Compiler Project
Lexical Analysis
Implementing Lexer
Context-free Grammars
Ambiguity, Abstract Syntax Trees
Top-down Parsing
Top-down Parsing
Bottom-up Parsing
Bottom-up Parsing
LR Parsing
Overview of Semantic Analysis
Type Checking and Inference
CENG 514 Computational Number Theory

Fundamentals, Algorithms for Congruences, Equations, and Powers, Euler’s Φ Function and Coding, Second Degree Congruences, Prime Numbers, Quadratic Residues, Continued Fractions, Algorithms for Primality Testing, Finding Large Primes, Elliptic Curves, Factoring Algorithms, Algorithms for Exponential Methods of Factoring Integers, Subexponential Factoring Algorithms, Computing Discrete Logarithms.

Basic Properties of Integers
Basic Integer Arithmetic, Faster Integer Arithmetic
Computation with large integers
Asymptotic notation, Machine models and complexity theory
Euclid s Algorithm
Prime Numbers
Abelian Groups
Finite and Discrete Probability
Hash Functions
Probabilistic Algorithms
CENG 515 Topics in Computer Science

Topics from advanced areas will be discussed in a seminar format. Contents may vary.

Biometrics in Authentication
CMMI (The Capability Maturity Model)
Next Generation Networks
Software Measurements and Metrics
SQA (Software Quality Assurance)
WAP (Wireless Application Protocol)
Distance Education
Fuzzy Logic
Genetic Algorithms
Intrusion detection systems with neural networks
Using Genetic Algorithms for FPS Bots
Cloud computing
Virtual reality
Artificial intelligence
CENG 516 Advanced Programming Languages

Design and implement new language features, to precisely understand the rationale for existing features in modern languages, and to understand how design decisions can impact implementations.

Introduction to programming languages
Syntax and semantics I
Syntax and semantics II
Denotational semantics
Type theory I
Type theory II
Lambda calculus I
Lambda calculus II
Axiomatic semantics I
Axiomatic semantics II
Verifying program properties with theorem provers
Logic programming I
Logic programming II
CENG 517 Classics Works in Computer Science

Gödel’s undecidability theorem, computability, game theory ideas, information theory basics, graphs, networks, new directions in cryptography, the Antikythera mechanism, declarative programming, relational database model, machines and intelligence, computational complexity.

Gödel’s Undecidability Theorem
On Computable Numbers, with an Application to the Entscheidungsproblem by Alan M. Turing
Simulating Physics with Computers Richard P. Feynman
Non-Cooperative Games by John Nash
A Mathematical Theory of Communication by Claude E. Shannon
Paths, Trees, and Flowers by Jack Edmonds
New Directions in Cryptography by Whitfield Diffie and Martin E. Hellman
As We May Think by Vannevar Bush
Recursive Functions of Symbolic Expressions and Their Computation by Machine by John McCarthy
Computing Machinery and Intelligence by A.M. Turing
A Theory of the Learnable by L.G. Valiant
A Lattice Model of Secure Information Flow by Dorothy E. Denning
In Search of Lost Time Decoding the ancient Greek astronomical calculator known as the Antikythera Mechanism High Tech from Ancient Greece
CENG 518 Introduction to Research Methodology and Ethics

Empirical computer science. Basic research methodology. Research and experimental questions. Experimental evaluation. Ethics in research. Study of the larger ethical and social issues of computing, including the role of a digital society in the modern world.. Practical and theoretical applications of computer privacy and reliability. Ethical theory and its application to problems in computing.

Introduction to Research Methods
The Science in Computer Science, What is Experimental Computer Science?
Empirical Research
Exploratory Data Analysis
Basic Issues in Experiment Design
Hypothesis Testing and Estimation
Computer-intensive Statistical Methods
Introduction to Ethics
Introduction to Sociotechnical Computer Ethics
Ethics in Research
Professional Ethics in Computing
Computer Reliability Principles and Case Studies
CENG 521 Advanced Operating Systems

Operating systems review, process synchronization, distributed system communication, synchronization  in distributed systems, distributed algorithms, static and dynamic scheduling in distributed systems, group communication, fault tolerance, distributed real-time systems.

The Rise of “Worse is Better”
Eraser: A Dynamic Data Race Detector for Multithreaded Programs
Experience with Processes and Monitors in Mesa
Threads cannot be implemented as a library
Cooperative Task Management without Manual Stack Management
Practical, Transparent, Operating System Support for Superpages
Memory Resource Management in VMware ESX Server
Enhancing Server Availability and Security Through Failure-Oblivious Computing
A Comparison of Software and Hardware Techniques for x86 Virtualization
The Design and Implementation of a Log-Structured File System
Rethink the Sync (slides)
Eliminating Receive Livelock in an Interrupt-Driven Kernel
An Efficient Fault-Tolerant Mechanism for Distributed File Cache Consistency
A Low-Bandwidth Network File System
CENG 522 Advanced Embedded System Design

Nature of embedded systems, their role in computer engineering; special and general purpose microprocessor design, embedded microcontrollers, embedded software; real time systems, problems of timing and scheduling; testing and performance issues, reliability; design methodologies, software tool support for development of such systems; problems of maintenance and upgrade; introduction to Application Specific Integrated Circuit (ASIC) Design, VHDL.

Introduction to Embedded System Design
Review of Digital Logic and Computer Architecture Concepts
FPGA design; VHDL Programming Language
Single and General Purpose Datapath Design
Microprocessor Concepts and Design
Embedded System Design with Microcontrollers
Real-Time Kernels
Modeling and Verification of RT Embedded Systems
Data Acquisition and Digital Signal Processing Applications
Control Systems
Embedded Software Development
Documentation, Software Re-Use and Continuous Improvement
Fault-Tolerance Techniques
Recent Developments and Research
CENG 523 Advanced Topics of Real Time Systems

Real-Time software design issues, real-time operating systems, real-time scheduling algorithms, formal methods in software specification, modeling and verification using timed-automata, software design, programming languages, testing, performance analysis and optimization, documentation, software re-use, fault-tolerance.

Introduction to Real-Time Systems
Basics of Developing Software for Real-Time Systems
Real-Time Operating Systems I
Real-Time Operating Systems II
Software Requirements Engineering
Model Checking Issues
Software Design
Summary and Examination
Programming Languages
Performance Analysis and Optimization
Safety-Critical Systems and Fault-Tolerance
Documentation, Software Re-Use and Continuous Improvement
Term Project Presentations and Discussions
CENG 524 Advanced Computer Architecture

Basic principles of processor design, instruction set architecture, pipelining, design of advanced memory hierarchies, multithreading, task-level and instruction-level parallelism, inter-processor communication models, multiprocessors, future trends.

Computer Systems Overview
Instruction Set Arcitecture: Datapath and Controller
Pipelining, Instruction-Level Parallel (ILP) Architecture
Lab Exercise: General Purpose Processor Design
Thread-Level Parallelism
Timing Issues in a Computer System
Lab Exercise: Multiprocessors
Caches and Memory Hierarchy
Interconnection Networks
Review and Future Trends
Presentations and Discussions of Self-Studies
CENG 525 Fault Tolerant Computing

Fault modeling, testing and redundancy techniques to achieve fault tolerance in computer systems, error detection, failure recovery, error coverage, current research in the field.

Week Topics
1 Introduction to fault tolerance
2 Digital circuits and fault modeling
3 Testing for combinational and sequential circuits
4 Testing of microprocessor based systems
5 Error detection, self-checking modules
6 Malfunction diagnosis, redundancy
7 Midterm
8 Software reliability
9 Resilient algorithms
10 Error coverage
11 Vulnerability discovery
12 Failure recovery
13 Current research in the field
14 Current research in the field
CENG 531 Advanced Artificial Intelligence

Approaches to AI; higherorder logic; planning; expert systems; environment of AI systems; soft computing in AI systems; nonsymbolic learning; natural language processing; intelligent agent; multiagent system; semantic web; robotics.

Alternative AI Approaches
Higher-order Logic
Expert Systems
Environment Modelling
Soft Computing
Non-Symbolic Learning
Natural Language Processing
Intelligent Agent
Multi-Agent System
Semantic Web
CENG 532 Expert Systems and Knowledge Engineering

Introduction to the various techniques used in building an expert systems. Topics covered include: knowledge representation methods, production systems, inference procedures, uncertainty and evidence combination, expert systems architectures and control, knowledge acquisition, programming languages for expert systems, and various case studies.

Knowledge Representation
Language Processing
Knowledge Acquisition
Expert System Architechtures
Production Systems
Intelligent Agents
Knowledge Organisation
Decision Support Systems
CENG 533 Probabilistic Reasoning

Graphical Probability Models. Bayesian Reasoning. Bayesian Networks. Learning in Bayesian Networks. Knowledge Engineering. Temporal Models. Inference in Dynamic Bayesian Networks. Markov Decision Processes.

Graphical Probability Models
Representing Knowledge in an Uncertain World
Bayesian Reasoning
Inference in Bayesian Networks
Learning in Bayesian Networks
Summary and Examination
Knowledge Engineering
Bayesian Network Applications
Temporal Models
Inference in Dynamic Bayesian Networks
Markov Decision Processes
Partially Observable Markov Decision Processes
Project Presentations
CENG 534 Deep Learning for Natural Language Processing

Natural language processing (NLP) is one of the most important technologies of the information age. In traditional NLP, task-specific feature engineering and language-specific solutions were common. Recently, deep learning approaches have obtained very high performance across many different NLP tasks and multilingual solutions have been introduced. This course covers cutting-edge research in deep learning applied to NLP. Topics include word vector representations, window-based neural networks, recurrent neural networks, long-short-term-memory models, recursive neural networks, convolutional neural networks as well as some very novel models involving a memory component. A term project to implement, train, test, and visualize a custom neural network solution to a large scale NLP problem will be given.

Week Topics
1 Intro to NLP and Deep Learning
2 Simple Word Vector representations: word2vec, GloVe
3 Advanced word vector representations: language models, softmax, single layer networks
4 Neural Networks and backpropagation — for named entity recognition
5 Practical tips: gradient checks, overfitting, regularization, activation functions, details
6 Recurrent neural networks — for language modeling and other tasks
7 Recursive neural networks — for parsing
8 Review Session for Midterm
9 Convolutional neural networks — for sentence classification
10 Guest Lecture: Speech Recognition
11 Guest Lecture: Machine Translation
12 Guest Lecture: Seq2Seq and Large Scale DL
13 The future of Deep Learning for NLP: Dynamic Memory Networks
14 Project Presentations
CENG 541 Advanced Database Management Systems

Relational theory and extensions, such as relational calculus, relational algebra, higher order normal forms; advanced DBMS concepts, such as integrity, recovery, concurrency, security, query optimisation; object-oriented databases; distributed databases, related techniques and protocols, such as data replication, data fragmentation, synchronisation, load balancing; parallel databases; deductive databases; federated databases and homogeneity/heterogeneity.

Relational Model
Query Processing
Query Optimization
Query Optimization
Locks & Concurrency
Concurrency Management
Parallel Databases
Distributed Databases
Temporal Databases
Data Mining
Data Cubes
Web Search Engines
CENG 542 Knowledge Discovery

Knowledge discovery and data mining, data warehousing, data preparation and data mining primitives, concept description, mining association rules in large databases, classification and prediction, cluster analysis, web mining, applications in data mining.

Knowledge Discovery
Data Mining in General
Data Warehousing Models and Techniques
Data Preparation
Data Mining Primitives
Concept Description
Association Rule Mining
Association Rule Mining
Classification and Prediction
Classification and Prediction
Cluster Analysis
Cluster Analysis
Web Mining
Data Mining Applications
CENG 543 Information Retrieval Systems

This course covers the components of information retrieval systems that are used to search within document collections that contain unstructured data. Information retrieval from text documents as well as documents containing rich media (such as images and video) is included in the course contents.

Boolean Retrieval
Dictionaries and Tolerant Retrieval
Index Construction and Compression
Scoring, Term Weighting, and the Vector Space Model
Evaluation in Information Retrieval
Relevance Feedback and Query Expansion
Probabilistic Information Retrieval
Language Models
Text Classification
Document Clustering
Web Search Basics
Link Analysis
Indexing Images and Video Data
Information Visualization
CENG 544 Large-Scale Data Management

This course introduces the fundamental concepts and computational paradigms of large-scale data management. This includes major methods for storing, updating and querying large datasets as well as for data-intensive computing. The course covers concepts, algorithms, and system issues on the topics of parallel and distributed databases, peer-to-peer data management, MapReduce and its ecosystem, Spark and dataflows, datalakes and NoSQL databases.

CENG 551 Advanced Software Engineering

This course will begin by explaining the concept of software engineering. Afterwards, the software development process is described. The course will then cover software requirements, software specification, software analysis, and formal analysis. Finally, quality management, product metrics, process metrics, COTS, and software psychology are addressed.

The Problem
Process and Life Cycle Models
Requirements and Specification I
Requirements and Specification II
Design I
Design II
Building Confidence (Testing, Analysis, QA, Reviews)
Metrics and Reliability Assessment
COTS and Reuse
Formal Verification
Team Organization and People Management
Software Engineering Aspects of Programming Languages
Software Safety and Wrapup
Case Studies
CENG 552 Software Testing

Fundamentals of software testing; software test process and continuous quality improvement; Test generation using finite state models; Test adequacy assessment using black box and white box criteria; applications of model based testing.

Introduction to software verification and validation
Software testing overview and classifications
Functional(black box) testing I
Functional(black box) testing II
Structural (white box) testing I
Structural (white box) testing II
Mutation testing
Model-based testing
Integration testing
Regression testing
Overview of test case generation
Overview of test processes
Testing tools and test automation
Software reliability modeling
CENG 555 Analysis and Design of Microservice Based Systems

Service Orientation Web Services Microservice Based Architectures Event Oriented Analysis Designing Microservice Based Systems Reactive Systems.

Week Topics
1 Service Orientation
2 Service Oriented Architecture
3 Service Design Principles and SOA Benefits
4 Evolution of the Web Service
5 Programmable Web
6 Resource Oriented Architecture
7 Evolution of Services to Microservices
8 Domain Driven Design
10 Event Oriented Modeling
11 Advanced Event Oriented Modeling Concepts
12 An Event Oriented Analysis Method
13 Reaktif Sistemler
14 Design Patterns for Microservice Based Systems
15 Advanced concepts
CENG 556 Software Management

This course focuses on two advanced aspects of software management; organizational change and software measurement. Primary topics include software process improvement frameworks, agile maturity models, software process modeling languages, software measurement and social aspects of organizational change. Students participate in a modelling and organizational assessment project to as well as gain hands on experience on measurement and prediction for software projects.

Week Topics
1 Concepts of Quality Improvement
2 Quality Control to Quality Assurance to Quality Management
3 Adding Value through Quality Management
4 Software Subcultures
5 Maturity Models
6 Agile Maturity Models
7 Changing Patterns
8 Process Modelling Notations
9 Process Modelling
10 Measurement Theory
11 Measuring Quality
12 Software Size Measurement and Prediction
13 Barriers to Organizational Change
14 Knowledge Based Organizations, Learning Organizations
CENG 557 Advanced Software Design Patterns

This course focuses on advanced software design patterns. Primary topics include advanced object-oriented programming principles, object-oriented design patterns, patterns of enterprise application architecture, enterprise integration patterns, and patterns related to domain-driven design. Students will learn concepts of modern software development with design patterns and participate in development of a mid-size programming project working in teams.


Week Topics
1 Introduction to Object-Oriented Analysis and Design
2 Inheritance and Polymorphism with Abstract Classes and Interfaces
3 Object Oriented Programming Principles
4 Architectural Design Pattern – Model View Controller
5 Observer Design Pattern
6 Creational Design Patterns
7 Structural Design Patterns
8 Behavioral Design Patterns
9 Introduction to Patterns of Enterprise Application Architecture
10 Object-Relational Design Patterns
11 Introduction to Enterprise Integration Patterns
12 Messaging Design Patterns
13 Introduction to Domain Driven Design
14 Microservice Design Patterns
CENG 561 Advanced Information Security

Concepts and applications of system and data security. Topics include risks and vulnerabilities, policy formation, controls and protection methods, database security, encryption, authentication technologies, host-based and network-based security issues, personnel and physical security issues, issues of law and privacy. Areas of particular focus include secure network design, implementation and transition issues, and techniques for responding to security breaches.

Introduction Module 1: Introduction to Computer Security and Assurance
Introduction Module 1: Introduction to Computer Security and Assurance
Introduction Module 1: Introduction to Computer Security and Assurance
Module 2: Policies
Module 2: Policies
Module 3: Cryptography and Key Management
Module 3: Cryptography and Key Management
Module 3: Cryptography and Key Management
Module 4: Authentication and Access Control
Module 4: Authentication and Access Control
Module 5: Network Security and Intrusion Detection
Module 5: Network Security and Intrusion Detection
Course Project completion
Course Project completion
CENG 562 Internet Security

Internet security overview; Basic encryption techniques; TCP/IP security; Authentication protocols; Electronic mail security; Web security; Network management security; Firewalls; Intrusion detection systems, Internet security management tools.

Introduction to computer network security
Symetric encryption
Asymetric encryption
Access control
Distributed acess control
E-mail security
IP security with IPSEC
Security in network management
Attacts to computer networks
Firewall policies
Technologies used with firewalls (NAT, VPN)
Attact an intrusion detection systems 1
Attact an intrusion detection systems 2
CENG 563 Database and Software Security

Developments, issues, and challenges in secure databases and secure software applications. Security models, fundamentals and practices for databases and software.

Introduction to software security
Software vulnerabilities I
Software vulnerabilities II
Secure software development methodology
Secure software analysis and design
Secure software implementation, testing and auditing
Code Inspection
Static analysis
Common Criteria
Introduction to database security
Access control
Role-based access control
Label security
CENG 564 Information Systems Policy, Management and Organization

Strategy, Security, National/International Crypto Strategy and Policy, Export/Import Restrictions on Cryptographic Equipments, Information Management and Policy, Information Systems Strategy/Security Standards and Policies, Computer Emergency Response Teams (CERTs), Continuity Planning, Disaster Recovery Standards and Policies, Organizations, NGOs and Think Tanks, Informations Systems Open Source Intelligence, Strategy/Policy Making Software and Simulators, Electronic Commerce, Certification Authorities, Electronic Notery, Electronic Money.

Introduction to information systems management
Evolution of information systems management
Information systems management models and frameworks
Information technologies governance
Information systems planning I
Information systems planning II
Organizational models for information systems
Standards and procedures
Legal issues
Financial issues
Quality management of information systems
Policy based management of information systems I
Policy based management of information systems II
Trust management in information systems
CENG 565 C4I and Information Warfare

Concepts, Terminology, Command-Control-Communications-Computers and Intelligence (C4I ) Structure, Aims and Threats, Attacks and Defenses in Cyber Space, Economic – Psychological and Intelligence Warfare, Information Warfare Strategy, Intelligence and Counterintelligence in Cyber Space, Cyber Terrorism.

Concepts of Information in Warfare
Information and War: Is it a Revolution?
The New Face of War, Cyberwarfare: Connecting the Dots in Cyber Intelligence
Art of War : Sun Zi s Military Methods
Know Thy Enemy
Learning from the Enemy
Who’s Calling? Deriving Organization Structure from Communication Records
Means and Ways: Practical Approaches to Impact Adversary Decision-Making Processes
Breakdown of Control—Common Malfunctions of Organizational Decision-Making
Propagation of Defeat—Inducing and Mitigating a Self-Reinforcing Degradation
Gossip Matters—Destabilization of an Organization by Injecting Suspicion
Crystal Ball
Organizational Armor—Design of Attack-resistant Organizations
CENG 566 Privacy Enhancing Technologies

Data privacy is an important issue for the scientific community and industry. This course will give an overview of privacy concepts and terminology as well as concrete examples of privacy-enhancing technologies (PET) and some of their applications.

CENG 600 PhD Thesis

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

CENG 608 3D Photography

This course covers algorithms and applications to extract 3D information (especially shape) from images. It starts with the camera model and calibration, 2D and 3D projective geometries and extracting feature points. Then it covers passive 3D reconstruction techniques such as single view reconstruction, structure from motion, shape from silhouettes. Active sensing techniques (time of flight cameras, structured light, laser scanners etc.) that directly obtain 3D data are also briefly covered.

Camera models and calibration
Feature point extraction and matching
Feature point tracking and optical flow
2D projective geometry
RANSAC and image alignment using feature points (image warping)
3D projective geometry and epipolar geometry
Two-view and multi-view structure-from-motion
3D simultaneous localization and mapping
Depth extraction with stereo matching
Image segmentation
3D reconstruction
Active sensing techniques
CENG 611 Advanced Design and Analysis of Algorithms

This course examines a variety of theoretical issues that have important practical consequences in the design and analysis of algorithms. We emphasize the importance of asymptotic analysis and the common methodology used in the analysis of sequential and parallel algorithms. We will analyze the factors that influence the performance of algorithms on different computer architectures (such that many cores and parallel computers and high performance computers) and their implications on scientific applications of interest. We will survey major design strategies used in the complexity analysis of different algorithms. New models for parallel computation will be studied and critically evaluated. The complexity and limitations of these models will be discussed.

CENG 612 Category Theory in Computer Science

This course aims to provide foundations on the mathematical theory of categories as needed in applications to computer science. On completion of this course students should be learn the basic language and proof methods of category theory, and thereby be able to read and study research papers in computer science that use and/or are based on category theory.

CENG 613 Research Methods in Computer Science

What is research; Research process models; Intellectual discovery; Research methods; Who is Who in Computer Science Research; Reading research papers; Structure of research papers; Literature searches; Bibliographies and referencing; Research presentations; Research project proposal; Research project planning; Risk management; Legal, social and ethical issues.

CENG 631 Cognitive Computing

Human brain; cognitive concepts, models and architectures; mathematical models for cognitive concepts; modelling evolution of mind; collaborative cognition; cognitive machines.

Human Brain
Problem Decomposition
Denotational Mathematics
Cognitive Environment
Cognitive Concepts
Behavioural Architectures
Cognitive Architectures
Evolution of Mind
Computational Intelligence
Cognitive Machines
CENG 632 Computational Intelligence

Bayesian networks; chaos theory; smart behaviours; hybridisation and hybrid systems.

CENG 641 Data Integration

This course will begin by explaining the different reasons that make data integration hard: systems, logical and social reasons. The course will then cover the fundamentals of data integration, such as languages for resolving heterogeneity, automatic schema mapping techniques, query processing in heterogeneous systems and novel architectures for data integration. Finally, the commercial state of the art in this area and data spaces will be discussed.

What is Data Integration?
Challenges in Data Integration
Modelling Data Sources
Modelling Data Sources
Automatic Schema Mapping
Query Processing in Data Integration Systems
Query Processing in Data Integration Systems
Query Optimization in Data Integration Systems
Query Optimization in Data Integration Systems
Architectures for Data Integration
Architectures for Data Integration
Commercial Data Integration Systems
Evolution of Data Integration Systems
CENG 642 Privacy Preserving Data Mining

Due to the combinatorial nature of the problem, the proposed methodologies span from simple, time and memory efficient heuristics and border-based approaches, to exact hiding algorithms that offer guarantees on the quality of the computed hiding solution at an increased, however, computational complexity cost.

Introduction to Privacy Preserving Data Mining and Association Rule Hiding
Background (Terminology and Preliminaries)
Classes of Association Rule Hiding Methodologies
Other Knowledge Hiding Methodologies
Heuristic Approaches
Border Based Approaches
Max–Min Algorithms (BBA Algorithm)
Max–Min Algorithms (Other)
Exact Hiding Approaches (Menon’s Algorithm)
Exact Hiding Approaches (Inline Algorithm)
Exact Hiding Approaches (Two–Phase Iterative Algorithm)
Exact Hiding Approaches (Hybrid Algorithm)
Exact Hiding Approaches (Paralelization Framework)
Quantifying the Privacy of Exact Hiding Algorithms
CENG 643 Pattern Discovery in Data Mining

This course introduces students to different aspects of pattern discovery (frequent pattern mining or pattern mining or association rule mining) which is the earliest and most popular task of data mining where the objective is to find hidden frequent patterns in massive data. Frequent patterns are important in many domains like market-basket analysis, software bug mining, web click analysis, phrase mining, image processing, recommender systems, etc. The course will cover the key aspects of the field in terms of algorithms, variations, scalability, data types and applications. The topics include frequent patterns, pattern usage in compression, patterns in dynamic data (streams, sequences and spatiotemporal objects), big data frequent pattern mining, frequent patterns in classification and clustering and privacy in pattern mining.


CENG 651 Formal Methods for Safety and Security

Introduction to Formal Methods, Propositional Logic and Predicate Logic, Program Verification, CSP process algebra, Protocol Verification, Model Checking, System Modeling with Automata, System Properties Specification with Temporal Logics, Model Checking Algorithms, Symbolic Model Checking, Abstraction Methods, SPIN Model Checker.

Introduction to Formal Methods
Propositional Logic and Predicate Logic
Program Verification
Program Verification
CSP process algebra
Protocol Verification
Model Checking
System Modeling with Automata
System Properties Specification with Temporal Logics
Model Checking Algorithms
Model Checking Algorithms
Symbolic Model Checking
Abstraction Methods
SPIN Model Checker
CENG 661 Advanced Asymmetrical Cryptosystems

This course follows on from the introductory cryptography course. In that course cryptographic algorithms were introduced according to the properties they possessed and how they might fit into larger security architecture. In this unit, the most popular and widely deployed algorithms are studied and highlighted design and cryptanalytic trends over the past twenty years. This course is, by necessity, somewhat mathematical and some basic mathematical techniques will be used. However, despite this reliance on mathematical techniques, the emphasis of the module is on understanding the more practical aspects of the performance and security of some of the most widely used cryptographic algorithms.

CENG 662 Advanced Symmetrical Cryptosystems

The aim of this course is to prepare the students for the design and analysis of symmetrical cryptosystem. Therefore the students should be know the analysis of the security level of these cryptosystem and which cryptanalytic attacks are how much efficient on it.

CENG 663 Cryptanalysis

The aim of this course is to prepare the students for the design and analysis of any cryptosystem. Therefore the students should be know the analysis of the security level of the cryptosystem and which cryptanalytic attacks are how much efficient on it.

CENG 690 Advanced Seminar

The aim of this course is that students could gain knowledge via literature search, make the report and present it as a seminar. Besides, this course aims to inform students about presentation techniques, format and outline. The course is composed of the research, analyze, data collecting and reporting the results of the master student relating to the specific subject the student aims to study.