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).
|
|||||||||||||||||||||||||||||||
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.
|
|||||||||||||||||||||||||||||||
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.
|
|||||||||||||||||||||||||||||||
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.
|
|||||||||||||||||||||||||||||||
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.
|
|||||||||||||||||||||||||||||||
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.
|
|||||||||||||||||||||||||||||||
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.
|
|||||||||||||||||||||||||||||||
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.
|
|||||||||||||||||||||||||||||||
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.
|
|||||||||||||||||||||||||||||||
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.
|
|||||||||||||||||||||||||||||||
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.
|
|||||||||||||||||||||||||||||||
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.
|
|||||||||||||||||||||||||||||||
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.
|
|||||||||||||||||||||||||||||||
CENG 515 | Topics in Computer Science | Topics from advanced areas will be discussed in a seminar format. Contents may vary.
|
|||||||||||||||||||||||||||||||
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.
|
|||||||||||||||||||||||||||||||
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.
|
|||||||||||||||||||||||||||||||
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.
|
|||||||||||||||||||||||||||||||
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.
|
|||||||||||||||||||||||||||||||
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.
|
|||||||||||||||||||||||||||||||
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.
|
|||||||||||||||||||||||||||||||
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.
|
|||||||||||||||||||||||||||||||
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.
|
|||||||||||||||||||||||||||||||
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.
|
|||||||||||||||||||||||||||||||
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.
|
|||||||||||||||||||||||||||||||
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.
|
|||||||||||||||||||||||||||||||
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.
|
|||||||||||||||||||||||||||||||
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.
|
|||||||||||||||||||||||||||||||
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.
|
|||||||||||||||||||||||||||||||
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.
|
|||||||||||||||||||||||||||||||
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.
|
|||||||||||||||||||||||||||||||
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.
|
|||||||||||||||||||||||||||||||
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.
|
|||||||||||||||||||||||||||||||
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.
|
|||||||||||||||||||||||||||||||
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.
|
|||||||||||||||||||||||||||||||
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.
|
|||||||||||||||||||||||||||||||
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.
|
|||||||||||||||||||||||||||||||
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.
|
|||||||||||||||||||||||||||||||
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.
|
|||||||||||||||||||||||||||||||
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.
|
|||||||||||||||||||||||||||||||
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.
|
|||||||||||||||||||||||||||||||
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.
|
|||||||||||||||||||||||||||||||
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.
|
|||||||||||||||||||||||||||||||
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.
|
|||||||||||||||||||||||||||||||
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.
|
|||||||||||||||||||||||||||||||
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. |