ECTS - Computer Engineering MSc. with Thesis
Compulsory Departmental Courses
CMPE541 - Advanced Databases (3 + 0) 5
Database system concepts, transaction processing, concurrency control and database recovery, object-oriented and object-relational databases, semi-structured data and XML, parallel and distributed databases, advanced concepts of distributed databases, introduction to big data, temporal databases.
CMPE318 - Java Programming (2 + 2) 5
Java technology, object-oriented programming, objects, classes, modularity; encapsulation, polymorphism, elements of Java, exceptions, garbage collector; classes and inheritance; interfaces; the collections framework; the input/output framework; the graphical user interfaces framework; threads.
CMPE341 - Database Design and Management (3 + 2) 7
Database system concepts, data modeling with ER and EER, the relational data model, file organizations and index structures, relational algebra, structured query language (SQL); database design: functional dependence and table normalization; introduction to database administration; a relational DBMS in a laboratory environment.
CMPE431 - Operating Systems (3 + 2) 5
Basic design principles of operating systems, single-user systems, command interpreter, semaphores, deadlock detection, recovery, prevention and avoidance; multi-user OS; resource managers, processor management and algorithms, memory management: partitioning, paging, segmentation and thrashing; device management; interrupt handlers, device drivers
CMPE525 - Object-Oriented Design and Programming (3 + 0) 5
Thinking object-oriented, abstraction, object-oriented analysis and design concept, design patterns, UML: introduction, role of modeling, models and views, core diagrams, fundamental elements, sequence, class, and package diagrams, development lifecycle, Java and UML: Responsibility-Driven Design (RDD), and CRC, classes, messages, inheritance, sub
CMPE531 - Advanced Operating Systems (0 + 0) 5
Advanced topics in process scheduling, multiprocessor and real-time scheduling, concurrent programming fundamentals, review of inter-process communication, semaphores and monitors, synchronization and communication, fault tolerance, recent advances in operating systems.
CMPE536 - Advanced Network Programming (3 + 0) 5
Introduction to networking, overview of programming language that will be used to implement course content, threads and multi threading, exceptions, sockets, web sockets, streaming, file streaming, memory I/O streams, object streaming, client-side networking, server-side networking, HTTP networking, message queuing, synchronous and asynchronous com
CMPE537 - Distributed Computing (3 + 0) 5
Introduction to the core concepts and principles of distributed programming techniques, computing paradigms, protocols, and application program interfaces (APIs), sockets, multicast, Remote Method Invocation (RMI), Common Object Request Broker Architecture (CORBA), Interface Definition Language (IDL), applets, servlets, Common Gateway Interface (CG
CMPE555 - Introduction to Recommender Systems (3 + 0) 5
Basic Concepts of recommender systems, collaborative filtering algorithms, content-based recommendation algorithms, knowledge-based recommendation algorithms, and hybrid recommendation algorithms, evaluating recommender systems, a case study to generate personalized recommendations.
CMPE563 - Information Retrieval (3 + 0) 5
Organization, representation, and access to information; categorization, indexing, and content analysis; data structures for unstructured data; design and maintenance of such databases, indexing and indexes, retrieval and classification schemes; use of codes, formats, and standards; analysis, construction and evaluation of search and navigation tec
CMPE566 - Advanced Data Mining (3 + 0) 5
Introduction to data mining, concepts, attributes and instance, data processing (cleaning, integration and reduction), data warehousing and online analytical processing (OLAP), data mining algorithms, credibility, advanced pattern mining, classification, engineering the input and output, data mining software and applications.
CMPE568 - Advanced Artificial Intelligence (3 + 0) 5
Intelligent agents, problem solving by searching, informed/uninformed search methods, exploration, constraint satisfaction problems, knowledge and reasoning, first-order logic, knowledge representation, learning, selected topics: neural networks, natural computing.
CMPE571 - Biometric Identification and Verification Systems (3 + 0) 5
Biometric identification and verification, performance calculations of biometric systems, fingerprint verification, face recognition, iris and retina based identification, hand geometry and DNA based identification, multimodal biometric systems, biometric system standards.
CMPE575 - Parallel and Cluster Computing (3 + 0) 5
Models of parallel computing ? dependence on architecture, trade-off between computation cost and communication cost, performance measures for parallel computation ? computational complexity, techniques for parallel computation ? divide and conquer, partitioning, and pipelining, parallel algorithms for sorting, searching and matrix computations, MP
CMPE578 - Penetration Testing (3 + 0) 5
Penetration testing concepts, ethical issues in penetration testing, building a testing infrastructure, legal issues with penetration testing, port scanning, vulnerability scanning, exploitation, password attacks, web application penetration testing, wireless penetration testing, reporting of the obtained test results.
CMPE579 - Current Trends in Internetworking Technologies (3 + 0) 5
Overview and history of the community organizations related to internet technologies and standard organizations, open and proprietary standards, widely used current techniques and technologies in internet, latest technologies under development, latest techniques and their states that are under development and discussed by the communities.
EE425 - Advanced Digital Design with HDL (2 + 2) 5
Behavioural, dataflow and structural modelling of digital circuits with Verilog HDL. Language constructs of Verilog. Design of finite state machines with data path using Verilog. Introduction to modern CAD tools. Simulation and verification of digital circuits.
ISE314 - Data Warehousing and Mining (3 + 0) 5
Data warehousing fundamentals, planning, design and implementation and administration of data warehouses, data cube computation, OLAP query processing; fundamentals of data mining and relationship with data warehouse and OLAP systems; association rule mining; algorithms for clustering, classification and rule learning.
ISE424 - Distance Education and E-Learning (3 + 0) 5
Definitions, history, and theories of distance education and e-learning, instructional design, tools and technologies for distance education, multimedia learning, computer-supported collaborative learning, learning management systems, new directions and developments.
ISE502 - Organizational Management and Change (3 + 0) 5
Organizational behavior and management; personality and learning; perception, attribution and judgment of others; values, attitudes and work behavior, theories of work motivation, motivation in practice; groups and teamwork; leadership; communication; decision making, conflict and stress; organizational structure, change management principles: spon
ISE511 - IT Strategy Planning and Governance (3 + 0) 5
The IT strategic planning process; structuring the strategic planning process, analyzing the business environment; identifying the mission and competencies of your organization; assigning value and weight to enterprise objectives; reviewing established IT portfolios; measuring your IT governance maturity; aligning IT to your business objectives, de
MDES610 - Mathematical Modeling via Differential and Difference Equations (3 + 0) 5
Differential equations and solutions, models of vertical motion, single-species population models, multiple-species population models, mechanical oscillators, modeling electric circuits, diffusion models, modeling by means of difference equations.
SE321 - Object-Oriented Analysis and Design (3 + 0) 7
Fundamentals of object-orientation, object-oriented (OO) modeling using UML, Experimentation in OO analysis: identification of use cases and objects, experimentation in OO design: class hierarchies, implementation in OO programming, design pattern (overview), case study to reinforce the underlying concepts.
SE422 - Introduction to Data Science (3 + 0) 5
Python programming language for data science, data scraping, data manipulation, data visualization, use of vectors and matrices in data science, review of statistical concepts for data science, conditional probability, Bayes?s theorem, normal distribution, prediction, regression, classification and clustering.
SE427 - Blockchain and Cryptocurrency Technologies (2 + 2) 5
Introduction.Blockchain Basics.Consensus Algorithms.Cryptography Fundamentals.Blockchain Networks. Blockchain Programming. Blockchain Transactions, Mining, and Wallets. Smart Contracts. Cryptocurrencies. Blockchain Applications. Decentralization. Blockchain Security. Legal Aspects, Finance, and Economy. Future of Blockchain Technologies.
SE544 - Cognitive Aspects of Software Engineering (3 + 0) 5
Introduction to cognitive science and its methods; cognitive processes related to software engineering (memory, expertise, attention, decision making and problem solving, team cognition); basic experimental design; case studies on cognitive aspects of software engineering research.
SE550 - Software Engineering (3 + 0) 5
Introduction to software engineering and related topics; software process and project metrics; project planning; scheduling and tracking; configuration management; software quality assurance; requirement analysis; data flow diagrams and related topics; design concepts and methods; implementation; testing methods and test strategies; object-oriented
SE554 - Software Quality Management (3 + 0) 5
Introduction to software quality and assurance; components of software quality assurance; configuration management; reviews, inspection and audits; software testing strategies and techniques; software quality standards; certification and assessment; introduction of case studies related with software process improvement and quality metrics.
SE560 - Requirements Engineering (3 + 0) 5
Domain understanding and requirements eliciation; requirements evaluation; requirements specification and documentation; requirements quality assurance; requirements evolution; modeling system objectives with goal diagrams; risk analysis on goal models; modeling system agents and responsibilities; modeling system behaviours; integrating multiple sy