Undergraduate Courses

Must Courses

Course Code and Title:CENG 105 - Computer Engineering Orientation
Credits / ECTS:2 0 2 / 2
Course Description:This is an orientation course for computer engineering students. It will cover an overview of the computer engineering field, department’s academic program, rules and regulations; units, dimensions, error analysis, computer systems, data representation and number systems, compilers, browsers and Internet; ethical, legal and contemporary issues, technical visits and presentations.
Prerequisites:-
Course Web Page:http://ceng105.cankaya.edu.tr/
Course Code and Title:CENG 111 - Fundamentals of Computer Engineering
Credits / ECTS:3 2 4 / 4
Course Description:Introduction to the discipline of computer engineering. The role of computers in representing, storing, manipulating, and communicating information. Introduction to computer programming. Algorithm development. Introduction to C programming language and the structure of a C program. Declaration and assignment statements. Arithmetic expressions/operators. Logical expressions/operators. Standard library functions. Decision Making using and switch-case statements. Loops: While, For, Do-while. Nested loops. User defined functions.
Prerequisites:-
Course Web Page:http://ceng111.cankaya.edu.tr/
Course Code and Title:CENG 114 - Computer Programming
Credits / ECTS:3 2 4 / 7
Course Description:Pointers. Parameter passing. 1-dimensional Arrays. Arrays and Functions. Arrays and Pointers. 2-dimensional arrays. Strings. Structures. File processing.
Prerequisites:CENG 111
Course Web Page:http://ceng114.cankaya.edu.tr/
Course Code and Title:CENG 124 - Discrete Structures
Credits / ECTS:3 0 3 / 5
Course Description:Sets, relations and functions, application to data structure and graph representations, partial ordered sets, trees, algebraic structures, lattices and Boolean algebra, semi groups, groups, introduction to grammars and machines and languages, error correcting codes.
Prerequisites:-
Course Web Page:http://ceng124.cankaya.edu.tr/
Course Code and Title:CENG 200 - Summer Training I
Credits / ECTS:0 0 0 / 5
Course Description:Students are required to attend and successfully complete a minimum of 20 working days summer training. The summer internship should be carried out in accordance with the rules and regulations set by the department. In both internships, students are expected to observe, describe and report their practical experiences.
Prerequisites:CENG 241
Course Web Page:http://cengstaj.cankaya.edu.tr/
Course Code and Title:CENG 218 - Data Structures
Credits / ECTS:3 2 4 / 6
Course Description:The course introduces and develops methods for designing and implementing abstract data types using the C/C++ programming language. Specific topics include linked structures, stacks and queues, recursive structures and algorithms, binary trees, balanced trees (min-max heaps), and huffman compression algorithm.
Prerequisites:CENG 241
Course Web Page:http://ceng218.cankaya.edu.tr/
Course Code and Title:CENG 222 - Computer Organization
Credits / ECTS:2 2 3 / 6
Course Description:This course provides a basic understanding of computer organization: Roles of processors, main memory, and input/output devices; the concept of programs as sequences of machine instructions (assembly language).
Prerequisites:ECE 223
Course Web Page:http://ceng222.cankaya.edu.tr/
Course Code and Title:CENG 241 - Object Oriented Programming
Credits / ECTS:3 2 4 / 7
Course Description:This course introduces C++ as an object oriented language. In particular objects, Function overloading, C++ classes and abstract data type, operator overloading, dynamic memory allocation, function and class templates, inheritance and polymorphism concepts are covered in the lecture.
Prerequisites:CENG 114
Course Web Page:http://ceng241.cankaya.edu.tr/
Course Code and Title:CENG 235 - Introduction To Probability and Statistics
Credits / ECTS:3 0 3 / 6
Course Description:Sample spaces and events, conditional probability and independence. Discrete and continuous random variables, their probability distributions, expected value and distribution parameters. Discrete probability distribution functions (Binomial, geometric, negative binomial, Poisson distributions). Continuous probability distributions (uniform, normal, exponential, and gamma distributions). Random sampling, sampling distributions, central limit theorem, confidence intervals.
Prerequisites:-
Course Web Page:http://ceng235.cankaya.edu.tr/
Course Code and Title:CENG 236 - Numerical Computations
Credits / ECTS:2 2 3 / 5
Course Description:Numerical Computations is intended to provide skills for using numerical solutions for engineering problems. This course is an introduction to numerical analysis and common computer methods for their implementation. Topics include: the characteristics of floating point arithmetic, analysis of error, the use of computers as numerical computing devices, approximation of roots of equations, direct and iterative methods for linear equations, nonlinear equations, interpolation and function approximation, numerical differentiation and integration. MATLAB is used for problem solving.
Prerequisites:CENG 114, MATH 156
Course Web Page:http://ceng236.cankaya.edu.tr/
Course Code and Title:CENG 290 - Data Communications
Credits / ECTS:2 2 3 / 6
Course Description:Overview of Data Communication Networks and Open Systems. The Physical Layer. transmission media and impairments. Digital and analog data transmission. Error detection and correction. Protocol Basics. The Data Link Layer Protocols. Ethernet, ATM, and PPP protocols. Local Area Networks (LANs). Network connecting devices.
Prerequisites:CENG 114, MATH 155
Course Web Page:http://ceng290.cankaya.edu.tr/
Course Code and Title:CENG 300 - Summer Training II
Credits / ECTS:0 0 0 / 5
Course Description:Students are required to attend and successfully complete a minimum of 20 working days summer training. The summer internship should be carried out in accordance with the rules and regulations set by the department. In both internships, students are expected to observe, describe and report their practical experiences.
Prerequisites:CENG 200, (CENG 396 ∨ CENG 356)
Course Web Page:http://cengstaj.cankaya.edu.tr/
Course Code and Title:CENG 328 - Operating Systems
Credits / ECTS:2 2 3 / 6
Course Description:Operating Systems course is intended to introduce the principles of design and implementation of the modern operating systems. The course is organized as lecture and laboratory sessions. In the lecture session, after an introduction to the constitutes of the modern operating systems and the environment they are intended for, the operating system subsystems are detailed. In particular, the topics covered are historical advances in the operating systems, operating system structures, multi tasking, time sharing, process and thread concept, process synchronization, inter process communication, deadlock issues, process scheduling, memory management, file-system management and input/output management. In the lab sessions, programming exercises and assignments are conducted on process management, synchronization and communication.
Prerequisites:CENG 114, CENG 222
Course Web Page:http://ceng328.cankaya.edu.tr/
Course Code and Title:CENG 329 - Microprocessors
Credits / ECTS:2 2 3 / 6
Course Description:This course provides an introduction to microprocessors. Microcontroller Architecture, Arithmetic Logic Unit Structure, Assembly Language Programming, Timers and Interrupts, Analog to Digital Conversion, and Parallel and serial Input/Output programming topics are covered with application examples.
Prerequisites:CENG 222
Course Web Page:http://ceng329.cankaya.edu.tr/
Course Code and Title:CENG 351 - Data Management and File Structure
Credits / ECTS:2 2 3 / 5
Course Description:Introduction to storing data on secondary storage. The hardware of a hard disk. Overview of Sequential files, internal and external sorting. Linear and tree indexing methods. Multi-index files. Hashing. Introduction to DBMSs.
Prerequisites:CENG 218
Course Web Page:http://ceng351.cankaya.edu.tr/
Course Code and Title:CENG 356 - Database Management Systems
Credits / ECTS:2 2 3 / 5
Course Description:Review of relational databases, data and information, relational data model, data base design, normalisation integrity constraints, entity relationship design model, query processing and optimisation, transaction processing, SQL query language.
Prerequisites:CENG 351
Course Web Page:http://ceng356.cankaya.edu.tr/
Course Code and Title:CENG 382 - Web Development
Credits / ECTS:2 2 3 / 6
Course Description:The Internet and the World Wide Web. Overview of the .NET development platform. Overview of PHP. Object-oriented concepts in C#. Databases and data access. Introduction to ASP.NET and web forms. Advanced web forms. XML/Web services. .NET security. CLR. Design considerations.
Prerequisites:CENG 241
Course Web Page:http://ceng382.cankaya.edu.tr/
Course Code and Title:CENG 383 - Algorithms
Credits / ECTS:3 0 3 / 5
Course Description:The course introduces methods for designing and analyzing algorithms. This course is a supplementary course for Data Structures that focuses on general design and analysis techniques that underlie these algorithms. The topics include: graphs, divide-and-conquer, dynamic programming, greediness, and probabilistic approaches.
Prerequisites:CENG 218
Course Web Page:http://ceng383.cankaya.edu.tr/
Course Code and Title:CENG 393 - Computer Networks
Credits / ECTS:2 2 3 / 6
Course Description:Overview of Computer Networks and Open Systems. Introduction to computer networks. Protocol design. TCP/IP protocol suite. Routing algorithms. Network layer in the Internet. Internetworking. Elements of transport protocol. Introduction to network programming. Network security. Domain name system.
Prerequisites:CENG 290
Course Web Page:http://ceng393.cankaya.edu.tr/
Course Code and Title:CENG 396 - Software Engineering
Credits / ECTS:3 0 3 / 5
Course Description:The course introduces the basic concepts of software engineering, and modern tools and well-known software development methodologies e.g., waterfall technique, iterative development, agile processes. The goal is to train students design and document all phases of software development life-cycle starting from gathering software requirements, software design methodologies, and software testing.  Topics such as software quality assurance, project management are also discussed.
Prerequisites:CENG 241
Course Web Page:http://ceng396.cankaya.edu.tr/
Course Code and Title:CENG 407 - Innovative System Design and Development I
Credits / ECTS:1 2 2 / 5
Course Description:Under the supervision of a staff member, students will be assigned either an industrial team project or an independent/group project in which a solution to the problem identified will be designed/implemented using innovative approaches. In this course, students are expected to perform requirements analysis and preliminary design for their selected project in cooperation with industry.
Prerequisites:CENG 396 ∨ CENG 356
Course Web Page:http://cengproject.cankaya.edu.tr/
Course Code and Title:CENG 408 - Innovative System Design and Development II
Credits / ECTS:1 2 2 / 6
Course Description:Under the supervision of a staff member, students will be assigned either an industrial team project or an independent/group project in which a solution to the problem identified will be designed/implemented using innovative approaches. In this course, students are expected to finalize the design for their selected topic, implement and test the project.
Prerequisites:CENG 407
Course Web Page:http://cengproject.cankaya.edu.tr/
Course Code and Title:CENG 442 - Programming Language Concepts
Credits / ECTS:2 2 3 / 6
Course Description:Structure of programming languages. Concepts and paradigms. Values and Types. Variables and Storage. Bindings, Scope, and run-time storage. Procedural abstraction and encapsulation. Data abstraction and encapsulation. Type systems. Control Flow. Concepts will be introduced using a functional language and C++.
Prerequisites:CENG 124, CENG 241
Course Web Page:http://ceng442.cankaya.edu.tr/
Course Code and Title:CENG 466 - Artificial Intelligence
Credits / ECTS:3 0 3 / 6
Course Description:The course introduces theoretical foundations and methodologies that are used in the design of intelligent software applications. In particular, it focuses on decision theory and advance techniques for creating autonomous agents, which are designed to make decisions when they are partial or fully informed about any situation. Students learn techniques to address a variety of artificial intelligence problems and gain goal-based problem solving skills.
Prerequisites:CENG 218
Course Web Page:http://ceng466.cankaya.edu.tr/
Course Code and Title:CENG 491 - Formal Languages and Automata
Credits / ECTS:3 0 3 / 6
Course Description:Introduction to strings, languages, and grammars. Concept of abstract machines and language acceptance. Deterministic and nondeterministic finite state machines. Regular expressions. Machines with pushdown tape. Context-free grammars and parse trees. Turing machines and recursive functions. Unrestricted grammars.
Prerequisites:CENG 124
Course Web Page:http://ceng491.cankaya.edu.tr/
Course Code and Title:CENG 497 - Computer Graphics
Credits / ECTS:2 2 3 / 6
Course Description:Overview of Advanced application of computer graphics techniques. Shading, deformation, ray tracing, radiosity, texture mapping, fractal representation. Concepts of motion are introduced for the generation of digital animation. Concepts of graphical workstation design, especially with respect to user interfaces and window managers are introduced..
Prerequisites:CENG 218, MATH 205
Course Web Page:http://ceng497.cankaya.edu.tr/

Elective Courses

Course Code and Title:CENG 344 - Introduction to Java Programming
Credits / ECTS:2 2 3 / 5
Course Description:his course introduces the basics of object oriented principles using Java programming language. Topics include: Java Language Basics, creating and manipulating objects, classes, encapsulation, inheritance, interfaces, polymorphism, information hiding, abstract methods and classes. In this course, students also gain experiences on GUI applications, graphics and event-driven programming.
Prerequisites:-
Course Web Page:http://ceng344.cankaya.edu.tr/
Course Code and Title:CENG 346 - Compiler Design
Credits / ECTS:2 2 3 / 6
Course Description:The principles, algorithms, and data structures involved in the design and construction of compilers. Finite-state machines, lexical analysis, context-free grammars, push-down parsers, LR and LALR parsers, other parsing techniques, symbol tables, error recovery, an introduction to intermediate code generation.
Prerequisites:-
Course Web Page:http://ceng346.cankaya.edu.tr/
Course Code and Title:CENG 348 - Essentials of Geospatial Information Technologies
Credits / ECTS:2 2 3 / 5
Course Description:Definition of the Geospatial Information Technologies (GIT), Basic terminology in GIT, Map Projection Systems, Global Positioning Systems (GPS) and its components, Remote Sensing (RS) Technology and its components, Geographic Information Systems (GIS) and its components, Geospatial Data Types, Geospatial Data Structures, Creation of a Geospatial Database, GIS Software and Hardware, Visualization of Geospatial Data, Geospatial Data Analysis.
Prerequisites:-
Course Web Page:http://ceng348.cankaya.edu.tr/
Course Code and Title:CENG 353 - Information Systems Analysis and Design
Credits / ECTS:3 0 3 / 5
Course Description:The course addresses the concepts, methodologies, techniques, and tools essential for systems analysts and designers to successfully develop information systems. After completing this course, students should be able to analyse the structures of the IT system, model information processes, and design/redesign of IT systems using object-oriented tools.
Prerequisites:-
Course Web Page:http://ceng353.cankaya.edu.tr/
Course Code and Title:CENG 358 - Practical UML
Credits / ECTS:2 2 3 / 5
Course Description:Review of Object oriented concepts. The rational Unified process. Fundamentals o UML. Use case diagrams. Class diagrams and associations, Object diagrams. Behavioral diagrams, Sequence diagrams, collaboration diagrams, activity diagrams, state diagrams. Implementation Diagrams, component diagrams, deployment diagrams.
Prerequisites:-
Course Web Page:http://ceng358.cankaya.edu.tr/
Course Code and Title:CENG 361 - Innovative Game Design
Credits / ECTS:3 0 3 / 5
Course Description:This course aims to cover innovative fundamentals of game design including but not limited to players, game play, experiences, mechanics, the process of balancing a game, and modeling the user experiences. Furthermore, it explores the theories and principles of game design, and details methods for the design and evaluation process of games. Ultimately, the goal is to introduce the innovative aspects of game design and development.
Prerequisites:-
Course Web Page:http://ceng361.cankaya.edu.tr/
Course Code and Title:CENG 394 - Human Computer Interaction
Credits / ECTS:3 0 3 / 5
Course Description:Basic principles of HCI. Human capabilities and limitations. Interaction Styles. Usability principles. User and task analysis. Interface Design principles. Usability heuristics. Interface evaluation methods. Advanced User Interface technologies.
Prerequisites:-
Course Web Page:http://ceng394.cankaya.edu.tr/
Course Code and Title:CENG 434 - Mobile and Wireless Computing
Credits / ECTS:3 0 3 / 5
Course Description:Ubiquitous access to information, anywhere, anyplace, and anytime, will characterize whole new kinds of information systems in the 21st Century. These are being enabled by rapidly emerging wireless communications systems, based on radio and infrared transmission mechanisms, and utilizing such technologies as cellular telephony, personal communications systems, wireless PBXs, and wireless local area networks. These systems have the potential to dramatically change society as workers become "untethered" from their information sources and communications mechanisms. While there is a rich body of knowledge associated with radio system engineering, the needed expertise must build upon this to encompass network management, integration of wireless and wireline networks, system support for mobility, computing system architectures for wireless nodes/base stations/servers, user interfaces appropriate for small handheld portable devices, and new applications that can exploit mobility and location information.
Prerequisites:-
Course Web Page:http://ceng434.cankaya.edu.tr/
Course Code and Title:CENG 435 - Introduction to Data Security and Cryptography
Credits / ECTS:2 2 3 / 5
Course Description:This is an introductory course on the algorithms, techniques, and tools of data security and cryptography. The course contents include: security concepts, such as; confidentiality, integrity, authenticity, availability, symmetric and asymmetric cryptography and their uses; key distribution and digital signatures, communication protocols for authentication, confidentiality and message integrity.
Prerequisites:-
Course Web Page:http://ceng435.cankaya.edu.tr/
Course Code and Title:CENG 439 - Internetworking
Credits / ECTS:2 2 3 / 5
Course Description:Introduction to computer networks, and internetworking. Architecture, components, and operations of routers and switches in small and large network. Routing and Packet forwarding: The router components and configuration using the Cisco IOS. Introduction to IPv6
Prerequisites:CENG 290
Course Web Page:http://ceng439.cankaya.edu.tr/
Course Code and Title:CENG 440 - Advanced Internetworking
Credits / ECTS:2 2 3 / 5
Course Description:The course covers routing algorithms and their configuration in deep. This includes both static and dynamic routing algorithms. The topics covered in static routing are:
  • Building the routing table.
  • Path determination
  • Switching functions of a router.
In dynamic routing the topics are:
  • Metrics and administrative distances.
  • Distance Vector Routing Protocols: RIPv1 and RIPv2.
  • EIGRP operation and configuration.
  • Link-State Routing Protocols: OSPFv2 operation and configuration.
The course also covers variable length subnet masking and CIDR, configuring and troubleshooting network devices and resolving common issues with data link protocols
Prerequisites:CENG 439
Course Web Page:http://ceng440.cankaya.edu.tr/
Course Code and Title:CENG 444 - Advanced Java Programming
Credits / ECTS:2 2 3 / 5
Course Description:This course aims to cover advanced topics in java. File input and output features, exception handling, multi-threaded programming, GUI features of Java, networking with java and it introduces open source libraries for information retrieval applicaiton developlent, such as Tika, Lucene and JSoup.
Prerequisites:-
Course Web Page:http://ceng444.cankaya.edu.tr/
Course Code and Title:CENG 460 - Introduction to Multimedia Computing
Credits / ECTS:3 0 3 / 5
Course Description:Since multimedia data are often of bulky size, they have to be effectively compressed to be stored on storage media and transmitted over bandwidth-limited networks. A large number of multimedia coding algorithms have been invented to fulfill this challenge of data compression, and many multimedia coding standards and specifications have created by international standardization bodies and/or industrial consortiums. While multimedia coding defines representations of diverse types of digital information such as audio, speech, image and video, the course mainly concentrates on managing and processing these digital data. Therefore, it becomes more and more important to have an in-depth understanding on how multimedia coding works, not only for developers of multimedia coding systems, but also for users of these systems.
Prerequisites:-
Course Web Page:http://ceng460.cankaya.edu.tr/
Course Code and Title:CENG 462 - Digital Image Processing
Credits / ECTS:2 2 3 / 5
Course Description:Overview of Image model sampling and quantization, basic relationships between pixels and image geometry, two-dimensional Fourier transforms, image enhancement, spatial and frequency domain methods, image restoration, image segmentation.
Prerequisites:-
Course Web Page:http://ceng462.cankaya.edu.tr/
Course Code and Title:CENG 464 - Introduction To Data Mining
Credits / ECTS:3 0 3 / 5
Course Description:Knowledge discovery and data mining basics. Principles of data mining. Data Pre-processing. Decision tree induction for Classification. Other classification techniques. Basics for cluster detection. K-means cluster detection algorithm. Other clustering techniques. Association rules. Outlier detection.
Prerequisites:-
Course Web Page:http://ceng464.cankaya.edu.tr/
Course Code and Title:CENG 465 - Neural Networks
Credits / ECTS:2 2 3 / 5
Course Description:Overview of Artificial neural systems, single layer preceptor classifiers, multi layer feed forward network, single layer feedback networks, associative memories, matching and self organizing networks, application of neural algorithms, neural network implementations.
Prerequisites:-
Course Web Page:http://ceng465.cankaya.edu.tr/
Course Code and Title:CENG 468 - Knowledge Engineering
Credits / ECTS:3 0 3 / 5
Course Description:Knowledge engineering is a field within artificial intelligence that develops knowledge-based systems. Such systems are computer programs that contain knowledge, rules and reasoning mechanisms to provide solutions to real-world problems. The main goal in this course is to provide skills necessary to design and implement expert systems which use domain-specific knowledge in order to solve non-trivial problems in specialized domains.
Prerequisites:-
Course Web Page:http://ceng468.cankaya.edu.tr/
Course Code and Title:CENG 471 - Parallel Computing
Credits / ECTS:2 2 3 / 5
Course Description:Parallel Computing course introduces distributed and parallel computing and programming. The course is given in the form of lecture and lab sessions. In the lecture sessions it highlights the difference between distributed and parallel computing, taxonomy of distributed and parallel computing systems and parallel programming models such as shared memory and message passing. In the lab session Message Passing Interface (MPI) is covered and used in experiencing development of parallel programs on a cluster of computers.
Prerequisites:CENG 114, CENG 328
Course Web Page:http://ceng471.cankaya.edu.tr/
Course Code and Title:CENG 489 - Software Quality Assurance
Credits / ECTS:3 0 3 / 5
Course Description:The goal of this course is to provide students with basic working knowledge about software quality assurance. It helps students to understand the concept of quality, quality planning, risk analysis and resolution. The course also encompasses software quality standards, and software test techniques, strategies and metrics.
Prerequisites:-
Course Web Page:http://ceng489.cankaya.edu.tr/
Course Code and Title:CENG 499 - Special Topics in Computer Engineering
Credits / ECTS:3 0 3 / 6
Course Description:
Prerequisites:
Course Web Page:http://ceng499.cankaya.edu.tr/