COMPUTER ENGINEERING

Course Content

Course Code and Name: CENG101 Introduction to Computer Engineering
Credit / ECTS: 3 0 3 5
Course Content:

In this course, basic computer engineering concepts will be introduced. The course introduces students to the history and evolution of computing and the impact of information technology on society.

Course Code and Name: CENG111 Computer Programming I
Credit / ECTS: 3 2 4 5
Course Content:

This is the first of two courses in advanced programming in Python and an introduction to C programming language. In particular, the subjects taught in the Python program language are as follows: Algorithm concept,
flow diagrams, structural programming concept, modular programming, file processing, lists and applications.

Course Code and Name: CENG112 Computer Programming II
Credit / ECTS: 3 2 4 5
Course Content:

This is the second of two courses on advanced programming in the Python programming language and an introduction to the C programming language. As a continuation of the first lesson, the topics covered in Python program language are as follows: tuples and applications, strings and typesetting, dictionaries and sets. As the second part of this course, the topics to be taught in C programming language are as follows: Introduction to C programming, structural programming, program control statements and structures, functions, arrays and applications including sorting, searching and multidimensional arrays, pointers and applications.

Course Code and Name: MATH114 Discrete Mathematics
Credit / ECTS: 4 0 4 5
Course Content:

Sets, relations and functions, data structures applications and graphical representation, partial order sets, tree structures, algebraic structures, lattices and Boolean algebra, semi-groups, groups, introduction to machine languages and grammar, error correction codes.

Course Code and Name: FE102 Technology and R&D Management
Credit / ECTS: 2 0 2 2
Course Content:

Definition and importance of innovation, types of innovation, innovation strategies, new product development.
Definition and importance of entrepreneurship, types of entrepreneurship, entrepreneurship strategies, business models, entrepreneurship, product portfolio management. What is a project and definition of modern project management. Estimate project time and cost, cpm method. To have general information about environmental law issues, to have information about patents and intellectual industrial rights. Product recovery options: Recycling, repair, renovation, remanufacturing.

Course Code and Name: CENG211 Object Oriented Programming
Credit / ECTS: 3 2 4 6
Course Content:

Introduce the concepts of Object Oriented Programming. Provides tools, structures, formats, and object-oriented programming techniques to design well-formed programs. Handles concepts such as classes, objects, methods, inheritance, polymorphism, error handling, and templates.

Course Code and Name: CENG212 Database Management Systems
Credit / ECTS: 3 2 4 6
Course Content:

Database concepts. Relation model, correlation algebra, questioning. Application development. Database design, normalization, entity-relationship model. Simultaneous operation, movements, locks. Object-oriented databases, object / correlation mapping, XML data model and querying.

Course Code and Name: CENG214 Data Structures
Credit / ECTS: 3 2 4 6
Course Content:

Introduction to Data Structures: Primitive data structures. Memory representation of information. Arrays and memory distribution of arrays. Structures: Sequences of structures. Structures and Functions. Dynamic memory allocation. Stack: Stack As Abstract Data Type. Primitive operations. Representation of the stack in C. Infix, Postfix and Prefix notations; Post-to-Postfix transformation. Recursion A recursive definition. Examples: Factor function. Fibonacci Sequence. Queues: Queue as Abstract Data Type. C application of queues. Linked Lists: Adding and Removing Nodes from a List. Circular Lists, Binary Linked Lists. Trees: Operations on Binary Trees. Binary Tree Impressions. Binary Tree Crossing. Binary tree creation. Sorting: Sorting Efficiency. Search: Sequential Search. Binary search. Binary Search Trees.

Course Code and Name: CENG202 Computer Architecture and Organization
Credit / ECTS: 3 0 3 5
Course Content:

This course provides an overview of computer organization and architecture. The main components of a computer and the connections between them. Computer arithmetic and logic. Internal architecture and organization of the processor. Discussion of reduced instruction set computer (RISC) and superscalar approaches. Introduction to parallel computing.

Course Code and Name: CENG301 Algorithm Analysis
Credit / ECTS: 3 2 4 5
Course Content:

Definition and properties of algorithms. Design, analysis and representation of algorithms. Calculation models. Mathematical Basics: Growth of functions, asymptotic representations. Recursive algorithms and related iteration relationships (substitution method, iteration method, recursion trees, main method). Design paradigms for algorithms: Brute-Force (Divide Search), Divide and Conquer (Join Order, Binary Search Tree). Dynamic Programming (Matrix Chain Multiplication, LCS Length, Backpack Problem, etc.). Greedy algorithms (Fractional Backpack Problem).

Course Code and Name: CENG302 Software Engineering
Credit / ECTS: 3 0 3 4
Course Content:

Software development methodologies. Requirements Analysis, Design and Implementation of Software Systems, Coding, Unit, Integration and System Testing. Quality Assurance and Project Management. Tools and Standards.

Course Code and Name: CENG311 Data Communications and Computer Networks
Credit / ECTS: 3 2 4 6
Course Content:

In this course, students will be introduced to the world of networking and will be introduced to most of the sub-domains (network protocols, LAN services, WAN services, routing, network programming, network management, QoS, Internet telephony, etc.). Some of these topics will be studied in the Cisco network lab to provide students with a solid foundation in network hardware and configuration.

Course Code and Name: CENG313 Web Programming
Credit / ECTS: 3 2 4 6
Course Content:

Internet and World Wide Web. Overview of .NET and PHP development platforms. Object oriented concepts in C #. Databases and data access. Introduction to PHP and ASP.NET. Advanced web forms and PHP pages. Web services. Design considerations.

Course Code and Name: EE331 Sinyaller ve Sistemler
Credit / ECTS: 3 0 3 4
Course Content:

Classification of signals, basic signals, classification and properties of systems, time domain characterization of linear time invariant (LTI) systems, continuous and discrete time Fourier series, continuous time and discrete time Fourier transformations, frequency domain characterization of linear time invariant (LTI) systems, sampling. Laplace and z transforms and their applications.

Course Code and Name: CENG303 Formal Languages and Automata
Credit / ECTS: 3 0 3 4
Course Content:

Formal Proofs. Finite machine, Order expressions, and algorithms connecting both notations. Pumping Proposition for regular languages and properties of regular languages. Context-free grammars. Pumping Proposition for context-independent languages and properties of context-independent languages. Pushdown machines and Turing Machines.

Course Code and Name: CENG304 Operating Systems
Credit / ECTS: 3 0 3 5
Course Content:

Computer architecture, process management, inter process synchronization, inter process communication, semaphores and monitors, deadlocks, CPU planning algorithms, memory management, virtual memory, file systems, input / output systems and disk planning.

Course Code and Name: CENG401 Programming Language Concepts
Credit / ECTS: 3 0 3 5
Course Content:

Structure of programming languages. Concepts and Paradigms. Values and Types. Variables and Storage. Bindings, Scope, and Runtime Storage. Operational Abstraction and Encapsulation. Data Abstraction and Encapsulation. Type Systems. Control Flow. Functional language and C ++ concepts.

Course Code and Name: CENG499 Graduation Project
Credit / ECTS: 0 8 4 5
Course Content:

The projects will demonstrate the students’ ability to apply, analyze, synthesize, evaluate information, and communicate significant knowledge and comprehension. This is an opportunity to expand the student personal knowledge and apply it to real-life situations, which will serve to benefit their growth and promote lifelong learning. Students shall complete their projects under the direction and supervision of faculty members. At the end of this course, students must deliver a product or significant study with a major component that has passed through the design, analysis, implementation, testing, and evaluation stages.

Course Code and Name: CENG420 Machine Learning
Credit / ECTS: 3 0 3 5
Course Content:

Introduction to ML, basic information and mathematical concepts; Basics of Pattern Recognition; Probabilities and probability distributions; Learning Linear Models for Regression and Classification; computational neural networks models and Core Methods; Graphics and Mixing Models and EM; mixed and combined models; modeling sampling methods

Course Code and Name: CENG430 Computer Graphics
Credit / ECTS: 3 0 3 5
Course Content:

Hardware and software components of graphics systems. Fourier analysis, inversion, sampling and quantization. 2D and 3D geometric transformations. Two-dimensional imaging. Three-dimensional imaging: Pipeline imaging, parameters display, projections, transformations display, clipping. Visible surface detection. Introduction to lighting models and surface creation.

Course Code and Name: CENG440 Cyber Security
Credit / ECTS: 3 0 3 5
Course Content:

In this course, students will be introduced to real-world cybersecurity challenges that organisations face, and learn to apply knowledge and skills gained through other Computer Science courses to address them. This course provides also basic definitions of cyber security, overview of cyber threats. Cryptology, Symmetric/asymmetric cryptography, PKI, CA trust model, SSL/TLS (HTTPS, SFTP etc.). In order to build a solid background about authentication and secure protocols some topics will be covered in this course such as: Message authentication, digital signature, digital certificates, authentication and Hash Functions. The course also will also introduce cyber security management concepts, including security operations, risk management, security engineering. Other topics such as:
cyber threat prevention mechanisms, network forensics, and web application security will be covered in this course.

Course Code and Name: CENG460 Java Programming
Credit / ECTS: 3 0 3 5
Course Content:

An introduction to Java, a highly-portable object-oriented programming language particularly suited to programming for a variety of platforms. This is not an introductory programming course — it is really a course in Java as a “second” language.

Course Code and Name: CENG462 Numerical Analysis
Credit / ECTS: 3 0 3 5
Course Content:

In this course, students will be introduced to the concepts of mathematical procedures and the importance of the algorithm on the numerical calculations. Subunits of the algorithms. Matrix and matrix calculations. Solution methods of the linear equations systems. Solution methods of the nonlinear equations systems. Curve fitting methods, interpolation methods and extrapolation methods. Numerical methods of derivation. Numerical methods of integration. Numerical methods of differentiation equations. Complex numbers.

Course Code and Name: CENG463 Introduction to Robotics
Credit / ECTS: 3 0 3 5
Course Content:

Introduction, Rigid motions. Homogeneous transformations. Robot forward kinematics. Robot inverse kinematics. Differential kinematics and Jacobeans. Motion planning and trajectory generation. Robot dynamics. Mobile robots. Independent joint control. Robot sensors and actuators.

Course Code and Name: CENG473 Image Processing and Analysis
Credit / ECTS: 3 0 3 5
Course Content:

This course introduces the basic mathematical concepts, algorithms and other building blocks in image processing and analysis. The course includes: image enhancement and restoration in both spatial and frequency fields, such as image detection and acquisition, noise reduction and deburring; color image processing; various image compression techniques; morphological Image processing, Image edge detection, zone segmentation, basins; image display and description; and finally object recognition.

Course Code and Name: CENG477 Bilgi Güvenliği
Credit / ECTS: 3 0 3 5
Course Content:

This course provides solid background in cryptography and data integrity. Besides, it introduces security properties, models, and threats. In addition, it gives an overview of some cryptographic protocols. Basic principles of risk management and security policy are also covered. Cisco security lab sessions will be done for selected topics.