Courses

DOCTORAL PROGRAM IN COMPUTER ENGINEERING

COURSE DESCRIPTIONS

CENG 501 Introduction to Statistical Data Processing (3-0)3

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

CENG 502 System Modeling and Computer Simulation (3-0)3

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.

CENG 504 Optimization Methods (3-0)3

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.

CENG 505 Advanced Computer Networks (3-0)3

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.

CENG 503 Computer Applications in Medicine and Biology (3-0)3

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.

CENG 508 Digital Image Processing (3-0)3

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.

CENG 608 3D Photography (3-0)3

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.

CENG 511 Advanced Information Theory (3-0)3

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.

CENG 512 Advanced Theory of Computation (3-0)3

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.

CENG 513 Compiler Design and Construction (3-0)3

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.

CENG 514 Computational Number Theory (3-0)3

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.

CENG 515 Topics in Computer Science (3-0)3

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

CENG 516 Advanced Programming Languages (3-0)3

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.

CENG 517 Classics Works in Computer Science (3-0)3

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.

CENG 611 Advanced Design and Analysis of Algorithms (3-0)3

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 (3-0)3

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 (3-0)3

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 521 Advanced Operating Systems (3-0)3

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.

CENG 522 Advanced Embedded System Design (3-0)3

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.

CENG 523 Advanced Topics of Real Time Systems (3-0)3

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

CENG 524 Advanced Computer Architecture (3-0)3

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.

CENG 531 Artificial Intelligence (3-0)3

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.

CENG 532 Expert Systems and Knowledge Engineering (3-0)3

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.

CENG 533 Probabilistic Reasoning (3-0)3

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

CENG 631 Cognitive Informatics (3-0)3

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

CENG 632 Computational Intelligence (3-0)3

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

CENG 541 Advanced Database Management (3-0)3

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.

CENG 542 Knowledge Discovery (3-0)3

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.

CENG 543 Information Retrieval systems (3-0)3

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.

CENG 641 Data Integration (3-0)3

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.

CENG 642 Privacy Preserving Data Mining (3-0)3

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.

CENG 551 Advanced Software Engineering (3-0)3

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.

CENG 552 Software Testing (3-0)3

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.

CENG 651 Formal Methods for Safety and Security (3-0)3

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.

CENG 561 Advanced Information Security (3-0)3

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.

CENG 562 Internet Security (3-0) 3

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.

CENG 563 Database and Software Security (3-0)3

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

CENG 564 Information Systems Policy, Management and Organization (3-0)3

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.

CENG 565 C4I and Information Warfare (3-0)3

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.

CENG 661 Advanced Asymmetrical Cryptosystems (3-0)3

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 (3-0)3

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 (3-0)3

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 590 Seminar Non-Credit (0-2)
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 591 MSc Thesis Non-Credit (0-1)
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 8XX Special Studies Non-Credit (4-0)
MSc students choose and study a topic under the guidance of faculty member normally his/her advisor.

CENG 9XX Special Topics Non-Credit (4-0)
Graduate students as a group or a PhD student choose and study advanced topics under the guidance of a faculty member normally his/her advisor.