#### FIRST YEAR

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

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

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

COM 141 | Introduction to Programming | (4,2) 4 | 6 | |

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

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

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

AİT 101/TUR 100 | Atatürk’s Principles Reforms/Turkish for Foreigners | (2,0) 0 | 1 | |

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

**SPRING SEMESTER **

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

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

COM 162 | Programming &Problem Solving | (4,2) 4 | 6 | COM141 |

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

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

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

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

#### SECOND YEAR

**FALL SEMESTER **

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

COM 211 | Logic Design | (4,2) 4 | 6 | COM121 |

COM 201 | Data Structures& Algorithms | (4,2) 4 | 6 | COM162 |

EE 207 | Electrical Circuits | (4,0) 3 | 6 | PHY102 |

MAT 201 | Differential Equations | (4,2) 4 | 6 | MAT102 |

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

17 |

**SPRING SEMESTER **

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

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

COM 210 | Object Oriented Programming I | (4,2) 4 | 6 | COM141 |

COM 242 | Database Management Systems | (4,2) 4 | 6 | COM201 |

COM 254 | Computer Organisation | (4,0) 3 | 6 | COM211 |

EE 208 | Basic Electronics | (4,2) 4 | 6 | EE207 |

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

#### THIRD YEAR

**FALL SEMESTER **

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

COM 301 | Microprocessors | (4,2) 4 | 6 | COM254 |

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

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

MAT 350 | Probability and Statistics | (4,0) 3 | 6 | MAT102 |

RTE | Restricted Technical Elective | (4,0) 3 | 6 |

**SPRING SEMESTER**

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

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

COM 312 | Operating Systems | (4,0) 3 | 6 | COM254 |

COM 322 | Data Communications and Networking | (4,2) 4 | 6 | |

COM 321 | System Simulation | (4,0) 3 | 6 | MAT350 |

COM 333 | Operational Research | (4,0) 3 | 5 | COM201 |

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

#### FOURTH YEAR

**FALL SEMESTER **

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

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

COM 411 | Software Engineering | (4,0) 3 | 6 | COM339 |

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

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

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

**SPRING SEMESTER **

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

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

ECON 431 | Economics For Engineers | (4,0) 3 | 6 | |

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

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

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

* 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 ELECTIVE | |
---|---|

COM320 Computer Hardware | 3 Credits |

COM330 Programming Languages I | 3 Credits |

COM344 Automata Theory | 3 Credits |

FREE ELECTIVEMAN402 Management for Engineers3 Credits

**TECHNICAL ELECTIVES (CATEGORY I)**

Category 1 technical electives are the courses offered by Computer Engineering Department.

**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.

**MAT 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.

**CHEM 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 built 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.

**MAT 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 fulfill the requirements of the main courses of their departments. The ability to evaluate, analyze 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 analyzing 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, motherborad, memory, graphics card, sound card, memory, hard disk, floppy disk, network card.

**MAT 112 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.

**CCOM 141 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.

**COM 162 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.

**Summer Practice I Noncredit**

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.

**MAT 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

**EE 207 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

**EE 208 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:** EE 207

**ENG 210 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

**COM 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:** COM 141

**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:** COM 141

**COM 211 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

**COM 242 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:** COM 201

**COM 254 Computer Organization 3 Credits**

Introduction to computers. Micro-programming control. Memory organization. Input/output system. Non-standard computer architectures, pipeline, RISC and vector computers.

**Prerequisite:** COM 211

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.

**MAT 301 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

**COM 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:** COM 254

**COM 312 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:** COM 254

**COM 318 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 networks

**Prerequisite:** COM360

**COM 320 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

**COM 321 System Simulation Techniques 3 Credits**

Introduction to simulation as a problem solving tool . Methodology of simulation . The use of computers. Classification of simulation . Planing of a computer simulation experiment. Introduction to simulation programming languages.

**Prerequisite:** MAT 350

**COM 330 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:** COM 210

**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:** COM201

**COM339 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:** COM 210

**COM 341 Data Management And File Structures 3 Credits**

Sequential files. External sorting. B+ tree index. Hashing. Introduction to database management systems. Introduction to relational databases. Relational query languages. Relational algebra. Relational calculus. SQL, QBE and QUEL. Implementing the join operation. Entity-relationship data model

**Prerequisite:** COM 242

**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 analyzing and comparing them will be discussed, by using both formalism and examples

**Prerequisite:** 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:** MAT201

**MAT 350 Probability and Statistics 3 Credits**

Definition of probability. Sample space and events. Permutations and combinations. Conditional probability and Bayers theorem. Random variables. Discrete and continuous distrubutions. Moment generating function. Expectation, variance, covariance and correlation. Condition densities and regression and transformation of variables. Descriptive statistics.

**Prerequisite:** MAT 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. Modeling of the system. The main characteristics of second order system. Transfer function, impulse an transient functions, Modeling 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 reallife 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.

**COM 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:** COM 301

**COM 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.

**MAN 402 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

**COM 411 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 modeling 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 The Routh-Hurwitz Criterion. Root-locus in the z-plane, Z-plane stability. Frequency response. Analyzes 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

**COM 420 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.

**COM424 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 principles

**Prerequisite:** COM 301

**ECON 431 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 432 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. Orfganization of database using SQL

**Prerequisite:** COM 141

**COM 434 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:** COM 330

**COM 442 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:** COM 210

**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:** COM 242

**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:** COM 312

**COM 449 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 DSP

**Prerequisite:** COM360

**COM 450 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:** COM 242

**COM 451 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 intraconnects and embeddings, MPI programming, OpenMP shared memory multicore programming, Parallel reduction operations, Matrix operations, MapReduce and cloud computing.

**Prerequisite:** COM 254

**COM 453 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, Multiprocessors

**Prerequisite:** COM 254

**COM 457 Cryptography and 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:** COM 322

**COM 463 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. Amdahls Law.

**Prerequisite:** COM 254

**COM 453 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:** COM211 Logic design

**COM481 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.

**COM488 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:** COM 162