### First Year

**Fall Semester (19/19 credits, 30/30 ECTS)**

Course Code | Course Name | (Hour) Credit | ECTS | Category | Prerequisite |
---|---|---|---|---|---|

AIT101/ | Atatürk’s Principles Reforms/ | (2,0) 0 | 1 | ECS | |

TUR100 | Turkish for Foreigners* | ||||

COM 100 | Computer Engineering Orientation | (2,0) 0 | 1 | OCE | |

ECC 106 | Introduction to Programming | (4,2) 4 | 6 | OCE | |

CHEM 101 | General Chemistry | (4,2) 4 | 6 | BS | |

ENG 101 | English I | (4,0) 3 | 4 | ECS | |

MAT 101 | Calculus I | (4,2) 4 | 6 | MT | |

PHY 101 | General Physics I | (4,2) 4 | 6 | BS |

**Spring Semester (21/40 credits, 30/60 ECTS)**

Course Code | Course Name | (Hour) Credit | ECTS | Category | Prerequisite |
---|---|---|---|---|---|

COM 121 | Discrete Structures | (4,0) 3 | 4 | CS | |

ECC 102 | Programming &Problem Solving | (4,2) 4 | 6 | OCE | ECC 106 |

ENG 102 | English II | (4,0) 3 | 4 | ECS | ENG101 |

MAT 102 | Calculus II | (4,2) 4 | 6 | MT | MAT101 |

MAT 112 | Linear Algebra | (4,0) 3 | 4 | MT | MAT101 |

PHY 102 | General Physics II | (4,2) 4 | 6 | BS | PHY101 |

### Second Year

**Fall Semester (18/58 credits, 30/90 ECTS)**

Course Code | Course Name | (Hour) Credit | ECTS | Category | Prerequisite |
---|---|---|---|---|---|

ECC 001 | Logic Design | (4,2) 4 | 6 | OCE | COM121 |

ECC 201 | Data Structures& Algorithms | (4,2) 4 | 6 | OCE | ECC 102 |

ECC 204 | Electrical Circuits | (4,0) 3 | 6 | OCE | PHY102 |

MTH 201 | Differential Equations | (4,2) 4 | 6 | MT | MAT102 |

NTE | Non-Technical Elective | (4,0) 3 | 5 | ECS |

**Spring Semester (18/76 credits, 30/120 ECTS**

Course Code | Course Name | (Hour) Credit | ECTS | Category | Prerequisite |
---|---|---|---|---|---|

ECC 202 | Database Management Systems | (4,2) 4 | 6 | OCE | ECC 201 |

ECC 203 | Computer Architecture and Organization | (4,0) 4 | 6 | OCE | ECC 001 |

ECC 205 | Basic Electronics | (4,2) 4 | 6 | OCE | ECC 204 |

ENG 210 | English Communication Skills | (4,0) 3 | 6 | ECS | ENG102 |

RE | Introduction to Molecular Biology or any of Mat.& Basic Sciences Electives | (4,0) 3 | 5 | BS | |

COM 200 | Summer Training I | – | 1 | SI |

### Third Year

**Fall Semester (17/93 credits, 30/150 ECTS)**

Course Code | Course Name | (Hour) Credit | ECTS | Category | Prerequisite |
---|---|---|---|---|---|

ECC 302 | Operating Systems | (4,0) 3 | 6 | OCE | ECC 203 |

COM 360 | Signals and Systems | (4,2) 4 | 6 | OCE | MAT201 |

COM 339 | Programming Language Concepts | (4,0) 3 | 6 | CS | COM141 |

MTH 251 | Probability and Statistics | (4,0) 3 | 6 | MT | MTH102 |

COM 344 | Automata Theory | (4,0) 3 | 6 | ECE |

**Spring Semester (16/109 credits, 30/180 ECTS)**

Course Code | Course Name | (Hour) Credit | ECTS | Category | Prerequisite |
---|---|---|---|---|---|

ECC 301 | Microprocessors | (4,0) 4 | 6 | OCE | ECC 203 |

ECC 303 | Data Communications and Networking | (4,2) 4 | 6 | OCE | |

COM 333 | Operational Research | (4,0) 3 | 6 | CS | ECC 201 |

COM 382 | Real Time Systems | (4,0) 3 | 6 | OCE | MTH201 |

ECC 002 | Systems Simulation | (4,0) 3 | 6 | OCE | MTH 251 |

COM 300 | Summer Training II | – | 1 | SI |

### Fourth Year

**Fall Semester (14/123 credits, 30/210 ECTS)**

Course Code | Course Name | (Hour) Credit | ECTS | Category | Prerequisite |
---|---|---|---|---|---|

COM 490 | Engineering Design I | (2,2) 2 | 6 | BT | |

ECC 003 | Software Engineering | (4,0) 3 | 6 | OCE | COM339 |

TE | Technical Elective | (4,0) 3 | 6 | ECE | |

TE | Technical Elective | (4,0) 3 | 6 | ECE | |

TE | Technical Elective | (4,0) 3 | 6 | ECE |

**Spring Semester (14/137 credits, 30/240 ECTS)**

Course Code | Course Name | (Hour) Credit | ECTS | Category | Prerequisite |
---|---|---|---|---|---|

COM 491 | Engineering Design II | (2,2) 2 | 6 | BT | COM490 |

ECC 426 | Economics For Engineers | (4,0) 3 | 6 | ECS | |

FE | Free Elective | (4,0) 3 | 6 | ECS | |

TE | Technical Elective | (4,0) 3 | 6 | ECE | |

TE | Technical Elective | (4,0) 3 | 6 | ECE |

* AIT101 is a module for Turkish students. TUR100 is a module for foreign students In first semester AIT101 Atatürk’s Principles Reforms course is designated for the students of Turkish nationality, the course TUR100 Turkish for Foreigners – for oversee students (foreigners). MT: Mathematics, BS: Basic Science, ECS: English Composition and Social Sciences, CS: Computer Science, OCE: Obligatory Computer Engineering Courses, ECE: Elective Computer Engineering Courses, BT: Bachelor’s Thesis, SI: Summer Internship. **Restricted Technical Electives **

- Microbiology
- Biochemistry
- MAT301 Numerical Analysis 3 credits

**Free Elective**

- One of Technical Electives or MAN402 Management for Engineers (3 Credits)

**Technical Electives (Category I)**

Code | Title | Prerequsite | (Hours) Credits | ECTS |
---|---|---|---|---|

ECC 401 | Microprocessor Systems | ECC 301 | (4,0) 3 | 6 |

ECC 402 | Computer Graphics | (4,0) 3 | 6 | |

COM 410 | Parallel Computer Architecture | (4,0) 3 | 6 | |

COM 414 | Digital Control Systems | COM 382 | (4,0) 3 | 6 |

COM 416 | Computer Networks | ECC 303 | (4,0) 3 | 6 |

ECC 404 | Neural Networks | (4,0) 3 | 6 | |

ECC 405 | Computer Hardware | ECC 301 | (4,0) 3 | 6 |

ECC 406 | System Programming | ECC 106 | (4,0) 3 | 6 |

COM 430 | Programming Languages I | ECC 106 | (4,0) 3 | 6 |

ECC 407 | Programming Languages II | ECC 004 | (4,0) 3 | 6 |

ECC 005 | Internet Programming | ECC 102 | (4,0) 3 | 6 |

ECC 408 | Advanced Object Oriented Programming | ECC 106 | (4,0) 3 | 6 |

ECC 409 | Object Oriented Programming II | ECC 302 | (4,0) 3 | 6 |

COM 447 | Advanced Operating System | COM 360 | (4,0) 3 | 6 |

ECC 411 | Digital Signal Processing | ECC 202 | (4,0) 3 | 6 |

ECC 412 | Database Applications | (4,0) 3 | 6 | |

ECC 413 | Introduction to Artificial Intelligence | ECC 203 | (4,0) 3 | 6 |

COM 452 | Introduction to Parallel Computing | (4,0) 3 | 6 | |

ECC 415 | Decision Making | ECC 203 | (4,0) 3 | 6 |

COM 454 | Advanced Computer Architecture and Organization | ECC 303 | (4,0) 3 | 6 |

ECC 417 | Mobile Computing | ECC 303 | (4,0) 3 | 6 |

ECC 419 | Digital Image Processing | (4,0) 3 | 6 | |

COM 471 | Hardware Design using FPGAs | ECC 301 | (4,0) 3 | 6 |

ECC 006 | Web Design and Programming | (4,0) 3 | 6 | |

ECC 007 | Multimedia Systems | ECC 102 | (4,0) 3 | 6 |

**Technical Electives (Category 2)** Category 2 technical electives are the courses offered by other departments. These courses have been carefully selected and pre-approved by the Department.

Code | Title | Prerequsite | (Hours) Credits | ECTS |
---|---|---|---|---|

EE 411 | Telecommunications | ECC303 | (4,0) 3 | 6 |

EE 429 | Mobile Communication Systems | ECC303 | (4,0) 3 | 6 |

EE 430 | Wireless and Personnel Communications Systems | ECC303 | (4,0) 3 | 6 |

ECC435 | Mechatronics | ECC301 | (4,0) 3 | 6 |

ECC423 | Robotic Systems | COM382 | (4,0) 3 | 6 |

EE 470 | Programmable Logic Controllers | COM382 | (4,0) 3 | 6 |

**MTH 101 Calculus I 4 Credits**

Functions, limits and continuity. Derivatives. Rules of differentiation. Higher order derivatives. Chain rule. Related rates. Rolle’s and the mean value theorem. Critical Points. Asymptotes. Curve sketching. Integrals. Fundamental Theorem. Techniques of integration. Definite integrals. Application to geometry and science. Indeterminate forms. L’Hospital’s Rule.

**PHY 101 General Physics I 4 Credits**

Measurement, vectors, kinematics, force, mass. Newton’s laws, applications of Newton’s laws. Work and kinetic energy. Conservation of linear momentum. Impulse, collisions, rotation, moments of inertia. Torque, angular momentum, conservation of angular momentum, static equilibrium.

**CHM 101 General Chemistry 4 credits**

A basic course with emphasizing the metric system. Matter and measurement; atoms, molecules and ions; mass relations in chemistry, stoichiometry; gases; electronic structure and the periodic table; covalent bonding; thermochemistry; acids and bases.atoms. Chemical bonding.

**ENG 101 English I 3 Credits**

This course offers intermediate levels include wide range of grammatical structures and vocabulary of English in order to build onto the foundation established at the Preparatory School. This course aims to bring the students to a level that will enable them fulfill the requirements of main courses of their departments. Students will be encouraged to read a variety of texts as well as chapters from textbooks so that they can pursue their undergraduate studies at the university without major difficulty. ENG 101 is designed to improve the students’ presentation ability. Students are expected to do an oral presentation. At the end of the course they submitted their written projects.

**MTH 102 Calculus II 4 Credits**

Sequences and Infinite Series; The integral test, comparison test, geometric series, ratio test, alternating series. Power series, Taylor series. Parametric equations and Polar coordinates. Functions of several variables, limits, continuity, partial derivatives, chain rule, extreme of functions of several variables. Multiple integrals: Double integrals, Area, volume, double integral in polar coordinates, surface area, triple integrals, spherical and cylindrical coordinates.

**PHY 102 General Physics II 4 Credits**

Electrical charges. Coulomb’s law. Electrical fields. Gauss’s law. Electrical potential. Capacitance and dielectrics. Current and resistance. Direct current circuits. Magnetic fields. Sources of the magnetic field. Faraday’s law of induction. Inductance and inductors.Prerequisite: PHY 101

**ENG 102 English II 3 Credits**

This course offers the students a wide range of grammatical structures and key language and vocabulary of English in the technical, industrial, and scientific sectors at intermediate level for everyday communication at work. This course aims to bring the students to a level that will enable them to fulfil the requirements of the main courses of their departments. The ability to evaluate, analyse and synthesize information in written discourse will be highlighted. Documentation in writing will be introduced at the beginning of the course, in order to solidly establish the skill by the end. Students will learn the discourse patterns and structures to be used in different essay types that they need for real life, hands-on tasks like explaining process, organizing schedules, reporting or progress, or analysing risk.

**COM 100 Computer Engineering Orientation 1 Credi**t

An introduction to fundamental concepts, construction of digital computer system hardware and software. Machine language concepts and internal data representations, integer, real and character data types. Algorithms and flowcharts as tools of program design process. Basic program structure: sequencing, alteration and iteration methods. Parts of a PC, motherboard, memory, graphics card, sound card, memory, hard disk, floppy disk, network card.

**MTH 113 Linear Algebra 3 Credits**

System of linear equations: elementary row operations, echelon forms, Gaussian elimination method. Matrices: elementary matrices, invertible matrices. Determinants: adjoint and inverse matrices, Crammer’s rule. Vector spaces: linear independents, basis, dimension. Linear mapping. Inner product spaces: Gram-Schmit ortogonalization. Eigenvalues and eigenvectors, Cayley-Hamilton theorem, diagonalization.

**COM 121 Discrete Structures 3 Credits**

Set theory: basic operations on sets, finite sets and mathematical induction. The theory of counting: multiplication rule, ordered and unordered samples, permutations and principle of inclusion and exclusion. Graphs and algorithms: Euler cycles, minimal spanning trees, Prim’s algorithm, division algorithm, recursion, Euclidian algorithm, binary trees and tree searching, the matching problem and the Hungarian algorithm. Proposition calculus and Boolean algebra. Introduction to Turing machine. Formal languages and decision algorithms.

**ECC 106 Introduction to Programming 4 Credits**

Algorithm development. Elements of C. Structure of a C program, data types, constants, input and output of integer numbers, real numbers. Variables, expressions and assignments. Input and output functions. Control Structures. Selection- If statement, multiple selection- switch statement. Iteration- while, do-while, for operators. User-defined functions, arrays and subscripted variables, single and multi-dimensional arrays. Array and functions. Pointers, pointers and strings. Structures, creating structures. Structure as function argument. Subprograms. Files. File operations. Application programs will be developed in a laboratory environment using the C language.

**ECC 102 Programming and Problem Solving 4 Credits**

Introduction, Types and Operations. Python language. Statements and Syntax, Input/Output. Functions, Modules, Classes and Object Oriented Programming, Exceptions and Tools, Advanced Topics. The students are expected to work within a GNU/Linux environment. The course provides a basic introduction into object-oriented programming.

**COM 200 Summer Practice I ****Non-credit**

The minimum time for this practice in an organization is four weeks (20 working days). The main objective is to observe a company in an original setting and answer questions on the fundamental areas of Computer Engineering and Information Science. A written report summarizing the training experience is required.

**MTH 201 Differential Equations 3 Credits**

Ordinary and partial differential equations. Explicit solutions, Implicit Solution. First-order differential equations, separable, homogenous differential equations, exact differential equations. Ordinary linear differential equations. Bernoulli differential equations. Cauchy-differential equations. High-order ordinary differential equations. Introduction to Laplace transforms. Introduction to series method for solving differential equations

**ECC 204 Electrical Circuits 3 Credits**

This course is designed for provide an understanding of the fundamentals and analysis of electric circuits. The course encompasses the fundamental concepts of electric circuits, such as Ohm’s and Kirchhoff’s laws. It develops into the circuit analysis techniques such as nodal and mesh analyses and the equivalent circuits. Energy storage elements and first order transient circuits are included in the course. The course also covers the analysis of sinusoidal circuits, including the power calculation.Prerequisite: PHY 102

**ECC 205 Basic Electronics 3 Credits**

Semiconductors. The P-N junction diode, equivalent models, diode circuits, switching, rectification, DC power supplies, Zener diodes. The bipolar junction transistor, large-signal model. DC transistor circuit analysis, biasing. Common-emitter, common-collector and common-base configurations. JFET operation and biasing.Prerequisite: ECC 204

**ENG 201 English Communication Skills 3 Credits**

To reinforces and consolidates the language and 4 skills that students have learned from earlier courses, as well as developing their level of knowledge, communicative capacity, and ability to analyse and reflect on language. Course on upper -intermediate AND ADVANCED levels include interesting and up-to-date topics, encouraging students to recognize the importance of acquiring a foreign language in a modern context, prepare them to for their future professional life.Prerequisite: ENG 102

**ECC 201 Data Structures and Algorithms 3 Credits**

Foundational Data Structures, Data Types and Abstraction, Stacks-Queues, and Deques, Ordered Lists and Sorted Lists, Hashing- Hash Tables and Scatter Tables, Trees, Search Trees, Heaps and Priority Queues, Sets-Multisets and Partitions, Garbage Collection and the Other Kind of Heap, Algorithm Analysis, Asymptotic Notation, Algorithmic Patterns and Problem Solvers, Sorting Algorithms, Searching Algorithms, Graphs and Graph Algorithms.Prerequisite: ECC 106

**ECC 001 Digital Logic Systems 4 Credits**

Introduction to number systems and codes. Boolean algebra and logic gates. Simplification of switching functions. Combinational logic. Combinational circuit design with programmable devices. Introduction to sequential devices. Modular sequential logic. Analysis and synthesis of synchronous sequential circuits. Sequential circuits with programmable logic devices. Introduction to microprocessors programming.Prerequisite: COM 121

**ECC 202 Database Management Systems 4 Credits**

Database architecture, comparison to file-based systems, historical data models, conceptual model; integrity constraints and triggers; functional dependencies and normal forms; relational model, algebra, database processing and Structured Query Language (SQL), Dynamic SQL, Stored Procedures. Emerging trends, O.O. Database Model. Internet & Databases. Study of Oracle, MsSql and MySql as popular DBMS.Prerequisite: ECC 201

**ECC 203 ****Computer Architecture and Organization** **4 Credits**

Basics of modern computer architectures and organization. Understanding the interaction between computer hardware and software at various levels. Performance evaluation, Instruction set design, Computer arithmetic, data path and control unit design of processors and enhancing performance with pipelining. RISC and vector computers. The laboratories include the design, simulation and implementation of a RISC processor.

**COM 210 Object Oriented Programming 4 Credits**

Fundamental ideas, object-oriented concept, meaning of modeling the real world. Encapsulatıon, Information hiding. Abstraction, Classes, Constructors, Default, parameterized, copy constructors. Metaclass, Object lifetimes, Dynamic objects, Inheritance, Single and Multiply inheritance, Inheriting constructor, Associations and Aggregations, Polymorphism, Operator overloading, Virtual Function, Friend functions, Streams and files, File organisation. Class templates.Prerequisite: ECC 106

**COM 300 Summer Practice II Noncredit**

A minimum of four weeks (20 working days) of training in companies involving observation of the computer system and the software. The main objective is to observe a company in an original setting and answer questions on the fundamental areas of Computer Engineering and Information Science. A written report summarizing the training experience is required.

**MTH 323 Numerical Analysis 3 Credits**

Approximations and errors. Accuracy and precision. Finite divided difference and numerical differentiation. Roots of equations, bracketing methods and open methods, systems of nonlinear equations. Systems of linear algebraic equations. Curve fitting, interpolation. Numerical integration. Ordinary differential equations.Prerequisite: MAT 205

**ECC 301 Microprocessors 4 Credits**

Introduction to microprocessors. Architecture of microprocessors and instruction sets. Interrupts. Memories. Parallel and serial input/output programming. Microprocessor based system design. Microprocessors applications.Prerequisite: ECC 203

**ECC 302 Operating Systems 3 Credits**

Principles of operating systems. Memory management. Multiprocessing. Virtual memory concepts. Memory protection. Scheduling. Process management. Time-slicing and priorities, deadlocks and process synchronization. Peripheral control. Filing system management. Resource control and monitoring. Linux and Windows Operating Systems.Prerequisite: ECC203

**ECC 002 System Simulation Techniques 3 Credits**

Introduction to simulation as a problem solving tool. Methodology of simulation. The use of computers. Classification of simulation. Planning of a computer simulation experiment. Introduction to simulation programming languages.Prerequisite: MTH 251

**ECC 303 Data Communications and Networking 4 Credits**

Basic elements of data communication systems. Reference models. ISO OSI reference model. Serial networks & protocols. Analogue networks, modems and multiplexors. PSTN and leased line (2 and 4 wire). Permanent digital networks. ISDN network and equipment. Packet switched networks & X.25. Frame relay. ATM & SMDS. Introduction to LANs. LAN physical layer. Network connection concepts. Introduction to IPX, IP. Analogue and digital signalling: analog (A/F/PSK, QAM), digital (RZ, NRZ, NRZi, Manchester), analogue over digital (PCM, ADPCM, CVSD, CELP). LAN frames. LAN protocols over serial networksPrerequisite: COM360

**COM 333 Operations Research 3 Credits**

Engineering decisions; principles of decision theory; generation and evaluation of alternatives; unconstrained and constrained optimization; duality and sensitivity analysis; application of LP; network models; simulation; case studies.Prerequisite: ECC201

**COM 339 Programming Languages Concepts 3 Credits**

Classification of programming languages. Syntactic and semantic description of programming languages. Imperative programming languages: data objects, data types, control structures, sub-programs, principles of implementation. Procedural programming languages. Object-oriented programming languages. Declarative programming languages: logic programming, functional programming, structure-query language programming.Prerequisite: ECC 106

**COM 344 Automat Theory 3 Credits**

The course introduces some fundamental concepts in automata theory including regular expressions, finite automata, (non-)regular languages, context-free grammars, regular grammars, Chomsky normal forms, pushdown automata, (non-)context-free languages, parsing and Turing machines. Not only do they form basic models of computation, they are also the foundation of many branches of computer science, e.g. compilers, software engineering, concurrent systems, etc. The properties of these models will be studied and various rigorous techniques for analysing and comparing them will be discussed, by using both formalism and examplesPrerequisite: COM 121

**COM 360 Signals and Systems 4 Credits**

Properties of continuous and discrete-time signals and systems. Basic signal modifications. Memory, causal, stable, linear and time-invariant systems. Stochastic processes and noise. Impulse response, transfer function. Convolution. Fourier series and transforms. Laplace transform. Sampling and modulation. Interpolation methods. Filtering. Sampling. Analysis of discrete time systems. Time domain analysis. Difference equation models. Frequency domain analysis. Orthogonal expansion of signals. Z domain analysis, Z- transform. Mapping s-plane into z-plane. Inverse Z-transform. Properties of z transform. Z plane. Discrete time LTI system .Frequency domain analysis. Discrete and fast Fourier transforms. Filtering. Digital filters.Prerequisite: MTH201

**MTH 251 Probability and Statistics 3 Credits**

Definition of probability. Sample space and events. Permutations and combinations. Conditional probability and Bayer’s theorem. Random variables. Discrete and continuous distributions. Moment generating function. Expectation, variance, covariance and correlation. Condition densities and regression and transformation of variables. Descriptive statistics.Prerequisite: MTH 102

**COM 382 Real Time Systems 3 Credits**This course is designed for Introduction to study issues related to the design and analysis of systems with real-time constraints. Modelling of the system. The main characteristics of second order system. Transfer function, impulse a transient functions, modelling of electrical systems, Block diagram and Signal flow graph representation of systems. Analysis of the real time and industrial automatic controller.Prerequisite: MAT 205

**COM 490 Engineering Design 1 Credits**

Graduation project leading to B.S. degree, arranged between a student and the faculty member. Analysis, requirement specification and design phases of a computer system. Issues related to project design and presentation. Engineering ethics. Projects will be inspired from real life hardware/ software problems and students are expected to come up with a professional quality design solution by applying computer and software engineering methods. At the end of the semester, the students are expected to complete the requirement specification, analysis and design phases of a real-life computer engineering problem as a team and present their work. They are expected to get familiar to ethical problems of the profession.

**COM 491 Engineering Design 2 Credits**Continuation of their research that start in COM491 course. Application of new scientific methods for solving different engineering problems and their modelling, development different software packages, analysis and investigation of new research areas in computer engineering fields. Students prepare (write) the graduation project.

**ECC 401 Microprocessor Systems 3 Credits**

Microprocessor architecture, The Intel x86 family architecture. The Intel 80386 microprocessor: Addressing and memory, segmentation, and protection mechanisms. Tasking, virtual memory, and exceptions. I/O programming. Memory paging mechanism, Special instructions of 80386 and 80486, Pentium, Architectural features, data acquisition systems. Advanced CISC and RISC microprocessors. Microcontrollers. Microcontroller program development. Using microcontrollers in embedded applications.Prerequisite: ECC 301

**ECC 402 Computer Graphics 3 Credits**

Overview of graphic systems. Colour. Images, quantisation and sampling. Image manipulations. Components of graphics system. Software standards, introduction to GKS and PHIGS. Raster graphics. Coordinate systems and transformations. The viewing frustum. The graphics pipeline and toolkits. Clipping and culling. Visibility. Lighting and shadows. Transparency and blending. Texture mapping. Local shading models. Environment mapping techniques. Multi-pass rendering. Shaders. Animation and particles. Level of detail. Scene graphs and implementation efficiency.

**ECC 427 Management for Engineers 3 Credits**

Principles of management. Functions of managers. Organisation and environment. Marketing management. Production management. Personnel management. Managerial control. Accounting and financial reports. Budgeting and overall control.

**COM 410 Parallel Computer Architecture 3 credits**

Introduction to parallel computers. Classification of parallel machines. SISD, MISD, SIMD, and MIMD. Pipelined processing. Programming parallel computers, Single instruction stream parallel machines, Bus-based machines (CMP, SMP) Coherent memory, Bus-based consistency protocols. Synchronization Interconnection networks. Message Passing. Scalable Shared Memory. Incoherent, Coherent, Directory-based, Consistency protocols. Hybrid Message Passing/Shared Memory Machines. Dataflow machines. Special-purpose parallel machines, Routers, network processors. Parallel computer performance models

**ECC 003 Software Engineering 3 credits**

Software Project Management: metrics, estimation, planning. Software requirement analysis techniques. Software design techniques. Software implementation. Managing software projects Software project planning and estimation risk analysis. Analysis concepts and modelling. Software quality assurance. Object-oriented approach to analyze, specify, design and implement software packages. Software testing methods and strategies.. Software maintenance. Software maintenance.Prerequisite: COM 339

**COM 414 Digital Control Systems 3 Credits**

Introduction to sampled data systems. Discrete modelling of systems. Z-transforms. Relationship between the s and the z-planes. Second order discrete systems. Difference equations, State variables, Solution of state equation. Time response characteristics, Steady-state accuracy, Stability. The Routh-Hurwitz Criterion. Root-locus in the z-plane, Z-plane stability. Frequency response. Analyses of digital control systems using Nyquist and Bode plots and root locus. Digital Controller Design, Compensation. PID-controllers. Analog and Digital filters. Digital filter structures.Prerequisite: COM 382

**ECC 404 Neural Networks 3 Credits**

The Neural network paradigm and fundamentals. Training by error minimization. Back propagation algorithms. Feedback and recurrent networks. Hopfield network, Genetic algorithms. Probability and neural networks. Optimizations and constraint.

**ECC 405 Computer Hardware 3 Credits**

Parts of a PC. The CPU organisation. The BIOS. Motherboard, memory organisation, display card, disk controller card, floppy disk controller. CDROM and the sound card. Serial and parallel ports. Keyboard and mouse interface. The real time clock. ISA bus and PCI bus specifications. Power supply specifications and parts of a PC power supply.Prerequisite: COM 254

**ECC 406 System Programming 3 Credits**

Introduction to system programming, operating systems and fundamental concepts of programming language processors, one and two pass assemblers, symbol tables, compilers and compiler design, parsing, syntax and semantic phases, optimization, relocatable and linkable loaders, operating systems design principlesPrerequisite: ECC 301

**ECC 426 Economics for Engineers 3 Credits**

Principles and economic analysis of engineering decision making. Cost concept. Economic environment. Price and demand relations. Competition. Make-versus-purchase studies. Principles and applications of money-time relations. Depreciation. Many and banking. Price changes and inflation. Business and company finance.

**COM 430 Programming Languages I 4 Credits**

Introduction to Visual Basic. Components of Visual Basic projects. Labels, text boxes, command buttons, list boxes, combo boxes, timers, image boxes, picture boxes. Organization of Forms and units. Properties of components and the available options. Events and event triggering. File structure of a Visual Basic project. Small Visual Basic application programs.Prerequisite: ECC 106

**ECC 407 Programming Languages II 3 Credits**

Introduction to Delphi. Components of Delphi projects. Organization of Forms and units. Using components palette in Delphi. Properties of components and the available options. Delphi project. Files of PAS, DFM & DPR extensions. Events and event triggering. Visible and invisible components. Dialog components. Text editor. Graphical operators. File organization. Forms with multi document interface. Linking of Windows-Based applications to Delphi projects (OLE). Database components. The Data access method. Organization of database using SQLPrerequisite: ECC 106

**ECC 005 Internet Programming 3 Credits**

Introduction to the Internet. HTML, XHTML,, CSS, Cascading Style Sheets, Javascript, JavaScript and HTML documents, XML and Application Server, A client/server architecture, Java Server Pages, Protocols, HTTP, FTP, accessing a local file, SSH, Proxy servers, Database access through the web, Writing Web pages using HTML and Java Applets.Prerequisite: ECC 102

**ECC 409 Object-oriented Programming Language II 3 Credits**

Introduction to Java. Java and object-oriented programming. Introduce advanced Java concepts – inheritance, polymorphism, abstract classes, exception handling, use of collections and database connectivity. Gain more practical experience by designing and writing Java applications. Components of Java projects. Designing Graphic User Interface GUI. Java Internet applications. Java applets.Prerequisite: ECC 102

**COM 446 Advanced Database Programming 3 Credits**

Overview of advanced database systems, such as MS SQL Server and Oracle. Structure of the programs. Use of programs as tools for advanced database programming. Practical generation of applications.Prerequisite: ECC 202

**COM 447 Advanced Operating Systems 3 Credits**

Advanced memory management and virtual memory concepts. Memory protection in multiprocessing environment. Scheduling algorithms. Time-slicing and priorities, deadlocks, event flags, semaphores, and process synchronization. Process intercommunication techniques. Shared peripheral control. Filing system management. Example operating system design. Concepts of the Structured Query Language (SQL) and Programming Language/Structured Query Language (PL/SQL) will also be covered.Prerequisite: ECC 302

**ECC 411 Digital Signal Processing 3 Credits**

Discrete-time signals and Systems. Discrete linear time-invariant systems. Properties, Sampling and Reconstruction of continuous time signals, A/D conversion and quantization. D/A conversion. Discrete time Fourier transform and its properties, Fast Fourier transform algorithms, The Z-transform and its properties, Transform analysis of linear time invariant systems, Implementation of structures for discrete time systems, Digital filter design techniques, Finite impulse response (FIR) filters, Infinite impulse response (IIR) filters, Applications of DSPPrerequisite: COM360

**ECC 412 Database Application 3 Credits**

This course provides students with a general understanding of the Oracle database system and a thorough understanding of SQL. The student will learn the fundamentals of database design, a structured approach to system development, creation and manipulation of data, and retrieval of information from an Oracle database. Numerous concepts of the Structured Query Language (SQL) and Programming Language/Structured Query Language (PL/SQL) will also be covered.Prerequisite: ECC 202

**ECC 413 Introduction to Artificial Intelligence 3 Credits**

Problem solving methods, heuristic search, game-playing, knowledge acquisition, knowledge representation, logical inference, planning, reasoning under uncertainty, decision theory, expert systems and application, Prolog/LISP programming, learning, perception, and natural language understanding

**COM 452 Introduction to Parallel Computing 3 Credits**

Overview of parallel computing, Parallel computation models, Classification. SISD, MISD, SIMD, and MIMD. Performance analysis, deadlock, Parallel algorithm design and analysis, Network interconnects and embedding, MPI programming, Open MP shared memory multicore programming, Parallel reduction operations, Matrix operations, MapReduce and cloud computing.Prerequisite: ECC203

**ECC 415 Decision Making 3 Credits**

This course is designed for Introduction to decision making. Decision making process, Decision Trees. Decision making under uncertainty. Utility theory, Group decision making, Risk theory. Risk aversion, Decision making under risk, Decision making under conflict, Queuing theory. Linear regression model and correlation, multiple regression model, exponential smoothing and time series.

**COM 454 Advanced Computer Architecture 3 Credits**

Fundamentals of Computer Design, Instruction set architectures, Classifications, RISC, CISC, VLIW, EPIC, Pipeline processors, Memory Hierarchy Design (caches, virtual memory), Parallelism, Instruction level Parallelism, Data level Parallelism, dataflow mechanisms. Vector processing, Thread level Parallelism, Multicore systems, MultiprocessorsPrerequisite: ECC203

**ECC 417 Mobile Computing 3 Credits **

Mobile/wireless technologies and how these technologies are utilized and integrated to meet specific business needs. The course emphasises how to interface hardware to mobile computing devices, and programming those devices. The course will give you an understanding of mobile and wireless network systems such as 2G/3G/4G mobile telephony/data networks, and other wireless networks and infrastructure. Specific skills needed for developing mobile/wireless applications. Design of modern distributed software systems, mobile application development technologies, architectures and techniques in the advanced network technologies supporting the upper layers, planning, management and security in mobile systems, mobile game design.Prerequisite: ECC 303

**COM 457 Cryptographyand Coding Theory 3 Credits**

Fundamental concepts of cryptography, block ciphers, stream ciphers, public key encryption, differential and linear cryptanalysis, the Advanced Encryption Standard, digital signatures, cryptographic hash functions, authentication protocols, key distribution protocols, key management, security protocol pitfalls, Internet cryptography, IP sec., SSL/TLS, e-mail security, firewalls.Prerequisite: ECC 303

**ECC 419 Digital Image Processing 3 Credits**

Discrete-time signals and systems. Realization of discrete-time systems. Discrete Fourier transform. FIR and IIR filters. Cyclic limit. Synthesis of filters. Bilateral transform. Windowing. Image processing techniques. Image recognition. Noise sensitivity and scaling. Edge detection.Prerequisite: COM 360

**COM 410 Parallel Computer Architecture 3 Credits**

Introduction to parallel computers. Why parallel computing? Classification of parallel machines. SISD, MISD, SIMD, and MIMD. Using shared memory in parallel computing. Shared variables. Interconnection networks. Mesh, rings, hypercube, x-tree, butterfly. Speedup and efficiency in parallel computing. Factors that limit speedup. Amdahl’s Law.Prerequisite: ECC203

**ECC 415 Decision making 3 Credıts**

Introduction to decision making. Decision making process, Decision Trees. Decision making under uncertainty. Utility theory, Group decision making, Risk theory. Risk aversion, Decision making under risk, Decision making under conflict, Queuing theory. Linear regression model and correlation, multiple regression model, exponential smoothing and time series. Forecast accuracy, Non – linear models for forecasting.

**COM473 Hardware Design using FPGAs 3 Credits**

This course covers the systematic design of digital systems using Field Programmable Gate Arrays (FPGAs). The design methodology, systematically introduced & used in the course, is based on simulation & synthesis with hardware description language VHDL. Topics covered in this course include: conceptual design step from requirements & specification to simulation & synthesis model in VHDL, design of complex controllers with Finite State Machines, design of sequential blocks with Controller-Datapath methodology, issues in design for testability, electrical & timing issues in logic and system design, overview of implementation technologies with emphasis on advances in FPGAs.

Prerequisite: ECC001 Logic design

**ECC 006 Web Design and Programming 3 Credits**

History of the internet. Basic Color Theory. Web Graphics. Accessibility. HyperText Markup Language (HTML). Cascading Style Sheets (CSS). Page Layout. Design Issues. Javascript. Responsive Web Design.

**ECC 007 Multimedia Systems 3 Credits**

Introduction to Media Computation, Introduction to Programming, Modifying Pictures Using Loops, Modifying Pixels in a Range, Advanced Picture Techniques, Modifying Sounds Using Loops, Modifying Samples in a Range, Making Sounds by Combining Pieces, Building Bigger Programs, Creating and Modifying Text, Advanced Text Techniques: Web and Information, Making Text for theWeb, Creating and Modifying Movies, Speed, Functional Programming, Object-Oriented Programming.Prerequisite: ECC 102