Courses



CE 215 Discrete Mathematics for Computer Science

Topics include Boolean algebras, logic, set theory, relations and functions, graph theory, counting, combinatorics, and basic probability theory.


CE 216 Fundamental Topics in Programming

The course covers programming topics such as; File I/O, object oriented design, JavaFX, design patterns, concurrency, debugging, testing, and profiling.


CE 221 Data Structures and Algorithms I

Algorithm analysis, linear data structures, trees, hashing, priority queues, sorting, and graph algorithms.


CE 223 Database Systems

Topics related to both database design and database programming are covered.


CE 315 Automata Theory and Formal Languages

This course discusses the fundamental theories of computer science including regular expressions and context free languages, finite and pushdown automata, Turing machines, computability, undecidability, and complexity of problems.


CE 316 Programming Paradigms

Different programming paradigms such as Imperative Programming, C Programming Language, Memory Management, Concurrent Programming, Threads, Resource Sharing, Scripting, Python, Functional Programming Languages, Logic Programming Languages are introduced along with practical sessions in these paradigms.


CE 323 Operating System Concepts

Operating System Structures, Process Management, Memory Management, File Systems, Discs, I/O Systems topics are covered.


CE 326 Computer Networks

Alongside each layer and protocols of computer networks, the following topics will also be discussed: OSI model of network; MAC protocol; TCP and UDP protocols; error control, detection and correction; IPv4; routing; socket programming; network security.


CE 342 Fundamentals of Microprocessors

This course discusses various aspects of the most important component of a computer, the microprocessors. The topics include the fundamental concepts of microprocessors and the relationship between assembler and basic components of a computer, 80x86 family architecture, 80x86 based assembly language programming, computer organization and architecture of the PC.


CEST 400 Engineering Summer Training (4 weeks)

Internship, covers field experience at any work place for 3 weeks. Students should follow the instructions stated in IUE Internship Guide in order to successfully complete their internships.


EEE 215 Introduction to Electrical Circuits and Electronics for Computer Engineers

This course introduces fundamentals of electric circuits and electronics by covering the following topics; DC analysis of resistive networks, operational amplifiers. Modeling of microelectronic devices, and basic microelectronic circuit analysis and design. Simple diode circuits, rectifiers and voltage regulators. Characteristics of MOS transistors. Development of models; AC and DC analysis of MOS amplifiers. Digital circuits and logic gates. NMOS and CMOS logic gates. Various logic circuits.


EEE 242 Digital Design

The course will cover many subjects including binary logic, combinatorial and sequential circuit design, state machine design techniques, instruction set architectures, and finally basic processor design.


ENG 101 Academic Skills in English I

This course aims at preparing students to use academic skills in English.


ENG 102 Academic Skills in English II

ENG 102 is a compulsory course for first year students. ENG 102 focuses on the cognitive skills of listening, reading, writing and speaking. Students' academic listening skills will be improved by listening to important / relevant information from lectures or discussions and reading skills by reading recent academic texts and then using this information to create an output task. Speaking focuses on giving presentations and students get prepared to express their ideas and opinions by speaking persuasively and coherently. The writing component is a consolidation of the speaking activities.


ENG 210 Technical English for Engineers

The course focuses on technical writing and oral presentation skills by engaging students in project work related to their departments. It also covers language areas specific to the genre of technical reports, summaries and project proposals.


FENG 101 Fundamentals of Engineering Culture

In this course, the main aspects of engineering history, the fundamentals of ethics in engineering, the analysis of engineering applications from an ethical perspective, the environmental, social, and economic sustainability of engineering applications. The public health and safety impacts of engineering applications, the fundamentals of entrepreneurship and innovation, success stories of entrepreneurial engineers, the methods of obtaining scientific information, the usage of scientific databases will be covered.


FENG 102 Introduction to Engineering

The course will cover basic engineering concepts such as units, engineering analysis and design process. The second half of the course will be dedicated to program-based introductory content.


FENG 345 Numerical Methods for Engineers I

Solutions of system of linear equations, iterative methods, interpolation, cubic splines, numerical differentiation, numerical integration, numerical solution of nonlinear equations, initial value problems, numerical solution of ordinary differential equations, finite difference method, engineering application problems.


FENG 497 Multidisciplinary Engineering Projects

The design, analysis and business-plan development of a project by teams of students by using engineering techniques; preparation of project reports and presentation by using state-of-the-art tools and methods.


FENG 498 Engineering Capstone

Students in teams can specify, analyze and handle business plan of a project using engineering fundamentals. They can realize and implement the project using emerging tools. They can report and present all the details of their final product.


HIST 100 Principles of Atatürk and History of Revolution

This course provides a general information of the events from the end of the 19. century until the end of the Turkish War of Independence and the signing of the Treaty of Lausanne in 1923 and the following period until 1990’s.


IUE 100 Orientation and Career Planning

The course will help students recognize the skills needed for university life and their career goals. These skills include self-awareness, goal setting, time management, effective communication, mindfulness and analytical thinking. The course will also raise students’ awareness on problems such as addiction and bullying.


MATH 153 Calculus I

Calculus I provides important tools in understanding functions of one variable and has led to the development of new areas of mathematics.


MATH 154 Calculus II

In this course, integration techniques and application of integration, Taylor and Maclaurin series and their applications, functions of several variables, their derivatives, integrals and applications are examined.


MATH 207 Introduction to Differential Equations I

In this course basic concepts of differential equations will be discussed.The types of first order ordinary differential equations will be given and the solution methods will be taught. Also, solution methods for higherorder ordinary differential equations will be analyzed.


MATH 236 Engineering Statistics

This course focuses on sampling distributions, statistical estimation, hypothesis testing, simple and multiple linear regression. In addition, experimental design and applications of these methods to industrial systems engineering are discussed.


MATH 240 Probability for Engineers

In this course some important theorems about probability are investigated. In addition, applications of random variables and their probability distributions are discussed.


MATH 250 Linear Algebra for Engineers

The main subjects of the course are the vector and matrix operations, linear independence and dependence of vectors, linear vector spaces and subspaces, dimensions and basis vectors for vector spaces, linear transformations, determinants, eigenvalue and eigenvectors.


PHYS 100 General Physics I

In this course, we will discuss the subjects of motion along a straight line, motion in two and three dimensions, Newton’s laws, work and kinetic energy, potential energy and conservation of energy, momentum, collisions, dynamics of rotations, gravitation and periodic motion.


PHYS 102 General Physics II

In this course, we will cover the topics of electric field and charge, Gauss’s law, electric potential, capacitance and dielectrics, current, resistance and electromotive force, direct-current circuits, magnetic field and magnetic field sources and induction.


SE 115 Introduction to Programming I

This course introduces the students to the fundamental concepts of programming using Java programming language.


SE 116 Introduction to Programming II

This course covers the fundamental concepts of object-oriented programming using Java programming language.


SE 302 Principles of Software Engineering

In this course, students learn the theoretical and practical aspects of specification and design, development, verification and validation and testing stages of SE. More, this course enables students to realize software specification and design phases of sample projects with real clients.


SFL 1013 Second Foreign Languages I

Please Select a Language


SFL 1024 Second Foreign Languages II

Please Select a Language


SFL 201 Second Foreign Languages III

Please Select a Language


SFL 202 Second Foreign Languages IV

Please Select a Language


TURK 100 Turkish

Students will be taught how to use the written and verbal communication tools accurately and efficiently in this course. Various types of verbal and written statements will be examined through a critical point of view by doing exercises on understanding, telling, reading, and writing. Punctuation and spelling rules, which are basis of written statement, will be taught and accurate usage of these rules for efficient and strong expression will be provided. As for verbal statement, students will be taught how to use the body language, use accent and intonation elaborately, and use presentation techniques.


CE 304 Operating Systems Security

A study of technical security policies, models, and mechanisms for confidentiality, integrity, and availability with respect to operating systems from an engineering point of view.


CE 320 Application Development with MATLAB

Basics of computer programming, basics of MATLAB programming environment, handling and plotting data, programming constructs, data structures, simple input and output, using multimedia content, timing and logging, development and debugging techniques, functions and modular programming, parsing and processing log files, developing experimental setups, analyzing experiment logs.


CE 322 Pattern Recognition

Learning and adoption, Bayesian decision theory, discriminant functions, parametric techniques, maximum likelihood estimation, Bayesian estimation, sufficient statistics, non-parametric techniques, linear discriminants, algorithm independent machine learning, classifiers, unsupervised learning, clustering.


CE 340 Cryptography and Network Security

To introduce literature and terminology used for cryptography and network security; to acquaint students with the major cryptography algorithms, systems, functions, and development techniques applied to network security mechanisms.


CE 344 Advanced Machine Learning

Course discusses several advanced techniques such as training data collection, learning in order to extract statistical structure from data, over-fitting, parametric models and parameter selection, validation, regression, classification, nonparametric models, clustering.


CE 345 Introduction to Machine Learning

Machine learning is concerned with computer programs that automatically improve their performance with past experiences. Machine learning draws inspiration from many fields, artificial intelligence, statistics, information theory, biology and control theory. The course will cover the following topics;concept learning,decision tree learning ,artificial neural networks , instance based learning,evolutionary algorithms ,reinforcement learning ,Bayesian learning , computational learning theory.


CE 350 Linux Utilities and Shell Scripting

This is an undergraduate course in Computer Science on UNIX/Linux operating system. Although the course provides a broad view of the operating system, it mostly focuses on Bash programming and system administration. Students will get a handson approach on using and programming the operating system commands and scripts and will become very familiar with the UNIX environment. This course requires an understanding of modern operating systems and a working knowledge of programming basics. Students will be asked to work on a substantial Bash programming project and will need to develop good technical writing skills and programming skills.


CE 360 Wireless Communications

This course will cover basic topics in Transmission Fundamentals; Communication Networks; Wireless Channel; Signal Encoding Techniques; OFDM and Spread Spectrum; Coding and Error Control; Wireless LANs; Bluetooth and PAN; Cellular Networks -4G and LTE; Mobile IP; Satellite Communications.


CE 370 Distributed Database Systems

Distributed database design, distributed transaction management and concurrency control, data replication, distributed query processing and optimization.


CE 380 Computational Geometry

Well-known computational geometry problems, their algorithmic solutions and computational geometry problem solving techniques.


CE 390 Analysis of Algorithms

Greedy algorithms, divideandconquer type of algorithms, dynamic programming and approximation algorithms.


CE 395 Special Topics in Machine Learning

The following topics will be included: sampling and information theory, digital filters and discrete Fourier transform, basics of vector and matrix manipulations, basics of numerical optimization, principles of statistical learning theory.


CE 401 Algorithms Design

The course covers basics of Algorithms Analysis, graph theoretic concepts, greedy algorithms, divide and conquer algorithms, dynamic programming, and approximation algorithms.


CE 403 Computer Architecture and Organization

Computer Hardware Components, Microprogramming, Instruction Sets, Assembly Language Instructions, Parallel Architectures.


CE 405 Programming for Bioinformatics

The course covers bioinformatics tools/software related to biological sequence (DNA, RNA, protein) analysis, molecular structure prediction, functional genomics, pharmacogenomics and proteomics, biological pathway analysis.


CE 407 Introduction to Cloud Computing

Introduction to cloud computing, cloud architecture and service models, benefits of cloud computing, distributed storage, security and cloud services and software


CE 450 Distributed Systems and Parallel Computing

To acquaint students with the major types, structures, functionality, and deployement of distributed systems, and to introduce students to the literature and terminology used for distributed systems and parallel computing.


CE 455 Deep Neural Networks

The following topics will be included: feed-forward neural networks, back-propagation, convolutional neural networks, recurrent neural networks, recursive neural networks, regularization, optimization.


CE 462 Intoduction to Sparse Representations

Provides introductory knowledge on the basics of sparse representations with theoretical and numerical aspects, and practical applications in real life.


CE 466 Computer Vision

The following topics will be included: image formation, image processing, feature detection and matching, segmentation, feature-based alignment, structure from motion, dense motion estimation, image stitching, computational photography, stereo correspondence, 3D reconstructions, image-based rendering, and recognition.


CE 470 Introduction to Neural Networks

The following topics will be included in the course: The main neural network architectures and learning algorithms, perceptrons and the LMS algorithm, back propagation learning, radial basis function networks, support vector machines, Kohonen’s self organizing feature maps, Hopfield networks, artificial neural networks for signal processing, pattern recognition and control.


CE 475 Fundamentals and Applications of Machine Learning

Fundamentals of probabilistic reasoning and linear algebra, linear regression, nonlinear models, cross validation and bootstrapping, model selection, decision trees, and support vector machines.


CE 476 Music and Computers

Introduction to acoustics. Fundamentals of sound, and the signal flow that sound takes through a typical recording system. Sound characteristics such as amplitude and frequency. Sound analysis techniques and visualizing sounds. Recording techniques: essential components used in the music production process. Sound synthesis and computer music: digital signal processing and sound generation techniques. Sound editing techniques: components of sound editing. Stages of sound to microphone, from microphone to computer, and then back to speakers. Analog to digital converters (ADC) and digital to analog converters (DAC). Mixing board and mixing process.


CE 477 Data Science

The following topics will be included: getting and cleaning data, exploring data, statistical models of data, statistical inference, main machine learning methods in data science including linear regression, SVM, k-nearest neighbors, Naïve Bayes, logistic regression, decision trees, random forests, clustering, and dimensionality reduction, over-fitting, cross-validation, feature engineering.


CE 485 Linear and Integer Programming

LP Standard Form, Extreme Points and Basic Solutions, Rudimentary Simplex Algorithm, Interior Point Strategies for LP, Formulating Duals, Primal-to-Dual Relationships, LP-Based Branch and Bound, and Rounding.


CE 490 Introduction to Digital Image Processing

The following topics are included: Digital images as two-dimensional signals; two-dimensional convolution, Fourier transform, and discrete cosine transform; Image processing basics; Image enhancement; Image restoration; Image coding and compression.


EEE 461 Embedded System Design

This course covers the introduction of 8 and 32 bit microcontrollers and their peripherals, registers, serial communication with other microcontrollers and main computer; design of a microcontroller based device; design of printed circuit board; coding and uploading the firmware and all steps including the testing of device for the application.


IE 342 Decision Theory

This course is one of the basic sections of Operations Research, which studies a rational process for selecting the best of several alternatives. The “goodness” of a selected alternative depends on the quality of the data used in describing the decision situation. From this standpoint, a decisionmaking process can fall into one of three categories. 1. Decisionmaking under uncertainty in which the data cannot be assigned relative weights that represent their degree of relevance in the decision process. 2. Decisionmaking under risk in which the data can be described by probability distributions. 3. Decisionmaking under certainty in which the data are known deterministically. 4. Decision making in multicriteria environment. The main subjects of the course are the decision situation, decision rule, decision trees, information and the cost of additional information, utility theory, multiobjective problems, solution notions for such problems and methods for calculations efficient solutions for multiobjective problems, goal programming and the methods of analyzing solutions for goal programming problems.


IE 346 Engineering Economics

Economic analysis for engineering and managerial decision making. Techniques for evaluating the worth of prospective projects, investment opportunities and design choices. Interest and time value of money, methods for evaluation of alternatives: present worth, annual equivalent worth, rate of return, and payback method. Inflation, after tax economic analysis. Sensitivity and risk analysis.


IE 361 Game Theory

Elements of a Game and Payoffs Games, Prisoner's dilemma,Intro to ComlabGames Software, Strategies, Sequential Move Games, Risk and Probabilities, Simultaneous Move Games, Nash Theory, Incomplete Information Games


IE 373 Software Applications in Industry

This course includes information about the development of ERP and its modules, and applications in some of these modules. In addition, it covers the concept of "e-" and its application in different fields.


IE 375 Financial Engineering

Students will learn to make decisions by taking into account such features as interest rates, and rates of return. They will learn about the concept of arbitrage, and when consideration of such is sufficient to price different investments. Applications to call and put options will be given. Students will learn when arbitrage arguments are not sufficient to evaluate investment opportunities. They will learn to make use of utility theory and mathematical optimization models to determine optimal decisions. Dynamic programming will be introduced and used to solve sequential optimization problems. The use of simulation in financial engineering will be explored.


MCE 412 Autonomous Robotics

Introduction to Autonomous Robotics, motion models of a robot, measurement models of different sensor types, filtering techniques, simultaneous localization and mapping method


MCE 420 Automation and Industry 4.0

Introduction to automation of manufacturing systems, components of automation systems, productive use of the related hardware and software, proposing the appropriate system and implementation, applying analog and digital control, integration of basic mechanic, electric and computer programming skills, project examples.


SE 204 Human-Computer Interaction

Teaching the basic principles of user interfaces. Introduce students to usability models and principles. Get students to carry out user and task analyses. Teach design, prototype development and evaluation through having students complete term projects. Discuss the effects of interface properties such as color and typography. Teach new user interface techniques.


SE 306 Database Management Systems

Learning data modelling techniques with traditional Entity Relationship Model as well as UML’s Use Case and Class diagrams. Data definition and creating database objects by using SQL language. Developing database solutions in response to a set of user requirements by using Oracle DBMS tool. To use ‘stored procedures’ and ‘ triggers’ in SQL programs in a problem solving approach.


SE 307 Concepts of Object-Oriented Programming

This course introduces the students to the fundamental concepts of object oriented programming using the C# programming language.


SE 309 Concepts of Programming Languages

The following topics will be included: lexical and syntax analysis, names, bindings, type checking, scopes, data types, expressions, assignment statements, subprograms, implementing subprograms, abstract data types and encapsulation constructs, support for object oriented programming, concurrency, exception handling, event handling, implementation issues of emerging programming languages.


SE 310 Advanced C++: Templates and Generic Programming

This course covers the principals behind the templates and generic programming, and introduces students to the state of the art generic libraries.


SE 311 Software Architecture

This course covers the principals behind the software design patterns and their application in constructing software components.


SE 313 Computer Graphics

In this course, students learn about theoretical aspects of computer graphics and use this information in the applications that they develop.


SE 320 Introduction to Computer Games

In this course, students learn about the process of video game development and use this information to develop their own computer games.


SE 330 Advanced Game Development

In this course, students learn about the advanced topics in the process of video game development and use this information to develop their own computer games.


SE 344 Software Testing

It is generally accepted that it is not possible to create perfect software. It is therefore necessary to test software before it is released to the users to reduce the risk of mistakes in software production having a negative impact when the software is used. It is equally necessary to ensure that testing is performed well. This course specifies definitions and concepts, test processes, test documentation, test techniques in software engineering.


SE 350 Game Design

In this course, students learn about the process of game development and use this information to develop their own games.


SE 352 Network Programming in Computer Games

In this course, students learn the theoretical aspects of networking in computer games and practically implement these algorithms in their own multiplayer computer games.


SE 354 Artificial Intelligence in Computer Games

In this course, students learn the theoretical aspects of the commonly used artificial intelligence algorithms in computer games and practically implement these algorithms in their own computer games


SE 355 Mobile Game Development

In this course, students learn fundamental game design and development principles and methods for mobile platforms. Also students will gain practical knowledge by developing a mobile game as a course project.


SE 360 Advances in Software Development

This course introduces the students advanced topics in Java programming language.


SE 362 Server-Side Scripting Languages

This course introduces the students to the fundamental concepts of web programming using HTML, CSS, JavaScript, jQuery and JSON.


SE 370 Programming Web Services

An exploration of current and emergent technologies which are used to provide services (machine to machine communications) over N-tiered and distributed networks. Also covered are transaction processing, service and security policies, business protocols, and the web services development cycle.


SE 380 Mobile Application Development

Mobile devices, mobile applications and their requirements, developing mobile applications, using web services and databases in mobile applications.


SE 390 Software Engineering for Mobile Devices

This course investigates how mobile applications and content not only differ from their desktop brethern, but also how mobile computing is changing web design and programming in general. The major points of emphasis are mobile browsers and hardware, emergent coding practices and design considerations, the incorporation of geolocation in programming considerations, the creation of mobile widgets and applications, and the deployment of a site that delivers mobile content.


SE 420 Artificial Intelligence and Expert Systems

This course provides an introduction to Artificial Intelligence (AI). In this course we will study a number of theories, mathematical formalisms, and algorithms, that capture some of the core elements of computational intelligence. We will cover some of the following topics: search, logical representations and reasoning, automated planning, representing and reasoning with uncertainty, decision making under uncertainty, and learning.


SE 431 3D Modeling in Computer Games

In this course, students learn 3D modeling techniques for computer games


SE 432 3D Animation in Computer Games

In this course, students learn 3D animation techniques for computer games.


SE 460 Software Measurement

This course addresses software measures. Software measurement is playing an increasingly important role in software engineering since this discipline is becoming an engineering discipline. It is necessary then to address techniques of measurement in the context of the engineering disciplines.


SE 470 Software Maintenance

The objective of this course is to provide the fundamental concepts of software maintenance, its framework and processes, and to provide insight into abstraction, problem solving and systematic view.


SE 480 Client Side Scripting Languages

This course introduces the students to the fundamental concepts of web programming using HTML, CSS, JavaScript, jQuery and JSON.


SE 482 E-Business: Administration, Security and Marketing

The purpose of this course is to inform the how e-business will be implemented under different conditions and environments.