The Computer Engineering (CmpE) Department was founded in 1999. Now, it includes almost 200 students. The academic plan of had been developed to go along with market trends by adding more and more practical courses and field training. Our academic plan gives student enough knowledge, skills, and hands on experience in all the fields of computer engineering. This includes the ability to design and implement hardware computer circuits both on printed circuit boards and silicon chips as well, to design and implement software systems; moreover, it covers other areas like control & instrumentations, communication systems, operating systems, and networks.
The program aims to have an active role in society via providing technology-related services, and to play a role in sustainable development.
Its objectives are to enhance the department’s profile through the employment of new and innovative teaching methods and techniques, promote the values of the University and offer the students the best possible education.
The main objectives are to turn out graduates who :
- Are competent engineers with solid foundations in computer hardware and software.
- Are problem-solvers, innovators, who can handle the rapid pace of modern computer technology.
- Can function effectively in professional environment, have the necessary communication and leadership skills, and adhere to standard codes of ethics.
- Can pursue graduate studies and carry out research in advanced topics and specializations.
- Can work professionally in one or more of the following areas: computer hardware and software design, computer-based systems, computer network design, system integration, electronic design automation.
The ILO’s of the Computer Engineering (CmpE) program adhere to the American Accreditation Board for Engineering and Technology (ABET). Thus, upon completion of this program, students will have :
- An ability to apply knowledge of mathematics, science, and engineering.
- An ability to design and conduct experiments, to analyze and interpret data.
- An ability to design a system, component, or process to meet desired needs.
- An ability to function on multidisciplinary teams.
- An ability to identify, formulate, and solve engineering problems.
- An understanding of professional and ethical responsibility.
- An ability to communicate effectively.
- The broad education necessary to understand the impact of engineering solutions in a global and societal context.
- A recognition of the need for, and an ability to engage in life-long learning.
- A knowledge of contemporary issues.
- An ability to use the techniques, skills, and modern engineering tools necessary for engineering practice.
The conditions announced by the Admission Department before each new academic year.
Computer engineering graduates work in several fields, including:
- Companies building integrated logic circuits and designing chips.
- Software companies.
- Telecom companies (landline and cellular).
- Electricity companies, and private sector companies.
- Electronic circuit design companies.
- External technical project outsourcing companies.
- Startups in the areas of mobile application development.
- Various factories, in the fields of installing, operating and programming production lines.
- Online marketing and e-commerce companies.
- Laboratories of universities and study and research centers.
- Undertake postgraduate studies.
- Hospitals and develop health data systems.
- Network design, installation and extension.
- Protection and electronic security systems.
- Internet service provider companies.
Study Year 1 | |||||
Semester: Fall | |||||
Course | Credits | Pre & Co-requisite(s) | Student result(s) | ||
No. | Title | Theory | Practice | ||
0000100 | University Requirement | 2 or 3 | — | ||
0400150 | Language & Thinking | 3 | — | ||
0400184 | Paragraph Writing | 2 | — | Placement exam or remedial English courses | |
0302103 | General Physics for Engineers I | 3 | — | ||
0302113 | Practical physics for engineers I | — | 1 | Co-0302103 | |
0302199 | Practical physics for engineers I Lecture | 0 | — | Co-0302103 & Co-0302113 | |
0306101 | Calculus I | 3 | — | ||
0702111 | Introduction to Computer Engineering | 3 | — | ||
0702112 | Introduction to Computer Eng. Lab | — | 1 | Co-0702111 |
Study Year 1 | |||||
Semester: Spring | |||||
Course | Credits | Pre & Co-requisite(s) | Student result(s) | ||
No. | Title | Theory | Practice | ||
0000100 | University Requirement | 2 or 3 | — | ||
0400185 | English Communication Skills | 2 | — | Placement exam or remedial English courses | |
0302104 | General Physics for Engineers II | 3 | — | Pr-0302103 | |
0302114 | Practical Physics for Engineers II | — | 1 | Co-0302104 | |
0302299 | Practical physics for engineers II Lecture | 0 | — | Co-0302104 & Co-0302114 | |
0306102 | Calculus II | 3 | — | Pr-0306101 | |
0700103 | Engineering Drawing | 1 | — | ||
0702113 | Programming Fundamentals for Eng. | 3 | — | Pr-0702111 | |
0702114 | Programming Fundamentals for Engineers Lab | — | 1 | Co-0702113 |
Study Year 2 | |||||
Semester: Fall | |||||
Course | Credits | Pre & Co-requisite(s) | Student result(s) | ||
No. | Title | Theory | Practice | ||
0700231 | Engineering Mathematics | 3 | — | Pr-0306102 | |
0700233 | Engineering Mathematics Lab | — | 1 | Co-0700231 | |
0701211 | Intro to Circuit Theory & Electronics | 3 | — | Pr-0302104 | |
0701213 | Intro to Circuit Theory & Electronics Lab | — | 1 | Co-0701211 | |
0701240 | Digital Logic Systems | 3 | — | Co-0701211 | |
0702211 | Data Structures and Algorithm Design | 3 | — | Pr-0702113 | |
0703201 | Introduction to Materials | 3 | — | Pr-0302103 | |
0703203 | Introduction to Materials Lab | — | 1 | Co-0703201 |
Study Year 2 | |||||
Semester: Spring | |||||
Course | Credits | Pre & Co-requisite(s) | Student result(s) | ||
No. | Title | Theory | Practice | ||
0000000 | University Requirement* | 2 or 3 | — | ||
0701212 | Electric Circuits | 3 | — | Pr-0701211 | |
0701214 | Electric Circuits Lab | — | 1 | Co-0701212 | |
0701222 | Electronics I | 3 | — | Pr-0701211 | |
0701224 | Electronics Lab | — | 1 | Co-0701222 | |
0701244 | Digital Logic Systems Lab | — | 1 | Co-0701240 | |
0702202 | Discrete Math | 3 | — | Pr-0700231 | |
0702232 | Object-Oriented Programming | 3 | — | Pr-0702211 | |
0702233 | Object-Oriented Programming Lab | — | 1 | Pr-0702232 |
*Recommendation: 0700301-Skills for the Workplace-3 credit hours (Pr-0400184 & Pr-0400185).
Study Year 3 | |||||
Semester: Fall | |||||
Course | Credits | Pre & Co-requisite(s) | Student result(s) | ||
No. | Title | Theory | Practice | ||
0000100 | University Requirement | 2 or 3 | — | ||
0700306 | Thermodynamics | 3 | — | Pr-0700231 | |
0700381 | Engineering Management | 3 | — | 3rd Year + | |
0701235 | Complex Analysis & Transforms | 3 | — | Co-0700231 | |
0702341 | Computer Organization & Architecture | 3 | — | Pr-0701242 | |
0702342 | Computer Organization & Architecture Lab | — | 1 | Pr-0702341 | |
0702381 | Software Engineering | 3 | — | Pr-0702232 |
Study Year 3 | |||||
Semester: Spring | |||||
Course | Credits | Pre & Co-requisite(s) | Student result(s) | ||
No. | Title | Theory | Practice | ||
0700000 | Faculty Elective* | 3 | — | ||
0701325 | Electronic Workshop | — | 1 | Pr-0701222 | |
0701342 | Microprocessors | 3 | — | Pr-0702341 | |
0701443 | Microprocessors Lab | — | 1 | Co-0701342 | |
0702324 | Database Systems | 3 | — | Pr-0702381 | |
0702325 | Database Systems Lab | — | 1 | Co-0702324 | |
0702335 | Probability & Statistics | 3 | — | Pr-0702201 | |
0702464 | Instrumentation and Control Systems | 3 | — | Pr-0701222 |
*Recommendation: 0700209-Technical Writing & Communication Skills (Pr-0400184 & Pr-0400185).
Study Year 4 | |||||
Semester: Fall | |||||
Course | Credits | Pre & Co-requisite(s) | Student result(s) | ||
No. | Title | Theory | Practice | ||
0000100 | University Requirement | 2 or 3 | |||
0702451 | Operating Systems | 3 | Pr-0702233 | ||
0702452 | Operating Systems Lab | 1 | Co-0702451 | ||
0702453 | Building Web applications | 3 | Pr-0702324 | ||
0702454 | Data Comm. Systems | 3 | Pr-0702335 | ||
0702455 | Data Comm. Systems Lab | 1 | Pr-0702335 | ||
0702456 | Computer Graphics | 3 | Pr-0702381 |
Study Year 4 | |||||
Semester: Spring | |||||
Course | Credits | Pre & Co-requisite(s) | Student result(s) | ||
No. | Title | Theory | Practice | ||
0000100 | University Requirement | 2 or 3 | — | ||
0702422 | Multimedia Fundamentals | 3 | — | Pr-0702211 | |
0702423 | Multimedia Fundamentals Lab | — | 1 | Pr-0702422 | |
0702466 | Embedded Systems | 3 | — | Pr-0701342 | |
0702467 | Interfacing & Maintenance Lab | — | 1 | Pr-0701443 | |
0702000 | Department Elective | 3 | — | ||
0702492 | Software Project | 2 | — | Pr-0702453 & Successfully attain 110 credit hours minimum |
Study Year 5 | |||||
Semester: Fall | |||||
Course | Credits | Pre & Co-requisite(s) | Student result(s) | ||
No. | Title | Theory | Practice | ||
0000000 | Free Elective | 3 | — | ||
0700000 | Faculty Elective | 3 | — | ||
0702551 | Computer Networks | 3 | — | Pr-0702451 | |
0702552 | Computer Networks Lab | — | 1 | Co-0702551 | |
0702000 | Department Elective | 3 | — | ||
0702590 | Internship | — | 3 | Pr-0702467 & 120 credit hours minimum | |
0702591 | Introduction to the Project | — | 1 | Pr-0701342 & 120 credit hours minimum |
Study Year 5 | |||||
Semester: Spring | |||||
Course | Credits | Pre & Co-requisite(s) | Student result(s) | ||
No. | Title | Theory | Practice | ||
0000100 | University Requirement | 3 | — | ||
0000000 | Free Elective | 3 | — | ||
0702000 | Department Elective | 3 | — | ||
0702592 | Project | — | 3 | Pr-0702591 |
Course Descriptions
Faculty Compulsory Courses
0302103 General Physics for Engineers I (3 credits)
Vectors, particle kinematics and dynamics, work, energy, momentum, conservation laws, collisions, rotational motion, static equilibrium, and the law of Gravity. Prerequisite: None.
0302104 General Physics for Engineers III (3 credits)
Charge and matter, electric force, the electric field, Gauss’s law and applications, current and resistance. Electromotive force, and circuits, the magnetic field, magnetic force on charges and currents, Ampere’s and Biot-Savart laws, Inductance, and Faraday’s law of induction. Prerequisite: General Physics I 0302103.
0302113 Practical Physics for Engineers I (1 credit)
12 experiments covering the topics discussed in physics 101. Corequisite: General Physics I 0302103.
0302114 Practical Physics for Engineers II (1 credit)
12 experiments covering the topics discussed in physics 102. Corequisite: General Physics II 0302104.
0306101 Calculus I (3 credits)
Limits and continuity of functions. The derivative, rate of chance, the chain rule, and related rates. Derivatives of trigonometric functions. Extreme value theorem, the mean value, and curve sketching. Anti-derivatives, the definite integral, and the fundamental theorem of calculus.
0306102 Calculus II (3 credits)
Applications of definite integrals: volume, arc length, and surface area. Inverse trigonometric and transcendental functions. Techniques of integration: Integration by parts, trigonometric substitution, the method of partial fractions, etc. L’Hospitals’ rule and improper integrals. Polar coordinates. Infinite sequences, upper and lower limits. Infinite series, tests for convergence, absolute and conditional convergence. Prerequisite: Calculus I 0306101.
0700103 Engineering Drawing (1 credit)
Manual technical drawing and design: instrumental drawing, lettering, geometric constructions, sketching and shape description, multiview projection, sectional views, dimensioning. Computer Aided Technical Drawing and Design using AutoCAD: basic commands, settings, blocks, layers, dimensions.
0700209 Technical Writing & Communication Skills I (3 credits)
This course provides the engineering student with vital knowledge that will expand his skills in aspects of technical writing such as Technical terminology including scientific prefixes and suffixes, writing short and correct technical definitions, writing headings and titles, connecting ideas and sentences, writing a scientific paragraph and essay, writing scientific abstracts, and finally writing a technical report with a correct bibliography and citation. Oral, written and graphical communication principles are covered and exercised through the study of case histories, practical workshops and detailed assignments. Prerequisite: English Language Skills 2 0400109.
0700231 Engineering Mathematics (3 credits)
First and second order differential equations with applications; linear systems of differential equations. Systems of linear equations and elementary row operations, Euclidean n-space and subspaces, linear transformations and matrix representations, Gram-Schmidt orthogonalization process, determinants, eigenvectors and eigenvalues; Positive definite matrices. Computations with matrices. Unitary transforms and Hermitian matrices. QR, Singular value decomposition (SVD). Quadratic forms and convex optimization techniques. Prerequisite: Calculus II 0306102.
0700233 Engineering Mathematics Laboratory (3 credits)
Students will solve selected mathematical, scientific, and engineering problems using Matlab, Maple and/or Mathematica. Corequisite: Engineering Mathematics 0700231.
0700306 Thermodynamics (3 credits)
Definitions and basic concepts. Perfect gases, laws related to perfect gases, mixtures of perfect gases. Properties and states of simple substances. The first law of thermodynamics. Kinetic energy, potential energy, work, and heat transfers. Control volume energy analysis, conservation of mass and energy for control volume. The second law of thermodynamics, heat engines and refrigeration systems, Carnot cycles. Entropy, T & S equations. Prerequisite: Engineering Mathematics 0700231.
0700381 Engineering Management (3 credits)
The nature of management. Foundations of management understanding. External Environment and social responsibility. Introduction to Project Management. Development of the network and its rules. Critical path methods. Arrow Diagramming Method. Precedence Diagramming Method. Scheduling computations. Overlapping Networks. PERT Method and its statistical approach. Time-Cost Analysis. Project cost control. Prerequisite: 3rd Year +
0701211 Introduction to Circuit Theory & Elec. (3 credits)
Basic definitions: charge, current, voltage, and power. Ohm’s Law. Kirchhoff’s Laws. Single loop circuits. Single node-pair circuits. Resistance and source combination. Voltage and current division. Circuit analysis techniques: Nodal, Mesh, Linearity, Superposition, Source transformation, Thevenin’s and Norton theorems. Inductance and Capacitance. I-V relationships for inductors and capacitors. Insulators, conductors, and semiconductors. Intrinsic and extrinsic semiconductors. Impurities, doping, n-type and p-type semiconductors. The p-n junction diode: characteristics and applications. The Zener diode: characteristics and applications. Special purpose diodes, npn and pnp BJTs, DC biasing techniques. Prerequisite: General Physics II 0302104.
0701213 Introduction to Circuit Theory & Elec. Lab. (3credits)
Reports and technical writing. Passive components: Resistors, capacitors, and inductors. Types, specifications and color-coding schemes. Multi-output constant/variable DC power supplies: Ratings and current limitations. Digital Multi-Meters: Functions, resolution, operating ranges, and AC/DC settings. Function Generators: Signal types, duty cycle, DC offset, TTL/50 outputs, counter operation. Oscilloscopes: Basic theory of operation, CRTs, Start-up procedure, Phase measurement techniques. Electronic test boards: bread-boards, strip-boards, and PCBs. Mesh, Nodal and Superposition techniques. General response of an RL circuit. The Thevenin’s equivalent circuit. General diode characteristics and modeling. Diode applications: rectifiers, limiters, clampers, and voltage doublers. Zener diode characteristics and applications. BJTs: characteristics, DC biasing circuits. Corequisite: Introduction to Electrical Engineering 0701211.
0702111 Introduction to Computer Engineering (3 credits)
Introduction to computing, computer organization and architecture, bits, main & mass memory, information representation, numbering systems, Boolean operations, gates, Boolean circuits, machine language/instruction set, traditional programming concepts, procedures & functions, implementation (translation, linking, and loading), algorithm representation & discovery, flowcharting, pseudo coding, iterative structures, introduction to C programming, formatted input/output in C language, expressions in C language, one-way, two way, & multiple-way selections in C.
0702112 Introduction to Computer Engineering Laboratory (1 credit)
Computer architecture, HW & maintenance, DOS, Windows interface, files & folders, internet, email, & web search, MS office: Word/Excel/PowerPoint/Access/Visio, writing C programs with MS visual studio 6.0, C language: formatted input/output, expressions & selection statements in C. Corequisite: Introduction to Computing 0702111.
0702113 Programming Fundamentals for Engineers (3 credits)
Revision of C language, basic types, iterative structures (loops), arrays, functions, recursion, local and global variables, pointers and arrays, pointers and functions, strings, dynamic data structures, files, introduction to OOP, classes & objects, attributes, constructors, destructors, properties, & methods, implementation using C++, other OOP concepts, graphics. Prerequisite: Introduction to Computing 0702111.
0702114 Programming Fundamentals for Engineers Lab (1 credit)
Implementing C programs, C language basic data types, iterative structures (loops), arrays, functions, recursion, local and global variables, pointers and arrays, pointers and functions, strings, dynamic data structures, files, creating classes & objects in C++, attributes, constructors, destructors, properties, methods, graphics, demonstrating engineering and business-oriented problems. Corequisite: Programming Fundamentals for Engineers 0702113
0703201 Introduction to Materials Engineering (3 credit)
Mole Concept, atomic structure, periodic table, electron configuration, chemical bonding, molecular orbitals, classification of materials, the structure of crystalline solids, imperfection in solids, diffusion, general properties of engineering materials. Prerequisite: General Physics I 0302103.
0703203 Introduction to Materials Engineering Laboratory (1 credit)
Investigations of various properties of materials including: mechanical, thermal, structural, chemical, electrical, and physical. Corequisite: Introduction to Materials 0703201.
Faculty Elective Courses
0700382 Engineering Economy (3 credits)
Engineering and engineering economy. Economic and cost concepts. Interest formula derivations. Calculations of economic equivalence. Inflation and purchasing power of money. Bases for comparison of alternatives. Decision making along alternatives. Evaluating replacement alternatives. Breakeven and minimum cost analysis. Evaluation of public activities. Corequisite: Engineering Management 0700381.
0700383 Quality Control (3 credits)
Deming philosophy and Taguchi approach in quality control. Statistical data characterization. Shewhart’s Concept of Statistical Process Control. Basis for and construction of Shewhart Control Chart for Variable Data. Application of Xbar and R control Charts. Rational Sampling and Analysis of out-of-control Patterns. Process Capabilities. Tolerance Assessment. Taguchi’s Loss Function. Tolerance Engineering. Statistical Thinking. X, Rm Control Charts. Exponentially Weighted Moving Average Control Charts. Cusum Control Charts and Cusum Plots. Shewhart Control Charts for Non-conformities. Bivariate Control Charts. Corequisite: Engineering Management 0700381
0700385 E Business (3 credits)
This course outlines every aspect of e-commerce, for professional managers. It starts with an introduction to e-business, e-commerce, the Internet, the World Wide Web, and the e-business patterns, covering such topics as constructing an e-business (design, development, and management), online monetary transactions, wireless and m-commerce, e-marketing, e-publishing, e-learning, Internet security, e-customer relationship management, online industries, online banking and investment, and online career services. Prerequisite: 3rd Year +.
Program Compulsory Courses
0701212 Electric Circuits (3 credits)
RL and RC circuits. The unit step forcing function. Natural and forced response for RL and RC circuits. Parallel and series RLC circuits. The complete response of RLC circuits. Forced response to sinusoidal forcing functions. The complex forcing function. The Phasor concept. Impedance. Admittance. The sinusoidal steady-state response. Standard analysis techniques. Phasor diagrams. Response as a function of ω. Instantaneous power. Average power. Effective (RMS) values. Apparent power. Power factor. Complex power. Polyphase circuits. Single-phase three-wire systems. Complex frequency. Frequency response as a function of . The complex-frequency plane. Calculating natural, forced, and complete responses using the s-plane. Parallel and series resonance. Prerequisite: Introduction to Circuit Theory & Electronics 0701211
0701214 Electric Circuits lab. (1 credit)
Transient response in RLC circuits. The sinusoidal steady-state response. -to-Y and Y-to- conversions. DC and AC current Bridges. Single stage RC and RL filters. Series RLC resonance. Computer simulations for electric circuits using Electronics Workbench, PSpice, etc. Corequisite: Electric Circuits 0701212.
0701222 Electronics I (3 credits)
Small signal models for BJT amplifiers. The JFET: n-channel and p-channel JFETs, DC biasing techniques for JFETs, small signal models for JFET amplifiers. Prerequisite: Introduction to Circuit Theory & Electronics 0701211
0701224 Electronics I Laboratory (1 credit)
BJT amplifiers. JFETs: characteristics, DC biasing circuits, and amplifiers. Corequisite: Electronics I 0701222.
0701235 Complex Analysis & Engineering Transforms (3 credits)
Complex Analysis: complex numbers, analytic functions, elementary functions, complex integration, residue integration method, and conformal mapping. Fourier Analysis: periodic functions, trigonometric series, Fourier series and integrals, complex Fourier spectrum, Fourier transform and its properties. Laplace Transform: Forward and inverse Laplace transforms, linearity, applications and properties. Practical exercises using MATLAB. Corequisite: Engineering Mathematics 0700231.
0701240 Digital Logic Systems (3 credits)
Boolean algebra and its laws, theorems, operations, simplification of Boolean expressions. Description the logic system behavior in an algebraic expression. Using Karnaugh Maps and Quinn-McLowski’s techniques. Combinational logic networks and applications. Logic functions implementation using Multiplexers, Decoders, Read-Only Memories, and Programmable Logic Arrays. SR, JK, T, and D flip-flops. Design and analysis of synchronous sequential logic networks and applications. Corequisite: Introduction to Circuit Theory & Electronics 0701211.
0701244 Digital Logic Systems Laboratory (1 credit)
Combinational Logic circuits. Digital comparators and adders. Code conversion and multiplexers. Sequential circuit design. Counters. Sequential adders/subtractors. Shift registers. Project. Corequisite: Digital Logic Systems 0701240.
0701325 Electronics Workshop (1 credit)
Schematics, Simulations, and PCB layouts Computer Aided Design using OrCAD, Pspice and/or Proteus etc. Prerequisite: Electronics I 0701222.
0701342 Microprocessors (3 credits)
Basic architecture of the Intel microprocessor family (XX86 and Pentium versions). Real-mode assembly language programming. Memory mapping, interfacing, and addressing. I/O interface. Programmable Peripheral Interface (PPI), Serial I/O interfacing, Interrupt Controller (PIC). DMA modules. Arithmetic Coprocessor. Bus interfacing modules. Prerequisite: Computer Organization & Architecture Lab 0702341
0701443 Microprocessor Laboratory (1 credit)
A collection of experiments to enhance understanding microprocessor hardware bases, interfaces with real world including peripheral interfaces & programmable communication. The experiments involve machine language programming. An Intel 8088 microprocessor development kit will be used by students for “hands on” program development. Corequisite: Microprocessors 0701342
0702202 Discrete Math (3 credits)
Introduction to networks, recursion, shortest route, Dynamic programming, Flows in networks, Linear programming, Simplex method, transportation problem, game theory, simulation. Prerequisite: Engineering Mathematics 0700231
0702211 Data Structures and Algorithm Design
Data representations. Algorithms design for data structures. Programming methodology. Design specifications. Structured programming. Testing strategies and algorithm analysis. Sorting and searching. Prerequisite: Programming Fundamentals for Engineers 0702113
0702232 Object-Oriented Programming (3 credits)
Basic concepts. Classes. The inheritance concept. Polymorphism, exceptions, operator overloading, templates, visibility and dependency, patterns and frameworks. Implementation in C++/Java. Prerequisite: Data Structures and Algorithm Design 0702211.
0701333 Object-Oriented Program Laboratory (1 credit)
Problem solving techniques for engineering problems, primarily from the fields of electrical and computer engineering; object-oriented programming concepts; object-oriented program development, editing, compiling, linking, and debugging using the Object-Oriented Programming languages. Corequisite: Object-Oriented Programming 0702232.
0702324 Database Systems (3 credits)
This course provides an introduction to database systems including database querying, design, and programming. The course consists of three major components. The first component explains databases from a user perspective including how to query using SQL, relational algebra, and other query languages. The second component involves designing relational databases using Entity-Relationship (ER) diagrams and other modeling languages. The last part involves database programming with current technologies such as JDBC, JSP and Web technologies. Students completing the course have experience with current database technologies, and the ability to use and develop databases user interfaces, queries, forms and reports, and associated applications. Prerequisite: Software Engineering 0702381.
0702325 Database Systems Laboratory (1 credit)
Install and configure SQL Server, Manage database files, Backup and restore databases, Manage security, Transfer data into and out of SQL Server, Automate administrative tasks, Replicate data between SQL Server instances, Maintain high availability. Creating a Database, Monitor SQL Server. Corequisite: Database Systems 0702324
0702335 Probability & Statistics (3 credits)
Statistics: Sampling distributions, Point and interval estimation, Testing of hypothesis, Goodness of fit and contingency tables, Linear regression. Probability Theory: Probability, conditional probability, random variables, expected value, specific discrete and continuous distributions, e.g. binomial, Poisson, geometric, Pascal, hypergeometric, uniform, exponential and normal, Poisson process, Multidimensional random variables, Multinomial and bivariate normal distributions, Moment generating function, Law of large numbers and central limit theorem. Prerequisite: Discrete Math 0702201.
0702341 Computer Organization & Architecture (3 credits)
Assembly level machine organization, Basic organization, Control unit; instruction fetch, decode, and execution Instruction sets and types (data manipulation, control, I/O) Assembly/machine language programming Instruction formats Addressing modes I/O and interrupts. Memory system organization, Storage systems and technology, Memory hierarchy, Main memory organization and operations, Latency, cycle time, bandwidth, and interleaving, Cache memories (address mapping, replacement and store policy). I/O and communication, Input/output control methods, interrupts, Synchronization, open loop, handshaking, External storage, physical organization, and drives, Bus systems, control, direct-memory access (DMA). CPU implementation, Hardwired realization of CPU, Microprogrammed realization; formats and coding, Varieties of instruction formats, Architectural support for operating systems and compilers, Instruction pipelining, Introduction to instruction-level parallelism (ILP). Prerequisite: Digital Logic Systems 0701242
0702342 Computer Organization & Architecture Lab (1 credits)
VLSI design packages are used to design and implement various components like ALUs, instruction decoders, register banks, processors, memories, programmable I/O devices, and ASICs. Prerequisite: Computer Organization & Architecture 0702341
0702381 Software Engineering (3 credits)
Emergent system properties, systems engineering, legacy systems, software process models, process iteration and activities, the rational unified process, computer-aided software engineering, management activities, project planning & scheduling, risk management, functional and non-functional requirements, user & system requirements, interface specification, feasibility studies, requirement elicitation, analysis, validation and management. System models: context, behavioral, data and object model. Formal specification. Architectural design. Object-oriented design process and evolution. Prerequisite: Object-Oriented Programming 0702232.
0702422 Multimedia Fundamentals (3 credits)
What is multimedia, overview of multimedia software tools, multimedia authoring & authoring tools, VRML, Graphics/Image data types, popular file formats, Color science, spectral sensitivity of the eye, camera systems, gamma correction, CIE chromaticity diagram, XYZ to RGB transform, Lab (CIELAB) color model, CMY color model, Color models in video: YUV, YIQ & YCbCr Color models, Types of video signals, Analog (NTSC, PAL SECAM) video and digital video (CCIR & HDTV). Digitization of sounds, Nyquist theorem, SNR, SQNR, MIDI, Quantization and Transmission of Audio: DPCM, DM, ADPCM). Lossless compression algorithms: Run-Length coding, Shanon-Fano algorithm, Huffman coding, adaptive Huffman coding, dictionary-based coding arithmetic coding, Lossless Image compression. Prerequisite: Data Structures 0702211
0702423 Multimedia Fundamentals Laboratory (1 credit)
Offering hand-on training on the latest multimedia tools & packages including graphical, animation, sound editing, video-productions, authoring. In addition, students will be trained to program in scripting languages such as XHTML, XML, and Java scripts as well as to develop multimedia-based applications in Visual BASIC, Visual C++, Java or C#. Corequisite: Multimedia Fundamentals 0702422
0702451 Operating Systems (3 credits)
Operating System Objectives and Functions, Process definition, Process States, Operating System Control Structures, Modes of Execution, Process Creation, Process Switching, Nonprocess Kernel, Execution within User Processes, Process-Based Operating System, Unix SVR4 Process Management, Processes and Threads, Symmetric Multiprocessing, Microkernels, Thread and SMP Management of Windows, Solaris and Linux. Principles of Concurrency, Mutual Exclusion: Hardware Support, Semaphores, Monitors, Message Passing, Readers/Writers Problem. Deadlock and starvation. Memory Management Requirements, Memory Partitioning (Fixed Partitioning, Dynamic Partitioning, Buddy System, Relocation), Paging, Segmentation. Virtual memory. I/O Devices, I/O Buffering, Disk Scheduling, Raid, Disk Cache. File Management Systems, Pile, Sequential File, Indexed Sequential File, Indexed File, Direct or Hashed File, File Directories, File Sharing. Prerequisite: Object-Oriented Program Lab 0702233.
0702452 Operating Systems Laboratory (1 credit)
The students will explore a variety of OS mechanisms, including concurrent programming, address spaces and scheduling, virtual memory, file systems, networking by using OS simulators such OSP, Nachos, BACI or others. Windows NT: Administration, Installation, and Configuration. Management aspects such as managing of system policies, partitions, fault tolerances (RAID) and trouble-shooting tools. UNIX: Linux installation basics, general commands, the UNIX file system, shell programming, system administration including user administration, file system and disk administration, networking. Corequisite: Operating Systems 0702451.
0702453 Building Web Applications (3 credits)
Technologies of the web. JavaScript and other client-side programming within a web browser. CGI and other server-side programming with web-based application servers. Applications. Prerequisite: Database Systems 0702324.
0702454 Data Communication Systems (3 credits)
The course covers the principles of communication systems: Fourier and Hilbert transforms. Amplitude modulation. Angle modulation. Demodulation of FM. Noise. Potential topics include analog and digital signaling; data encoding and modulation; Shannon channel capacity; synchronous and asynchronous transmission; RS232 physical layer interface standards; FDM, TDM, and STDM multiplexing techniques; inverse multiplexing; analog and digital transmission; V series modem standards; PCM encoding, basic transmission concepts, transmission media, circuit control, line sharing techniques, physical and data link layer protocols, error detection and correction, data compression, common carrier services and data networks, and the mathematical techniques used for network design and performance analysis. Framing, queuing analysis topology optimization techniques; switching. Prerequisite: Probabil24ity & Statistics 0702335.
0702455 Data Communication Systems Lab (3 credits)
Analog communication systems: AM with full carrier, AM with no carrier, DSB-SC, SSB, generation of FM, demodulation of FM, the effect of noise on FM demodulation. Digital communication systems: sampling, data formatting, synchronization, time-domain and frequency-domain analysis of pulse trains, PCM encoding, Interlayer Communication. Sliding Window Protocol and Go-back-N ARQ. CSMA/CD Media Access Control, Ethernet (IEEE 802.3). Token Ring Network. Transparent Bridge. Prerequisite: Probability & Statistics 0702453.
0702325 Computer Graphics (3 credits)
Graphic systems. Video Display Devices. Fundamental techniques in graphics. Basic rendering and basic geometric modeling. Visualization. Prerequisite: Software Engineering 0702381.
0702464 Instrumentation and Control Systems (3 credits)
Instrumentation: Electronic Instrument System, Experimental Error, Sensors for Transducers (Potentiometers, Differential Transformers and Resistance Gages Capacitance Sensors, Piezoelectric Sensors, Resistance Temperature Detectors and Thermocouples). Digital Recording Systems: Conversion Processes, Digital-To-Analog Converters, Analog-To-Digital Converters. Signal Conditioning Circuits, Potentiometer Circuit, Wheatstone Bridge, Operational Amplifiers. Control Systems: Introduction to Control Systems, Mathematical Modeling of Dynamic Systems, Transfer Function and Impulse-Response Function, Block Diagrams, Mechanical Systems, Electrical Systems. Transient-Response Analysis, Root-Locus Analysis, Root-Locus Plots, Control Systems Design by the Root-Locus, Frequency response analysis, Bode diagrams. Prerequisite: Electronics 0701222.
0702466 Embedded Systems (3 credits)
Embedded systems characteristics. Microprocessors versus micro controllers. Micro controller characteristics. General-purpose micro controllers. Examples of micro controller architectures. Interrupts, counters/timers, Input/output ports. Micro controller programming. Instruction set. Program development and use of assemblers. Memory maps and addressing modes. Digital to analogue and analogue to digital conversion in micro controllers. Data acquisition and distribution. Serial and parallel communications. Real-time system and its constraints. Interfacing to external devices. Prerequisite: Microprocessors 0701342.
0702467 Interfacing & Maintenance Laboratory (1 credit)
This laboratory is divided into three practical parts: Part 1 is concerned with the hardware of the personal computer. This includes the introduction of the motherboard, the CPU, the memory, the mass-storage devices as well as the case and the power supply. Part 2 deals with the disk partitioning followed with the installation of more than one operating system, installation of office software such MS office and the usage of software tools for error debugging and repairing of the PC including the hardware and the operating system. Part 3 covers different interfacing techniques between the personal computer and external systems (automation systems) including actuators and sensors using ADC and DAC circuits, Hardware diagnosis, Bench Marking. Corequisite: Microprocessor Lab 0701443.
0702551 Computer Networks (3 credits)
The course is an introduction to communications and networking. Topics covered include: Distinction between signal and data, and between analogue and digital data. Transmission media. Switching: Circuit-switched, packet-switched and message-switched, Network Models OSI and focusing on TCP/IP model. Connecting LANs Wired, Wireless and Virtual LANs. Multiple access protocols for Ethernet and token passing systems. Protocol hierarchies, routing of packets in networks, Internetworking, Address Mapping, Multicasting. Performance, flow and error control, and reliability. Prerequisite: Operating Systems 0702451.
0702551 Computer Networks Laboratory (1 credit)
The objective of this lab-based course is to gain knowledge of fundamental computer networking issues through hands-on experiments with network equipment and services. The sequence of labs starts at the physical layer and progress up the protocol stack to the application layer. Topics covered are: Signal generation and analysis at the physical layer; Ethernet and WLAN performance and management; IP address planning and management; IP router generation including RIP, OSPF, BGP, MPLS protocols, TCP connection control; Stateful packet filtering; Network monitoring and management; Signaling protocols for VOIP services, and Web-based services configuration. Experiments cover the topics of OPNET simulator which provides a very detailed modeling tool for students to build a “real” system by building a communication network in real world. Corequisite: Computer Networks 0702551
0702492 Software Project (2 credits)
In this project the student is expected to use software engineering skills to design a software package which integrates the knowledge he/she gained in one or more directions. Prerequisite: Building Web applications 0702453 + Student must have successfully completed a minimum of 110 Credit Hours.
0702590 Internship (3 credits)
Each student is expected to spend at least 135 hours of training and work in a recognized engineering company or establishment. The student is required to prepare a detailed report summarizing the practical work experience both office and field work. The academic staff from the department will continuously follow up the training by making regular field visits to training locations. Prerequisite: Interfacing & Maintenance Laboratory 0702467 + Student must have successfully completed a minimum of 120 Credit Hours.
0702591 Introduction to Graduation Project (1 credit)
This course allows students to work with a faculty advisor to complete a proposed graduation project. Students are expected to gather the necessary information, scientific literature, and materials related to the project. Students are also expected to complete the initial design and implementation stage of their project. Depending on the selected project, this might involve testing hardware circuits, writing test programs, or performing any necessary computer simulations etc. Prerequisite: Microprocessors 0701342 + Student must have successfully completed a minimum of 120 Credit Hours.
0702592 Graduation Project (3 credits)
Students are expected to continue the project started in 0702591. At the end of the term, students should submit a fully documented report of their project, and perform a public presentation, open to all faculty members and any invited visitors, which includes an oral examination of their work. Prerequisite: Introduction to the Project 0702591.
Program Elective Courses
0702471 Engineering Numerical Analysis (3 credits)
Floating point arithmetic. Error. Stability. Convergence. Taylor series. Iterative techniques. Curve fitting and approximation. Numerical differentiation and integration. Explicit and implicit methods. Prerequisite: Engineering Mathematics 0700231
0702472 System Programming (3 credits)
History. Virtual machines. Data types. Control. Type checking. Run-time storage management. Finite state automata. Regular expressions, grammars and parsers, language translation systems. Prerequisite: Software Engineering 0702381
0702474 Human-Computer Interaction (3 credits)
Principles. Mapping. Constraints. Information visualization. Modeling. Interaction. Window management. Help systems. Evaluation techniques. Computer-supported collaborative work. Prerequisite: Software Engineering 0702381
0702475 Advanced Computer Architecture (3 credits)
Conventional uni-processors, pipelined processors, parallel processors & multiprocessors. Memory & cache structures. Multiprocessor algorithms & synchronization. Special-purpose architectures. Prerequisite: Computer Architecture 0702341
0702571 Network Security (3 credits)
This course explains Security protocols, authentication protocols, data integrity, digital signatures, intrusion detection, key management and distribution, viruses and other malicious codes, information flow, mobile code and agent security. Cryptographic algorithms: Secret Key Encryption (DES), Public Key Encryption (RSA), Message Digest Algorithm (MD5); Attacks and countermeasures: Packet sniffing, Spoofing and denial of service; Application layer security: HTTPS, secure email; Transport layer security: TLS, SSL; Network layer security: IP security (IPSec), AH protocol, ESP protocol; access control and Firewalls: Filter-based firewalls, Proxy-based firewalls; wireless networks security, security in IEEE 802.11, WEP protocol, EAP protocol. Corequisite: Computer Networks 0702551.
0702572 Wireless Networking (3 credits)
This course covers fundamental techniques in design and operation of wireless networks: Wireless LAN, the IEEE802.11 standard, Ad Hoc nets, Bluetooth technology, GSM and also wireless sensor networks. existing systems for satellite communication, mobile telephony, local wireless networks and mobile IP. Also acquire an overview of current technologies and problems such as: Antennas, wave propagation, power control, multipath, propagation, fading, frequency hopping. Prerequisite: Computer Networks 0702551.
0702573 Advanced Networks (3 credits)
Circuit Switching and Packet Switching, Routing in Switched Networks, Transport Protocols Congestion Control in Data Networks, Cellular Wireless Networks, Wireless LANs, Internetwork Operation, SONET/SDH, Frame Relay and ATM, Application Layer, Multimedia, Network Security, Sockets Programming. Prerequisite: Computer Networks 0702551.
0701472 Digital Signal Processing (3 credits)
Signals, systems and signal processing. Discrete-time signals. Frequency analysis. Z-Transform. Analysis and design of discrete systems. Sampling. FIR, IIR structures. Discrete Fourier Transform. Prerequisite: Complex Analysis & Transforms 0701235
0702478 Very Large-Scale Integration Design (3 credits)
Introduction to Microelectronics. Semiconductor Physics and IC Technology. Metal-Oxide Semiconductor (MOS) Transistors. MOS Inverters and Gate Circuits. Bipolar Transistor Inverter. Bipolar Gate Circuits. Regenerative Logic Circuits. Semiconductor Memories. VLSI Systems: Design, Fabrication and Layout. Prerequisite: Computer Architecture 0702341.
0702577 Special Topics (3 credits)
This course has a very flexible and varied outline that covers various topics depending on the research interests of the academic instructor teaching it. Prerequisite: Department Consent.