### Müfredat ve Ders Bilgileri

**Lisans Ders Programı**

MEF Üniversitesi Bilgisayar Mühendisliği Programı, bilgisayar donanımı ve yazılımı konularını dengeli şekilde içeren, öğrenciye bilgisayar mühendisi olarak sağlam bir mesleki formasyon kazandırmayı hedefleyen bir programdır. Programın ilk yılında, ağırlıklı olarak temel bilimler dersleri verilmekte, öğrencilere bilgisayar mühendisliği konuları genel olarak tanıtılmakta, programlamaya giriş dersleri verilmektedir. İkinci yıl temel mühendislik dersleri ve bilgisayar mühendisliğinin zorunlu temel derslerinden bazılarını alacaklardır. İkinci yıl sonunda öğrenciler, staj yaparak bilgilerini firmalarda uygulama olanağı elde edeceklerdir. Üçüncü yıl öğrenciler ağırlıklı olarak tasarım dersleri alacaklar, yıl sonunda yapacakları stajda mezun bir mühendise yakın sevideki tasarım becerilerini kullanabileceklerdir. Dördüncü sınıfta ağırlıklı olarak öğrencinin belli bir uzmanlık alanında yetkinleşmesine olanak sağlayacak seçmeli dersler, bitirme ödevi ve insan ve toplum bilimi dersleri yer alacaktır.

**Lisans Ders Programı**

Ders Kodu | Ders Adı | AKTS | Kredi | Önkoşul |
---|---|---|---|---|

1. Dönem | ||||

COMP 100 | Introduction to Computer Engineering | 3 | 2 | |

COMP 109 | Computer Programming (Java) | 6 | 4 | |

MATH 115 | Calculus I | 7 | 4 | |

PHYS 103 | Physics I | 6 | 3 | PHYS 103L (Co-requisite) |

PHYS 103L | Physics I Lab | 2 | 1 | PHYS 103 (Co-requisite) |

ENG 101 | English for Academic Purposes I | 4 | 2 | |

TURK 111 | Turkish Language and Literature I | 2 | 1 | |

30 | 17 | |||

2. Dönem | ||||

COMP 110 | Object-Oriented Programming (JAVA) | 6 | 4 | COMP 109 |

MATH 108 | Discrete and Combinatorial Mathematics | 5 | 3 | |

MATH 116 | Calculus II | 7 | 4 | MATH 115 |

PHYS 104 | Physics II | 6 | 3 | PHYS 104L (Co-requisite) |

PHYS 104L | Physics II Lab | 2 | 1 | PHYS 104 (Co-requisite) |

ENG 102 | English for Academic Purposes II | 4 | 2 | ENG 101 |

30 | 17 | |||

3. Dönem | ||||

COMP 201 | Data Structures and Algorithms | 6 | 4 | COMP 109 |

COMP 205 | Systems Programming | 6 | 4 | COMP 109 |

EE 203 | Digital Systems Design | 6 | 4 | |

MATH 211 | Linear Algebra | 6 | 3 | |

HISTR 211 | Principles of Ataturk and History of the Turkish Republic I | 2 | 1 | |

ENGR 301 | Technical Report Writing and Presentation | 4 | 2 | ENG 102 |

30 | 18 | |||

4. Dönem | ||||

COMP 204 | Programming Studio | 6 | 3 | COMP 110 |

COMP 206 | Computer Architecture | 6 | 3 | EE 203 |

COMP 200 | Computer Engineering Practice I | 2 | 1 | |

MATH 224 | Probability and Statistics for Engineering | 6 | 4 | |

EE 212 | Electrical and Electronic Circuits | 6 | 4 | |

HISTR 212 | Principles of Ataturk and History of the Turkish Republic II | 2 | 1 | |

TURK 112 | Turkish Language and Literature II | 2 | 1 | |

30 | 17 | |||

5. Dönem | ||||

COMP 303 | Algorithm Analysis | 6 | 3 | COMP 201 |

COMP 305 | Database Management Systems | 6 | 3 | COMP 110 |

MATH 213 | Differential Equations | 7 | 4 | |

MATH 321 | Automata Theory and Formal Language | 6 | 3 | |

Required HUM/SOC 100-Level Component | 5 | 3 | ||

30 | 16 | |||

6. Dönem | ||||

COMP 302 | Software Engineering | 6 | 3 | COMP 201 |

COMP 304 | Operating Systems | 6 | 3 | |

EE 306 | Microprocessors | 7 | 3.5 | EE 203 |

EE 204 | Signals and Systems | 6 | 4 | |

ECON 112 | Economics for Engineering | 5 | 2 | |

30 | 15.5 | |||

7. Dönem | ||||

COMP 491 | Senior Design Project I | 6 | 3 | |

COMP 421 | Computer Networks | 6 | 3 | COMP 110 |

COMP Elective | 5 | 3 | ||

COMP Elective | 5 | 3 | ||

Free Elective | 5 | 3 | ||

HUM 300 | Engineering Ethics | 3 | 2 | |

30 | 17 | |||

8. Dönem | ||||

COMP 492 | Senior Design Project II | 7 | 4 | COMP 491 |

COMP 300 | Computer Engineering Practice II | 2 | 1 | |

COMP Elective | 6 | 3 | ||

COMP Elective | 5 | 3 | ||

Engineering Elective | 5 | 3 | ||

ENTR 400 | Business Skills and Entrepreneurship | 5 | 3 | |

30 | 17 | |||

Toplam |
240 | 134.5 |

**Seçmeli dersler**

Öğrenciler bilgisayar mühendisliği formasyonu için almaları gereken zorunlu derslere ek olarak, açılacak 15 seçmeli derste kendi ilgi alanlarına göre ders seçebilecek, kendi seçecekleri bu alanda derinlemesine bilgi sahibi olma olanağı elde edeceklerdir. Böylece öğrenci, yapay zeka, bilgisayar ağları, paralel programlama, bilgisayarla görü, çoğul-ortam, gömülü sistemler, yazılım mühendisliği alanlarında dersler seçebileceklerdir. Seçmeli dersler, öğrencilerimizin belli bir alanda daha derinlemesine bilgi sahibi olarak mezun olmasını ve bu alanda faaliyet sürdüren firmalarda veya akademik birimlerde daha başarılı çalışmalar yapabilmesini sağlayacaktır.

**Seçmeli Dersler**

Ders Kodu |
Ders Adı |
AKTS |
Kredi |
Önkoşul |

COMP 428 | Human Computer Interaction | 6 | 3 | |

COMP 450 | Artificial Intelligence | 6 | 3 | |

COMP 451 | Introduction to Natural Language Processing | 6 | 3 | |

COMP 462 | Introduction to Machine Learning | 6 | 3 | |

COMP 464 | Web Programming and Internet Technologies | 6 | 3 | |

COMP 468 | Introduction to Internet of Things | 6 | 3 | |

COMP 472 | Parallel and Distributed Systems | 5 | 3 | |

COMP 482 | Computer Vision | 6 | 3 | COMP 201 |

COMP 490 | Introduction to Information and Coding Theory | 6 | 3 |

**Staj**

MEF Üniversitesi Bilgisayar Mühendisliği programındaki öğrenciler, mesleki bilgi ve deneyimlerini artırmak, mezuniyet sonrası çalışma ortamlarıyla öğrencilikleri sırasında tanışmak için firmalarda toplam 8 hafta sürecek 2 staj yapacaklardır. İkinci yıl sonunda yapılacak 4 haftalık stajı, 3. yıl sonunda yapılacak 4 haftalık staj izleyecektir. Staj ile ilgili daha detaylı bilgileri Staj Bilgileri sayfasında bulabilirsiniz.

Önşart Diyagramı

**COURSE DESCRIPTIONS**

**COMP 100 Introduction to Computer Engineering (2+0+0) 2 ECTS 3**

(Bilgisayar Mühendisliğine Giriş)

This course provides an introduction to some fundamental aspects of Computer Engineering. The following topics are covered: introduction to Computer Engineering. Employment opportunities for Computer Engineers. Research areas in Computer Engineering. Courses offered in the Computer Engineering Program at MEF. Introduction to Programming in Python and computing systems.

**COMP 109 Computer Programming (Java) (3+0+0) 4 ECTS 6**

(Bilgisayar Programlama (Java))

This course provides a comprehensive understanding of computer programming. The following topics are covered: Fundamentals of computers and computer programming; variables and data types; control flow and conditionals; functions; loops; methods and debugging; single and multi-dimensional arrays.

**MATH 115 Calculus I (4+0+0) 4 ECTS 7**

(Diferansiyel ve İntegral Hesap I)

This course provides a comprehensive introduction to some fundamental aspects of function of a single variable, trigonometric functions, limit, continuity of a function, differentiation of a single variable function, extremum of a function, mean value theorem, L’Hospital’s rule, antiderivative and the indefinite integral, definite integrals, fundamental theorem of calculus, applications of the definite integral, the exponential and logarithmic function, the inverse trigonometric functions, hyperbolic functions and their inverses, integration techniques.

**PHYS 103 Physics I (3+0+0) 3 ECTS 6**

(Fizik I)

This course includes the topics mostly related with mechanics part of fundamental physics. These topics are; significant figures, units and unit analysis, vectors, motion in one dimension, motion in multi dimensions, Newton’s Laws and their applications, work and kinetic energy, potential energy and conservation of energy, momentum and conservation of momentum, rotation of rigid bodies and dynamics of rotational motion.

Corequisite: PHYS 103 L

**PHYS 103 L Physics I Lab. (0+0+2) 1 ECTS 2 **

(Fizik I Laboratuvarı)

This laboratory course includes the experiments related to mechanics. The laboratory experiments covered in this course are based on the measurement of time, period and force using proper tools. These measurements are used in order to determine the speed, velocity, acceleration and period of the objects in motion. With the help of physics laws, some physical quantities are determined following these measurements compared with those obtained from theoretical approaches.

Corequisite: PHYS 103

**ENG 101 English for Academic Purposes I (2+0+0) 2 ECTS 4**

(Akademik İngilizce I)

The aim of this course is to provide students with the academic skills necessary to succeed in their undergraduate studies. This course utilizes speaking, listening, reading and writing skills in an integrated approach to promote the use of English in an academic context. The course will provide an introduction to academic English and help students become more confident, independent and experienced writers and speakers of English when addressing various subjects in an academic environment.

**TURK 111 Turkish Language and Literature I (2+0+0) 1 ECTS 2**

(Türk Dili ve Edebiyatı I)

Definition and features of language, language-culture, language-gender, language-geography, language-nationality relationship, language birth, classification of languages, types of language, historical development of Turkish, sound and form features of Turkish, expression units, proverbs and idioms, problems Turkish language face, punctuation marks, writing rules, expression disorders.

**COMP 110 Object-Oriented Programming (JAVA) (3+0+2) 4 ECTS 6**

(Nesne Yönelimli Programlama (Java))

This course covers the fundamentals of object-oriented programming approach such as objects, classes, inheritance, polymorphism, dynamic binding, and application of these concepts using Java programming language.

Prerequisite: COMP 109

**MATH 108 Discrete and Combinatorial Mathematics (3+0+0) 3 ECTS 5**

(Ayrık ve Kombinatorik Matematik)

Topics to be covered include set theory, mathematical induction, relations and functions, basic counting and probability, recursion and recurrence relations, graph theory and trees and related algorithms, algorithm complexity, and modular arithmetic.

**MATH 116 Calculus II (4+0+0) 4 ECTS 7 **

(Diferansiyel ve İntegral Hesap II)

Polar coordinates, analytical geometry, infinite sequences and series, Taylor’s series, vectors, multivariable functions, partial derivatives and their applications, the gradient and directional derivative, extrema of functions of two variables, multiple integrals and their applications.

Prerequisite: MATH 115

**PHYS 104 Physics II (3+0+0) 3 ECTS 6**

(Fizik II)

This course discusses topics related to electromagnetism. The topics covered in this course are; electric charge and force, electric field; Gauss’s law, electric potential, capacitance and dielectrics, current, resistance and electromotive forces, DC circuits, magnetic fields and forces, sources of magnetic field, electromagnetic induction, inductance and circuit oscillations, electromagnetic waves.

Corequisite: PHYS 104 L

**PHYS 104 L Physics II Lab. (0+0+2) 1 ECTS 2**

(Fizik II Laboratuvarı)

This laboratory course includes the topics related to electromagnetism. The laboratory experiments covered in this course are based on the measurement of current, magnetic fields and potential differences using proper tools. These tools are used for the purpose of determining some of the electrical parameters such as resistance, power, inductance and capacitance. Using magnetic field sensors, magnetic field around conductors having various geometries are measured and current-magnetic field relations are obtained. Dependence of magnetic field strength with the distance from the source is also extracted.

Corequisite: PHYS 104

**ENG 102 English for Academic Purposes II (2+0+0) 2 ECTS 4**

(Akademik İngilizce II)

The aim of this course is to provide students with the academic skills necessary to succeed in their undergraduate studies. This course utilizes speaking, listening, reading and writing skills in an integrated approach to promote the use of English in an academic context. The course will fine-tune the skills developed in English 101 and help students to further develop arguments as well as become more confident, independent and experienced speakers of English, particularly in presenting academic material.

Prerequisite: ENG 101

**COMP 201 Data Structures and Algorithms (3+0+2) 4 ECTS 6**

(Veri Yapıları ve Algoritmalar)

This course covers the fundamentals of data structures such as lists, stacks, queues, heaps, trees, and hashing. Application of these concepts are realized using Java programming language.

Prerequisite: COMP 109

**COMP 205 Systems Programming (3+0+2) 4 ECTS 6**

(Sistem Programlama)

This course covers the fundamentals of systems programming concepts such as machine-level representation of programs, program linking, and system-level I/O. Application of these concepts are realized in C programming language on UNIX-based environment.

Prerequisite: COMP 109

**EE 203 Digital Systems Design (3+0+2) 4 ECTS 6**

(Sayısal Sistemler Tasarımı)

This course introduces logic design and basic building blocks of modern digital systems such as digital computers. The course has three phases. We begin with number systems, Boolean algebra, combinational logic including minimization/optimization techniques based on Karnough Maps. The second phase considers sequential logic including flip-flops, counters and basic memory elements. Using such fundamental sequential blocks, we will design finite state machines. The third phase includes registers and a simple computer design. Throughout the course, different representations such as truth tables, timing diagrams and state diagrams shall be discussed. This course has an accompanying lab component in which students are expected to obtain hands-on experience with design softwares and digital integrated circuit technology using breadboards.

**MATH 211 Linear Algebra (3+0+0) 3 ECTS 6**

(Lineer Cebir)

This course provides general concepts on linear algebra by covering the following topics: Systems of linear equations and matrices, Gaussian elimination, matrix algebra, inverse of a matrix, elementary matrices, LU-factorization, the determinant of a square matrix, the properties of determinants, Cramer’s rule, vector spaces, subspaces, linear independence, basis and dimension, change of basis, inner product spaces, orthonormal basis, linear transformations, matrix representations of linear transformations, eigenvalues and eigenvectors, diagonalization.

**HISTR 211 Principles of Ataturk and History of the Turkish Republic I (2+0+0) 1 ECTS 2**

(Atatürk İlkeleri ve İnkilap Tarihi)

This course examines the modernization process that started in the last period of the Ottoman Empire, the Atatürk revolution and the establishment of the secular nation-state. The enlightenment movement in the last period of the Ottoman Empire and the legacy of the political thought left by the Ottoman intellectuals will be emphasized and the history of modernization as a whole will be introduced to establish cause-effect relationships. The establishment of a new state, a republic that dominates the will of the people, instead of the will of the sultan, reforms in the early Republican era, the basic principles of the Atatürk revolution will be examined. The aim of the course is to provide students with a solid foundation on Turkish political history.

**ENGR 301 Technical Report Writing and Presentation (2+0+0) 2 ECTS 4**

(Teknik Rapor Yazma ve Sunma)

This course will introduce students to scientific writing and proper citation focusing on engineering documentation types such as technical reports, proposals, posters, articles and short reports. Students will also be familiarized with business and electronic media communication activities. Oral, written and graphical data presentation skills will be improved and assessed using written assignments, poster preparation and oral presentation.

Prerequisite: ENG 102

**COMP 204 Programming Studio (2+0+2) 3 ECTS 6**

(Programlama Atölyesi)

This course aims for students to improve their problem solving skills by means of computer programming. Given a problem, students are expected to produce a solution by using appropriate methods and tools, to plan the project in which they analyze, design. implement and test the software they produce. The course activities will help students to improve their team work and presentation skills

After forming teams, students will work on at least 3 different projects. Each team determines and applies appropriate methods and tools to successfully complete the project. After the completion of each project, they will submit a report, including all documentations they produce, and give a presentation in the class.

Prerequisite: COMP 110

**COMP 206 Computer Architecture (3+0+0) 3 ECTS 6**

(Bilgisayar Mimarisi)

This course introduces the basics of the computer organization and architecture, design of processors, main memory, and i/o devices. It also involves understanding the concept of programs as sequences of machine instructions; understanding the relationship between assembly language and machine language; writing programs using assembly languages; understanding the relationship between high-level compiled languages and assembly languages; understanding arithmetic and logical operations with integer operands; understanding floating-point number systems and operations; understanding data path and controller designs; understanding cache structures and virtual memories; understanding and implementing basic pipelining concepts and learning about advanced microarchitecture concepts such as branch prediction and multicore implementations.

Prerequisite: EE 203

**COMP 200 Computer Engineering Practice I (0+0+0) 1 ECTS 2**

(Bilgisayar Mühendisliği Stajı I)

This course introduces the applications of the computer engineering concepts by practicing engineering in a company, observing professional working environment of engineers, getting actively involved in the projects of the company.

**MATH 224 Probability and Statistics for Engineering (4+0+0) 4 ECTS 6**

(Mühendislik için Olasılık ve İstatistik)

This course provides a comprehensive introduction to probability theory and its applications to engineering. The following topics are covered: definition and rules of probability; random variables and uncertainty, expected value, variance and standard deviation of a probability distribution; discrete probability distributions: the Bernoulli, Binomial, geometric and Poisson distributions; continuous probability distributions: the uniform, exponential and normal distributions; multivariate probability distributions, covariance and correlation; descriptive statistics; sampling and sampling distributions; estimation and confidence interval; hypothesis testing; simple regression.

**EE 212 Electrical and Electronic Circuits (3+0+2) 4 ECTS 6**

(Elektrik ve Elektronik Devreleri)

This course aims to introduce the sophomore students the basic components and characteristics of electric circuits and the mathematical techniques to analyze electric circuits. The course content covers basic circuit components and their current-voltage characteristics, circuit theorems and equations, DC circuit analysis techniques, Operational amplifiers; concepts and application examples, time domain analysis of RC, RL circuits, analysis a circuit in frequency domain, finding the power and energy consumption of the circuits in frequency domain also Semi-conductor basics: concepts and semi-conductor components, Bipolar junction transistor (BJT); physical structure and operating modes, BJT as a switch, MOSFET; structure and operating modes, MOSFET as a switch. The theoretical lectures will be coupled by laboratory work.

**HISTR 212 Principles of Ataturk and History of the Turkish Republic II (2+0+0) 1 ECTS 2**

(Atatürk İlkeleri ve İnkilap Tarihi II)

This course examines the birth of modern Turkey after the War of Independence Victory. It analyzes the revolutions in political, social and cultural fields and the basic principles of the Atatürk revolution. It is aimed for the student to learn the establishment process of the new Republic and the newly created institutions. Information is given on the transition to a multi-party life from the one-party period, the Democratic Party Period, the 27 May and 12 September military interventions, and the recent Turkish political history. This course aims to give students the ability to comment on these important turning points of recent history.

**TURK 112 Turkish Language and Literature II (2+0+0) 1 ECTS 2**

(Türk Dili ve Edebiyatı II)

Informative writing types (column writing, article, interview, criticism, essay, diary, memory, travel, letter, life story, autobiography); fictional genres (story, novel, theater); subject, message, style, expression styles and ways of developing thought in the text; scientific article/research report, bibliography and footnote rules; types of verbal expression; punctuation, spelling rules, expression disorders; problems Turkish language face.

**COMP 303 Algorithm Analysis (3+0+0) 3 ECTS 6**

(Algoritma Analizi)

This course provides a comprehensive introduction to some fundamental aspects of Analysis of Algorithms. The following topics are covered: Introduction, mathematical foundations; asymptotic analysis; recurrences; sorting algorithms, merge sort, heap sort; randomized algorithms, Hashing, searching, Binary search Trees, 2-3 Tress, Red and Black trees, Binomial Heaps; Fibonacci Heaps

Given a computational problem, we want to (a) find an algorithm to solve the problem, (b) prove that the algorithm solves the problem correctly, (c) prove that we cannot solve the problem any faster, and (d) implement the algorithm. The course focuses on these topics by studying useful algorithmic design techniques and methods for analyzing algorithms.

Prerequisite: COMP 201

**COMP 305 Database Management Systems (3+0+0) 3 ECTS 6**

(Veritabanı Yönetim Sistemleri)

This course provides a comprehensive introduction to some fundamental aspects of Database Management. The following topics are covered: Database concepts. Relational model, relational algebra, queries. Application development. Database design, normalization, entity-relationship model. Concurrency, transactions.

Prerequisite: COMP 110

**MATH 213 Differential Equations (4+0+0) 4 ECTS 7**

(Diferansiyel Denklemler)

This course introduces ordinary differential equations, discusses their methods of solutions and introduces vector-valued functions Topics include: First order differential equations, second order linear differential equations, higher order linear differential equations, series solutions of linear differential equations, initial value problems, Laplace transforms and systems of first order linear differential equations. Vector-valued functions, the divergence and curl of vector-valued functions and their geometric applications.

**MATH 321 Automata Theory and Formal Language (3+0+0) 3 ECTS 6**

(Biçimsel Diller ve Otomatlar Kuramı)

This course covers the fundamentals of theory of computation: basic graph theory, introductory discrete mathematics, regular languages, finite state machines, push-down automata, regular expressions, context-free grammars, Turing machines, decidability, reducibility, time complexity

**COMP 302 Software Engineering (3+0+0) 3 ECTS 6 **

(Yazılım Mühendisliği)

This course provides a comprehensive introduction to some fundamental aspects of Software Engineering. The intensive content of the course presents a broad view of common Software Engineering topics such as process models, project management, software analysis and design, software testing and maintenance.

Prerequisite: COMP 201

**COMP 304 Operating Systems (3+0+0) 3 ECTS 6**

(İşletim Sistemleri)

This course provides a comprehensive introduction to some fundamental aspects of Operating Systems. The following topics are covered: Introduction, history. Processes: basic concepts, concurrent processes, mutual exclusion, process management, scheduling approaches. Deadlock and deadlock prevention approaches. Memory management: segmentation, paging, related methods, virtual memory. Input/Output. UNIX and other example operating systems.

**EE 306 Microprocessors (3+0+1) 3.5 ECTS 5 **

(Mikroişlemciler)

This course provides a comprehensive introduction to computer and microprocessor based systems. The following topics are covered: Binary numeral system, Input/output Interface, I/O with interrupts, direct memory access and management, microprocessor architecture; system design with the state of the art microprocessors.

Prerequisite: EE 203

**EE 204 Signals and Systems ****(4+0+0) 4 ECTS 6**

(İşaretler ve Sistemler)

This course provides a comprehensive understanding of continuous-time and discrete-time signals and systems. The following topics are covered: fundamental concepts: linearity, stability; time and frequency analysis of continuous-time and discrete-time signals; Fourier Series, Fourier Transform, Laplace Transform, Discrete Fourier Transform, z-Transform; Sampling.

**ECON 112 Economics for Engineering (2+0+0) 2 ECTS 5**

(Mühendislik için Ekonomi)

The course introduces to basic concepts of economics. The course content begins with the analyses of market mechanisms, which are perceived as the elementary organization form of the economy. Subsequently, the role of governmental policies and regularizations are incorporated into the analyses. Firm behavior and the organization of the industry are described in further details. Long-run and short-run dynamics of macroeconomic variables are investigated. The analyzed theoretical concepts are critically reviewed by the help of empirical data. The course ends with applications of presented methods on selected special topics.

**COMP 491 Senior Design Project I (0+6+0) 3 ECTS 6 **

(Tasarım Projesi I)

This non-lecture course provides a comprehensive design process. The following tasks are carried out by student taking this course: Problem identification, project group formation, project planning: cost, effort, duration and resource estimation, Gantt chart, feasibility study, risk analysis, literature survey, comparison of solution methods and selecting a solution, analysis, design, development and test of project. Preparing the project report and giving presentation at the end of the semester.

**COMP 421 Computer Networks (3+0+0) 3 ECTS 6**

(Bilgisayar Ağları)

This course provides a comprehensive introduction to fundamental aspects of Computer networks. Topics to be covered include data communication concepts, layered network models (OSI reference model, TCP/IP networking architecture), different switching techniques, network congestion, network topologies, IP and Mac addressing, various types of networks (LAN, MAN, WAN and Wireless networks) and the protocols.

Prerequisite: COMP 110

**HUM 300 Engineering Ethics (2+0+0) 2 ECTS 3**

(Mühendislik Etiği)

To learn general issues and basic principles of ethics, ethical problems that professions at different sectors face; attitudes of the professions especially engineers to the problems and the consequences of the different solutions.

**COMP 492 Senior Design Project II (0+8+0) 4 ECTS 7 **

(Tasarım Projesi II)

This non-lecture course is the successor of COMP 491 Senior Design Project I and provides a comprehensive design process. The following tasks are carried out by student taking this course: literature survey, comparison of solution methods and selecting a solution, analysis, design, development and test of project. Preparing the project report and giving presentation at the end of the semester.

Prerequisite: COMP 491

**COMP 300 Computer Engineering Practice II (0+0+0) 1 ECTS 2 **

(Bilgisayar Mühendisliği Stajı II)

This course introduces the applications of the computer engineering concepts by practicing engineering in a company, observing professional working environment of engineers, getting actively involved in the projects of the company.

**ENTR 400 Business Skills and Entrepreneurship (3+0+0) 3 ECTS 5**

(İşletme Becerileri ve Girişimcilik)

The course mainly focuses on introducing the students with the experience of creating and growing new ventures as well as finding creative ways to start ups’ challenges, by analyzing real life examples and meeting with start-up founders in person. Throughout the course, the students will be working individually or in groups on "how to start a start-up from scratch” by focusing on their own ideas of a new product, service or process and will learn to present their start up ideas by using a business model canvas. At the end of the semester, they will make presentations for pitching those ideas in the classroom. As entrepreneurship is a career opportunity for students coming from a broad range of disciplines, the course will not be limited to students of Business and Economics only. Instead, the students with the basic knowledge on business related concepts will be able to attend the course.

**Electives**

**COMP 428 Human Computer Interaction (2+0+2) 3 ECTS 6**

(İnsan-Bilgisayar Etkileşimi)

This course is an introductory course on human-computer interaction. It does not presuppose any earlier knowledge of human-computer interaction, computer science, or psychology. The class covers three broad categories of topics within human-computer interaction: (a) the principles and characteristics of the interaction between humans and computers; (b) the techniques for designing and evaluating user-centered systems; and (c) current areas of cutting-edge research and development in human-computer interaction.

**COMP 450 Artificial Intelligence (2+0+2) 3 ECTS 6**

(Yapay Zeka)

This course provides a comprehensive introduction to some fundamental aspects of Artificial Intelligence. The following topics are covered: Introduction, Intelligent agents, Search algorithms, A*search and heuristics, constraint satisfaction problems, Game trees, Knowledge representation, Learning: reinforcement learning, Decision trees, evolutionary methods, Artificial Neural Networks, Perceptions, Deep Learning, Perception: Vision.

**COMP 451 Introduction to Natural Language Processing (3+0+0) 3 ECTS 6 **

(Doğal Dil İşlemeye Giriş)

This course covers the fundamentals of natural language processing: morphological analysis, syntactic analysis, parsing, language models, semantics, pragmatic analysis, and evaluation. Moreover, some NLP topics and algorithms are covered such as part-of-speech tagging, word sense disambiguation, dialogue systems, language generation, text classification, summarization, and question answering.

**COMP 462 Introduction to Machine Learning (3+0+0) 3 ECTS 6 **

(Yapay Öğrenmeye Giriş)

This course covers the fundamentals of machine learning approaches: Supervised learning, unsupervised learning, regression methods, outlier detection, feature analysis, validation and evaluation.

**COMP 464 Web Programming and Internet Technologies (3+0+0) 3 ECTS 6 **

(Web Programlama ve Internet Teknolojileri)

This course covers the fundamentals of all basic component of Internet. The course will be taught under two sections: Theory and Application. The theory section covers the following topics: Two-tiered client server architecture; Three-tier architects with Model-Presentation-Control (MVC) architecture; Web servers and web server extensions such as Java servlets and JSP; Service-oriented architecture and components, web services, semantic web; Internet protocols (HTTP, SOAP);Cloud Computing.

In the application section, the student will practice the client side web technologies like HTML, CSS, JavaScript and become familiar with how to design and implement efficient, scalable and secure database backed web sites.

**COMP 468 Introduction to Internet of Things (3+0+0) 3 ECTS 6 **

(Nesnelerin İnternetine Giriş)

This course is about to design IoT-related functions. In the course, we will discuss IoT concepts, and we will examine all the components ot an IoT structure, including the ‘things’ that make up the Internet of Things, the connectivity between the things, cloud structure, and the added values. We will also examine cybersecurity and privacy issues, and highlight how IoT can optimize processes and improve efficiencies in your business.

**COMP 472 Parallel and Distributed Systems (3+0+0) 3 ECTS 5 **

(Paralel ve Dağıtık Sistemler)

In this course, we will cover a list of introductory materials about distributed and parallel systems including computation and storage aspects of data. We will learn fundamentals of multi-core, multi-thread as well as multi-computer programming models such as MP and MPI, service models, networking, distributed/parallel file systems, and various distributed system algorithms related to lookup, concurrency, consistency, availability and failure tolerance. We will also cover common problems of distributed systems such as livelocks and deadlocks and try to investigate some of the modern solutions. If time permits, we will also give time to learn advanced topics such as cloud computing and cloud storage concepts.

**COMP 482 Computer Vision (3+0+0) 3 ECTS 6**

(Bilgisayarla Görü)

This course provides a comprehensive introduction to some fundamental aspects of Computer Vision. The following topics are covered: Introduction, Image formation, camera parameters, preprocessing, convolution, segmentation, edge and corner detection, SIFT, Parameter estimation, RANSAC, image stitching, binocular stereo, image understanding and object recognition, Deep Learning.

Prerequisite: COMP 201

**COMP 490 Introduction to Information and Coding Theory (3+0+0) 3 ECTS 6 **

(Bilgi ve Kodlama Kuramına Giriş)

This course will introduce basic mathematical principles behind data compression and data protection for efficiency and high failure tolerance. The theory of information will be broken down to learning the concepts of entropy, mutual information, channel capacity, source and channel coding at an introductory level. Basic Gaussian as well as some discrete symmetric source and channel models will be considered. The fundamental limits of data compression and data transmission will be examined using the techniques introduced in this class. The course will also cover designing practical coding algorithms such as Huffman and standard deterministic and probabilistic block codes with the details of encoding and decoding algorithms.