Course Descriptions

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

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

CMP 100 Computer Engineering Orientation 1 Credit
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.

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

CMP 144 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.

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

CMP 243 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: CMP 142

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

CMP 244 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: CMP 243

CMP 246 Computer Architecture and 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.

CMP 343 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: CMP 241

CMP 345 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: CMP 246

CMP 344 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

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

CMP 346 System Simulation 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.

CMP 348 Operational 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: CMP 243

CMP 341 Programming Language 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: CMP 242

EEE 341 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: MTH 201

MTH 312 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

CMP 342 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: MTH 201

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

CMP 441 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: CMP 341

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

EAS 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