Courses given by the Department of Computer Engineering
Course Code | Course Name | METU Credit | Contact (h/w) | Lab (h/w) | ECTS |
---|---|---|---|---|---|
CNG52 | ANKARA CAMPUS EXCHANGE PROGRAM | 3 | 3.00 | 1.00 | 5.0 |
Course ContentFor course details, see https://catalog2.metu.edu.tr. | |||||
CNG70 | TRANSFER COURSE | 3 | 0.00 | 0.00 | |
Course ContentFor course details, see https://catalog2.metu.edu.tr. | |||||
CNG100 | INTRODUCTION TO INFORMATION TECH. AND APPLICATIONS | 0 | 2.00 | 0.00 | 1.0 |
Course ContentTo introduce all METU NCC students to the information technology basic and concepts and up to date applications in their freshman year, preparing them to use these skills during their undergraduate studies in their respective disciplines, as well as professional lives. | |||||
CNG101 | COMPUTER ENGINEERING ORIENTATION | 0 | 2.00 | 0.00 | 1.0 |
Course ContentAn orientation course to provide counsel to the students about the Department and Computer Engineering in general. An introduction to ethical and legal issues related to computer programs. An introduction to the faculty and their activities. Visit to several Computer Centers in and outside the University. | |||||
CNG111 | INTRODUCTION TO COMPUTER ENG. CONCEPTS | 4 | 3.00 | 2.00 | 4.0 |
Course ContentIntroduction to fundamentals of Computer systems, including Computer organization, operating systems, language processors and user interfaces. Introduction to algorithms and programming. Reasoning informally about the correctness and efficiency of programs. A functional programming language will be used for practical work. | |||||
CNG140 | C PROGRAMMING | 4 | 3.00 | 2.00 | 4.0 |
Course ContentAdvanced programming with C: storage and control structures, recursion and programming with dynamic data structures. Homeworks are required to run on Unix environment. | |||||
CNG213 | DATA STRUCTURES | 4 | 3.00 | 2.00 | 6.0 |
Course ContentClassification of data structures, space and time considerations. Linked lists, stacks and queues. Tree structures, binary search trees. Array and pointer based implementations. Recursive applications. Sorting and searching. | |||||
CNG223 | DISCRETE COMPUTATIONAL STRUCTURES | 3 | 3.00 | 0.00 | 6.0 |
Course ContentFundamentals of logic, set relations, functions, induction, graph theory, trees introduction to algebraic structures, lattices. | |||||
CNG230 | INTRODUCTION TO C PROGRAMMING | 3 | 2.00 | 2.00 | 5.0 |
Course ContentIntroduction. Constants, variables, expressions, statements. Selective structures. Repetitive structures and arrays. Functions. Pointers. Multi-dimensional arrays. | |||||
CNG232 | LOGIC DESIGN | 4 | 3.00 | 2.00 | 7.0 |
Course ContentIntroduction to Computer architecture. Number systems. Boolean algebra. Logic Gates and flip flops. Combinational and sequential circuit design. Registers. counters. Bus transfer. RAM, ROM units. | |||||
CNG240 | PROGRAMMING WITH PYTHON FOR ENGINEERS | 3 | 2.00 | 2.00 | 4.0 |
Course ContentBasic computer organization; binary data representation; introduction to Python; basic and container data types; variables, expressions, statements; repetitive programming; algorithmic thinking; functions; working with files; exception handling and debugging; scientific programming. | |||||
CNG242 | PROGRAMMING LANGUAGE CONCEPTS | 4 | 3.00 | 2.00 | 7.0 |
Course ContentEvolution of programming languages. Overview of language translation, virtual machines, and run-time environments. Names, bindings and scopes. Values, expressions and types. Type CNGatibility and type checking. Storage, variables, and commands. Procedural abstraction. Generic units. Overview of functional programming paradigm. Overview of object-oriented programming paradigm: Encapsulation, classes and objects, inheritance, polymorphism, dynamic binding. | |||||
CNG280 | FORMAL LANGUAGES AND ABSTRACT MACHINES | 3 | 3.00 | 0.00 | 6.0 |
Course ContentIntroduction to strings, languages and grammars. Concept of abstract machines and language acceptance. Deterministic and non-deterministic finite state machines. Regular expressions. machines with pushdown tape. Turing Machines and recursive functions. | |||||
CNG300 | SUMMER PRACTICE I | 0 | 0.00 | 0.00 | 2.0 |
Course ContentA minimum of four weeks (20 working days) of training in Computer centers involving observation of the Computer system and the software developed and used in the center, and discussion of various aspects of the system. The training is based on the contents of the summer practice manual. | |||||
CNG301 | ALGORITHMS AND DATA STRUCTURES | 3 | 3.00 | 0.00 | 5.0 |
Course ContentLinked lists, stacks, queues, recursion, trees, sorting, searching, introduction to graphs, space and time consideration. (Offered to non-CNG students only). | |||||
CNG310 | ALGORITHMS AND DATA STRUCTURES WITH PYTHON | 3 | 3.00 | 0.00 | 5.0 |
Course ContentIntroduction to Algorithms, Space and Time Considerations, Python built-in types, Linked lists, Stacks, Queues, Recursion. Trees, Sorting, Searching, Implementations in Python, Introduction to graphs. | |||||
CNG315 | ALGORITHMS | 3 | 3.00 | 0.00 | 6.0 |
Course ContentSelected Computer algorithms: sorting, searching, string processing and graph algorithms. Algorithm design and analysis techniques. Time and CNGutational CNGlexities of algorithms. Introduction to NP-CN?leteness, parallelization of algorithms, linear and dynamic programming. | |||||
CNG316 | PRACTICE OF ALGORITHMS | 3 | 2.00 | 2.00 | 6.0 |
Course ContentAdvanced algorithmic problems in graph theory, combinatorics, and artificial intelligence. Creative approaches to algorithm design. Efficient implementation of algorithms. | |||||
CNG331 | COMPUTER ORGANIZATION | 3 | 3.00 | 0.00 | 6.0 |
Course ContentMicroprogramming and micro programmed control. Input and output devices, I/O interfaces. Memory hierarchy and memory management. Fast arithmetic: fast multipliers and floating point operations. Reduced instruction set Computer. Computer communications. | |||||
CNG332 | SYSTEMS PROGRAMMING AND SUPPORT ENVIROMENTS | 3 | 3.00 | 0.00 | 6.0 |
Course ContentBasic System Software. Assemlers. Macro Processors. Compilers. Interpreters. Loaders and Linkers. Run-Time Support Environments. Networking Software. Network Programming. Issues of Systems Integration over Networks. Graphical User Interfaces. Windows Programming. | |||||
CNG334 | INTRODUCTION TO OPERATING SYSTEMS | 3 | 3.00 | 0.00 | 5.5 |
Course ContentIntroduction to Operating Systems. Memory Management. Process Management. Concurrent Processes. Deadlocks. Processor Management. I/O and Device Management. Gile Management and File Systems. Introduction to Distributed Operating Systems. Synchronization in Distributed Systems. Distributed File Systems. Overview of contemporary OS technology. | |||||
CNG336 | INTRODUCTION TO EMBEDDED SYSTEMS DEVELOPMENT | 4 | 3.00 | 2.00 | 5.5 |
Course ContentAssembly language and controller architecture. Peripheral interfaces:A/D and D/A conversion, parallel and serial ports, interrupts and timers/counters I/O bus architectures. Sensors and actuators. Design and analysis techniques. Real time operating systems. | |||||
CNG340 | RAPID APPLICATION DEVELOPMENT | 3 | 2.00 | 2.00 | 5.0 |
Course ContentOverview of the base language of a Rapid Application Development (RAD) tool; object definitions, methods, properties, inheritance. Form design using visual components Application development using the libraries of an industry standard RAD tool. | |||||
CNG350 | SOFTWARE ENGINEERING | 3 | 3.00 | 0.00 | 5.5 |
Course ContentSoftware Project Management: metrics, estimation, planning. Software requirement analysis techniques. Software design techniques. Software implementation. Software quality assurance. Software testing. | |||||
CNG351 | DATA MANAGEMENT AND FILE STRUCTURES | 3 | 3.00 | 0.00 | 6.0 |
Course ContentSequential files. Unordered sequential files. Ordered sequential files. External sorting. Heap sort. Replacement selection sort. Large memory sorting. B+tree index. Hashing. Classical hashing. Linear hashing. Introduction to DBMSs. Relational databases. Relational query languages. Relational algebra. Relational calculus. SQL. QBE.QUEL. Implementing the join operation. Entity-Relationship data model. | |||||
CNG352 | DATABASE MANAGEMENT SYSTEMS | 4 | 3.00 | 2.00 | 6.0 |
Course ContentRelational model of data, relational algebra, query optimization, entity-relationship data model, normalization, physical database design and tuning, transaction management, concurrency control in DBMSs, crash recovery, client-server architectures, security and authorization, XML, XQuery, Web data management, Web services. | |||||
CNG353 | SOFTWARE DESIGN PATTERNS | 3 | 3.00 | 0.00 | 6.0 |
Course ContentFor course details, see https://catalog2.metu.edu.tr. | |||||
CNG371 | SCIENTIFIC COMPUTING | 3 | 3.00 | 0.00 | 5.0 |
Course ContentAccuracy in numerical analysis. The sources and propagations of errors. Solution of non-linear equations. Interpolating polynomials. Solution of linear algebraic equations. Least squares curve fitting. Numerical integration. | |||||
CNG382 | ANALYSIS OF DYNAMIC SYSTEMS WITH FEEDBACK | 3 | 3.00 | 0.00 | 5.5 |
Course ContentMathematical modelling of systems. Difference and differential equations. State-space representation. Solutions of state equations. Linear-time-invariant systems and impulse response (discrete and continuous time). Stability. Routh-Hurwitz method. Feedback. Controllability. Observability. An introduction to nonlinear systems. | |||||
CNG384 | SIGNALS AND SYSTEMS FOR COMPUTER ENGINEERS | 3 | 3.00 | 0.00 | 5.0 |
Course ContentLinear time invariant systems; Frequency domain; Periodic and finite signals; Frequency response; Fourier series and transforms; Filtering; Finite impulse response filters; Sampling and reconstruction. | |||||
CNG400 | SUMMER PRACTICE II | 0 | 0.00 | 0.00 | 2.0 |
Course ContentA minimum of four weeks (20 working days) of training in Computer centers involving observation of the Computer system and the software developed and used in the center, and discussion of various aspects of the system. The training is based on the contents of the summer practice manual. Students are expected to be involved in the software development projects of the Computer center. | |||||
CNG409 | SPECIAL TOPICS: INTRODUCTION TO MACHINE LEARNING | 3 | 3.00 | 0.00 | 6.0 |
Course ContentThis course provides a broad introduction to machine learning. The topics include supervised and unsupervised learning, Bayesion inference/classification, regression, clustering, kernels and Support Vector Machines (SVM) and accompanying concepts such as model and feature selection, combining classifiers such as boosting, active learning, dimension reduction techniques. | |||||
CNG435 | DATA COMMUNICATIONS AND COMPUTER NETWORKING | 3 | 3.00 | 0.00 | 6.0 |
Course ContentIntroduction to data communications. OSI Reference Model. Physical layer. Electrical interface and data transmission. Data Link layer. Media Access sublayer.LAN/MAN Technologies.Network layer. Inter networking. Bridging and routing. Transport layer. Introduction to upper Layers issues. | |||||
CNG436 | WIRELESS COMMUNICATIONS AND NETWORK | 3 | 3.00 | 0.00 | 6.0 |
Course ContentFor course details, see https://catalog2.metu.edu.tr. | |||||
CNG438 | INFORMATION AND NETWORK SECURITY | 3 | 3.00 | 0.00 | 6.0 |
Course ContentIntroduction to security. Principles of cryptography. Software security. Operating system security techniques. Authentication. Public key infrastructure. Integrity. Access control. Security in many layers. Web and wireless network security. | |||||
CNG443 | INT. TO OBJECT ORIENT.PROG. LANG. & SYSTEMS | 3 | 3.00 | 0.00 | 6.0 |
Course ContentObject-Orientated Programming Basics. Advanced Object-Orientation Programming Concepts. Exception Handling. I/O Streams and Decorator Pattern. Concurrency. GUI Development. Security Issues. Objects over Network. Database Connectivity. Serialization and Deserialization. Remote Method Calls. Introduction to Enterprise Components. | |||||
CNG444 | LANGUAGE PROCESSORS | 3 | 3.00 | 0.00 | 6.0 |
Course ContentFormal description and classification of programming languages. Specifications syntax. The parsing problem. Top-down and bottom-up parsing. Attaching semantics to syntax. Translator writing systems. Translator writing case study. | |||||
CNG445 | SOFTWARE DEVELOPMENT WITH SCRIPTING LANGUAGES | 3 | 3.00 | 0.00 | 6.0 |
Course ContentFeatures and facilities provided by scripting languages; systems programming and interfacing with other programs; object oriented design and programming; concurrent programming with scripting languages; web application development, server side and browser side scripting. | |||||
CNG451 | INFORMATION SYSTEM DEVELOPMENT | 3 | 3.00 | 0.00 | 6.0 |
Course ContentInformation systems life cycle. Effective human communications. Common tools for information gathering. Some classical tools. Some structured tools. Organizational structure and personnel for information systems department. Computer systems evaluation and selection. Modeling and simulation. An information systems development methodology. A Case tool. | |||||
CNG457 | SPECIAL TOPICS IN COMPUTER ENGINEERING: SOFTWARE CONSTRUCTION | 3 | 0.00 | 0.00 | 6.0 |
Course ContentDevelopment of a complete software system based on available reference architectures; best practices in development; contemporary development environments and tools; architectural styles; concurrency; design patterns; libraries and frameworks;development of interface mechanisms including services and APIs;GUI design and implementation;design for reusability; component implementation; unit,component and system testing | |||||
CNG462 | ARTIFICIAL INTELLIGENCE | 3 | 3.00 | 0.00 | 6.0 |
Course ContentBasic LISP programming; picture analysis WALTZ algorithm; game playing, game trees, the mini-max rule, alpha-beta pruning technique; nature language understanding, transformation of grammar, ATN grammars, techniques used in semantics. | |||||
CNG463 | INTRODUCTION TO NATURAL LANGUAGE PROCESSING | 3 | 3.00 | 0.00 | 6.0 |
Course ContentIntroduction to linguistic theory and techniques used in natural language processing (NLP). Template and keyword systems. Declerative and procedural approaches to NL parsing. Phrase Structure. Unification-based grammar. Parsing algorithms. Semantics. Morphology and Lexicon. | |||||
CNG465 | INTRODUCTION TO BIOINFORMATICS | 3 | 3.00 | 0.00 | 6.0 |
Course ContentThis course covers computatioanl techniques for mining the large amount of information produced by recent advances in biology, such as genome sequencing and microarray technologies. Main topics of the course include: DNA and protein sequence alignment, phylogenetic trees, protein structure prediction, motif finding, microarray data analysis, gene/protein networks. | |||||
CNG466 | FUNDAMENTAL IMAGE PROCESSING TECHNIQUES | 3 | 3.00 | 0.00 | 6.0 |
Course ContentFor course details, see https://catalog2.metu.edu.tr. | |||||
CNG476 | SYSTEM SIMULATION | 3 | 3.00 | 0.00 | 6.0 |
Course ContentIntroduction to simulation as a general scientific problem solving technique. Methodology of simulation and use of computers. Classification of simulation models. Introduction to simulation programming languages. | |||||
CNG477 | INTRODUCTION TO COMPUTER GRAPHICS | 3 | 3.00 | 0.00 | 6.0 |
Course ContentHardware and software components of graphics systems. Output and filled-data primitives. Forrier analysis, convolution, sampling, quantization, aliasing, 2D and 3D geometric transformations. | |||||
CNG478 | INTRODUCTION TO PARALLEL COMPUTING | 3 | 3.00 | 0.00 | 6.0 |
Course ContentHistory and basic concepts of parallel computing. Classification of parallel processing systems. Organisation of data and parallel storage. Design and analysis of parallel and vector algorithms. Performance and complexity of parallel algorithms. Examples and applications of some parallel algorithms. | |||||
CNG483 | INT. TO COMP. VISION | 3 | 3.00 | 0.00 | 6.0 |
Course ContentImage formation, camera models and parameters, stereo vision, shape from stereo, shape from single image cues, apparent motion, optical flow, introduction to 3D shape representation and recognition. | |||||
CNG487 | SPECIAL TOPICS IN COMPUTER ENGINEERING: INTRODUCTION TO QUANTUM COMPUTING | 3 | 3.00 | 0.00 | 6.0 |
Course ContentFundamental concepts in quantum computing; quantum mechanics for computer scientists; quantum circuits and quantum instruction set; quantum programming languages; quantum algorithms; error correction and fault tolerance. | |||||
CNG491 | COMPUTER ENGINEERING DESIGN I | 3 | 2.00 | 2.00 | 7.0 |
Course ContentAnalysis, requirement specification and design phases of a computer system. Issues related to project design and presentation. Engineering ethics. Projects will be inspired from real life hardware/software problems and students are expected to come up with a professional quality design solution by applying computer and software engineering methods. This course is the first one of the two courses (491 and 492) that collectively constitutes the senior project design. This first course mainly concentrates on analysis and design, and presentation. | |||||
CNG492 | COMPUTER ENGINEERING DESIGN II | 3 | 1.00 | 4.00 | 7.0 |
Course ContentAnalysis, requirement specification and design phases of a computer system. Issues related to project design and presentation. Engineering ethics. Projects will be inspired from real life hardware/software problems and students are expected to come up with a professional quality design solution by applying computer and software engineering methods. This course is the second one of the two courses (491 and 492) that collectively constitutes the senior project design. In this second course, students mainly concentrate on implementation and testing of the system based on the design they produced in the first course (CNG-491). | |||||
CNG493 | CLUSTER COMPUTING | 3 | 3.00 | 0.00 | 6.0 |
Course ContentFor course details, see https://catalog2.metu.edu.tr. | |||||
CNG495 | CLOUD COMPUTING | 3 | 3.00 | 0.00 | 5.0 |
Course ContentCloud basics. Service models. Cloud platforms. Cloud access. Resource virtualization. Virtualization types. Multi-tenant software. Cloud applications: design, construction and deployment. Use of workflows. MapReduce. Data in the cloud. CAP theorem. NoSQL. | |||||
CNG496 | INTRODUCTION TO SEMANTIC WEB | 3 | 3.00 | 0.00 | 6.0 |
Course ContentFor course details, see https://catalog2.metu.edu.tr. | |||||
CNG498 | SPECIAL TOPICS IN COMPUTER ENGINEERING: SOFTWARE DEVELOPMENT WITH SCRIPTING LANGUAGES | 3 | 3.00 | 0.00 | 6.0 |
Course ContentFor course details, see https://catalog2.metu.edu.tr. | |||||
CNG500 | M.SC.THESIS | 0 | 0.00 | 0.00 | 50.0 |
Course ContentFor course details, see https://catalog2.metu.edu.tr. | |||||
CNG501 | DEEP LEARNING | 3 | 3.00 | 0.00 | 8.0 |
Course ContentFor course details, see https://catalog2.metu.edu.tr. | |||||
CNG514 | DATA MINING | 3 | 3.00 | 0.00 | 8.0 |
Course ContentFor course details, see https://catalog2.metu.edu.tr. | |||||
CNG532 | DISTRIBUTED COMPUTING SYSTEMS | 3 | 3.00 | 0.00 | 8.0 |
Course ContentBasics of distributed computing systems. Global state management indistributed computing systems. Communication in distributed systems. Inter Process Communication and remote procedure call. Distribute file systems. Fault tolerance. Synchronization and deadlocks. Load balancing and process migration. Distributed Operating Systems issues. Project(s). | |||||
CNG562 | MACHINE LEARNING | 3 | 3.00 | 0.00 | 8.0 |
Course ContentFor course details, see https://catalog2.metu.edu.tr. | |||||
CNG583 | COMPUTATIONAL VISION | 3 | 3.00 | 0.00 | 8.0 |
Course ContentFor course details, see https://catalog2.metu.edu.tr. | |||||
CNG591 | GRADUATE SEMINAR | 0 | 0.00 | 2.00 | 10.0 |
Course ContentFor course details, see https://catalog2.metu.edu.tr. | |||||
CNG592 | RESEARCH METHODS AND ETHICS | 0 | 0.00 | 0.00 | 8.0 |
Course ContentFor course details, see https://catalog2.metu.edu.tr. | |||||
CNG769 | WEB BASED SOFTWARE ARCHITECTURES | 3 | 3.00 | 0.00 | 6.0 |
Course ContentIntroduction to Web Application Architectures; DOM Level 1; Cascading Style Sheets (CSS); Service Oriented Web Architecture; Web Services Specification; P2P Architectures; Grid and Agent Based Architectures; MASHUP Architectures; B2B Document Standards. | |||||
CNG798 | SPECIAL TOPICS IN COMPUTER ENGINEERING: QUANTUM COMPUTING | 3 | 3.00 | 0.00 | 8.0 |
Course ContentProperties of quantum computational systems and their mathematical representations. Basic quantum theory. Quantum mechanical principles, superposition, entanglement, interference. Quantum algorithms. Quantum teleportation. Superdense coding. Quantum computational complexity classes. Quantum error correction. Quantum finite automata. Quantum programming languages. | |||||
CNG1530 | MEDICAL IMAGE ANALYSIS | 3 | 3.00 | 0.00 | 8.0 |
Course ContentThe aim of the course is to acquaint the graduate students with the fundamental theory and techniques of medical image analysis, like image enhancement, automatic and semi-automatic segmentation, quantification (shape and texture analysis, feature extraction), computer-aided diagnosis, registration and fusion. | |||||
CNG1531 | DISTRIBUTED INTERACTIVE SIMULATION | 4 | 3.00 | 2.00 | 10.0 |
Course ContentFundamentals of distributed discrete event simulation. Distributed interactive simulation and networked virtual environments. High Level Architecture. Federation development and execution process. Conceptual models of mission space. Verification and validation. Synthetic environments. | |||||
CNG2546 | SOFTWARE ARCHITECTURE | 3 | 3.00 | 0.00 | 8.0 |
Course ContentArchitectural level of software design. Major architectural styles. Architecture description languages and related tools. Architectural specification and analysis case studies. Relations with Frameworks, Design Patterns and Component Orientation. | |||||