Master’s (M.S.) Courses

Master’s (M.S.) Courses

Course Code Course Name Description Prerequisite(s)
CENG 500 MSc Thesis

Program of research leading to MSc 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 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 Introductin 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 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
Semsantic 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 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 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 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

The policy based management for planning, developing, installing, operating, and maintaining information systems in organizations with focus on political, economic, technological, physical and organizational factors.

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 590 Seminar

This seminar course must be taken by all MSc students working towards their MSc thesis. The students taking the course are required to make presentations on their thesis studies and prepare progress reports and final reports. 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.

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