# CENG MS 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).

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

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

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

 Topics 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

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.

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

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

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

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

 Topics 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

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.

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

 Topics Introduction and Overview Math Review Finite Automata and Regular Languages Context-Free Languages and Pushdown Automata Turing Machines and the Church-Turing Thesis Decidability Catch-up and review Reducibility Time complexity, P, and NP NP-completeness Catch-up and review Space complexity Randomization 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.

 Topics Introduction to Compilers Introduction to Compiler Project Lexical Analysis Implementing Lexer FLEX 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.

 Topics Introduction Basic Properties of Integers Congruences Congruences Basic Integer Arithmetic, Faster Integer Arithmetic Computation with large integers Asymptotic notation, Machine models and complexity theory Euclid s Algorithm Prime Numbers Abelian Groups Rings 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.

 Topics 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

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.

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

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

 Topics 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 Privacy Wrap-up

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.

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

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

 Topics 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 Testing Performance Analysis and Optimization Safety-Critical Systems and Fault-Tolerance Documentation, Software Re-Use and Continuous Improvement Term Project Presentations and Discussions

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.

 Topics Computer Systems Overview Instruction Set Arcitecture: Datapath and Controller Pipelining, Instruction-Level Parallel (ILP) Architecture Lab Exercise: General Purpose Processor Design Scheduling Thread-Level Parallelism Timing Issues in a Computer System Multiprocessors Multiprocessors 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

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.

 Topics Overview Alternative AI Approaches Higher-order Logic Planning Expert Systems Environment Modelling Summary Soft Computing Non-Symbolic Learning Natural Language Processing Intelligent Agent Multi-Agent System Semantic Web Robotics
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.

 Topics Overview Knowledge Representation Corpus Uncertainty Language Processing Knowledge Acquisition Expert System Architechtures Production Systems Summary Ontologies Intelligent Agents Knowledge Organisation Decision Support Systems Robotics
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.

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

 Topics Relational Model Query Processing Query Optimization Query Optimization Indexing Indexing 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.

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

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

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.

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

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

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.

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

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

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

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

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

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.

 Topics 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 Shape-from-X 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.

 Topics Overview Human Brain Problem Decomposition Denotational Mathematics Cognitive Environment Cognitive Concepts Behavioural Architectures Cognitive Architectures Examination Evolution of Mind Computational Intelligence Learning Interaction 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.

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

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

 Topics 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