ENGINEERING PHYSICS I - PHY121
Vectors, motion, and Newton’s laws. Work, energy, momentum and conservation of momentum. Rotation of rigid bodies, dynamics of rotational motion. Equilibrium and elasticity. Stress and strain. Periodic motion. Engineering applications.
ENGINEERING PHYSICS II - PHY122
Electric charge and electric field. Coulomb’s law and Gauss’s law with applications. Capacitance and dielectrics. DC circuits. Magnetic fields. Ampere’s law and its applications. Electromagnetic induction, Faraday’s law, Lenz’s law, induced electric fields. Self- and mutual-inductance. Electromagnetic waves and Maxwell’s equations. Optics and its engineering applications.
ENGINEERING MATHEMATICS I - MTH121
Limits of functions, theorems about limits, evaluation of limit at a point and infinity, continuity. Derivatives of algebraic and trigonometric functions, maxima and minima, engineering applications of derivatives. The definite and indefinite integrals and their applications. Integration by parts, Integration using powers of trigonometric functions, Integration using trigonometric substitution, Integration by partial fractions. Integration of improper integrals. Transcendental Functions.
ENGINEERING MATHEMATICS II - MTH122
Matrix addition, subtraction, multiplication and transposition. Complex numbers, algebraic properties of complex numbers, absolute values, complex conjugate, polar representation, powers and roots. Functions of several variables. Double and triple integrals in rectangular and polar coordinates. Applications of multiple integrals in engineering. Infinite sequences, tests for convergence, power series expansion of functions, Taylor series, Laurent series, Fourier series and their applications in engineering.
ENGINEERING MATHEMATICS III - MTH221
Vector Calculus and its engineering applications. First order differential equations. Homogeneous linear second-order differential equations with constant and variable coefficients, non-homogeneous linear second-order differential equations with constant coefficients, higher-order linear differential equations with constant coefficients. Power series solution of differential equations. Laplace Transform, Inverse Laplace Transform. Application of Laplace Transform to solve ordinary differential equations. Introduction to partial differential equations (PDEs), first order PDEs, second order PDEs, boundary value problems, engineering applications.
ENGINEERING MATHEMATICS IV - MTH222
Linear Algebra: Matrices and determinants, solution of systems of linear equations, eigenvalues and eigenvectors, engineering applications, computer exercises. Complex Analysis: Complex functions, derivative of complex functions, analytic functions, Cauchy-Riemann equations, harmonic functions. Fourier analysis: Fourier Series, Fourier Integrals, Fourier series of even and odd functions with applications. Discrete Mathematics and its engineering applications.
Discrete Mathematics – INT202
This course introduces Discrete Mathematics techniques to Information Technology and Computer Engineering students. Topics covered include propositional logic, predicate logic, inference, induction & other proof techniques, counting, sets, functions, recursion, relations, graphs, and trees.
Programming for Engineers I – COE202
This course provides knowledge and skill of programming concepts using pseudo code and C++ programming language. Topics cover: Pseudo code and flow-charts; data types; variables, constants, and memory locations; simple sequential programs; basic input/output; selection and repetition control; arrays and strings; and user-defined functions.
Programming for Engineers II – COE212
The primary objective of this course is to introduce the concepts of object-oriented programming: classes, objects, functions, inheritance, polymorphism, composition and aggregation, and recursive functions.
Introduction to Programming with MATLAB – COE213
The course also offers an in-depth exposure to programming techniques in MATLAB programming environment. Contents include Vectors, Matrices, Basic Arithmetic, Conditional and Repetition Statements, Plotting with MATLAB. GUI in MATLAB, Input/Output, M-files scripts and functions.
Circuit Analysis- COE215
This course covers the topics of DC and AC circuit analysis. It includes the topics of impedance and admittance, mesh, nodal, superposition, Thevenin’s and Norton's theorem, transient response of RC and RLC circuits, sinusoidal steady state response, resonance, phasor representation, and two-port networks.
Electronics I COE251
Basic properties of semiconductor materials. Theory of operation and applications of p-n junction diodes, zener diodes and photodiodes. Theory of operation, biasing circuits, and small signal analysis of Bipolar Junction Transistor and Junction Field Effect Transistor. Transistor configurations and two-port network representation of transistor A.C. equivalent circuits. Analysis and design of transistor amplifier circuits.
Electronics II – COE303
This course covers design and analysis of BJT and FET amplifier circuits, operational amplifiers and their applications in wave shaping, signal generation, filters, A/D and D/A converters. It also covers design of oscillator circuits and signal/waveform generators.
Instrumentation and Measurements – COE322
Basic measurement concepts, sources and types of measurement errors, sources of noise and interference. DC and AC Bridges and their applications. Analog DC and AC meters. Oscilloscopes: types, specifications, operation, measurements with oscilloscopes. Electronic voltmeters, digital multi-meters, electronic counters. Logic Analyzers, Data Generators. Development of virtual instruments using software.
Digital Logic Design – COE242
This course covers the topics of number systems. Logic gates. Boolean algebra. Simplification of Boolean Functions. Combinational circuit design. Sequential Circuits. Finite State Machines and Memories.
Digital System Design - COE321
This course introduces design methodologies for implementing digital systems in programmable logic. The course will build on the basics of digital logic design course. The students will learn how a Hardware Description Language (HDL) is used to describe and implement hardware. The topics will include (behavioral modeling, dataflow modeling and structural modeling and writing test benches for design verification). The students also will learn about computer-aided synthesis and implementation for FPGAs design. Laboratory exercises lead the students through the complete programmable logic design cycle. Each student will prototype a digital system starting with VHDL entry, functional and timing simulations, logic synthesis, device programming, and verification.
Computer Organization and Architecture – COE246
Introduction to computer organization, the major components of a computer system and the interaction between them, including CPU, memory, I/O devices and buses. Machine instructions, assembly language programming, CPU performance and metrics, non-pipelined and pipelined processor design, datapath and control unit, pipeline hazards, memory system and cache memory.
Description: Microprocessor Systems – COE348
This course covers microprocessor architecture, system design and development, instruction set and buses. The Intel 80x86 family, real and protected mode, interrupts and interfacing techniques are explained. Advanced microprocessor system architectures such as the Intel Pentium will be discussed.
Embedded Systems - COE349
This course introduces the hardware and software design of embedded systems using microcontrollers. Students are introduced to microcontroller programming in both assembly and C. Important subsystems of the microcontroller are covered such as timers, interrupts, serial transmission of data, analog to digital and digital to analog converters. There are a series of exercises introduced into the lectures and labs, which give students hands-on experience with working with microcontroller. At the end of the course, each student will choose a design project to work on during the last few weeks.
Operating Systems – INT301
This course covers the principles and concepts of modern operating systems. Topics include: operating system services; operating systems structures; operating system processes: threads, synchronization, CPU scheduling, deadlocks; memory management: main memory, virtual memory; storage management: storage structures, file-system interface, and file-system implementation; and operating protection and security.
Digital Integrated Circuits COE440
This course covers design, operation and analysis of various digital integrated circuit families, MSI digital circuits, and memories.
Engineering Ethics - COE446
This course is designed to introduce undergraduate Computer Engineering students to the concepts, theory and practice of engineering ethics. Topics include professionalism, code of ethics, moral framework, safety and risk, honesty, intellectual properties, privacy, computer crimes, economic and global issues.
Computer Engineering Internship - COE401
Internship familiarizes students with actual working environments. It gives students the opportunity to integrate their knowledge and skills acquired in various courses. Internship also gives the student a feeling of what is involved in working in a practical environment. It also provides an opportunity to develop communication and team-work skills as well as ethical issues relating to the profession.
Data Structures - COE304
The course covers concepts of program performance (time and space complexity); recursion; data structures: lists, stacks, queues, graphs, trees, binary search trees, priority queues, heaps, and operations on them and their applications; sorting; searching and hashing.
Fundamentals of Data Communications and Networking – INT205
Introduction to computer networks and the Internet. Protocol layers and the OSI model. Network models. Network Performance, Switching, Network Devices. Data Link Layer: ARP, Error Detection & Correction, Data-link Control, Medium Access, Ethernet, WLANs, Network Layer: IP and Routing Algorithms, Transport Layer: UDP, TCP, Congestion Control, Application Layer: Web, FTP, e-mail, DNS and P2P.
Fundamentals of Information Security – INT303
This course aims at introducing fundamental security concepts to students. Main security threats and related countermeasures are presented. Students will learn the importance of protecting information stored on computer systems from unauthorized access. The students will also learn how to encrypt and decrypt information, control access to objects and recommend a secure system implementation.
Database Management Systems- INT302
This course is designed to give a theoretical and practical background in database techniques. It covers database concepts, data models, data dictionary, entity relationship diagrams, and the relational data model, converting E-R models to relational model, SQL language, normalization, and physical database design. Oracle software is used in the Lab.
Advanced Computer Networks – INT311
This course will cover the principles of networking with a focus on algorithms, protocols, and implementations for advanced networking services. We will examine a variety of ideas that were proposed to enhance the Internet, why some of these enhancements were successful while others were not. The emphasis in this course is on topics such as routing protocols, advanced routing and switching. It covers Internet architecture, congestion control, QoS, IPv6, and voice over IP.
Fundamentals of Software Engineering – INT305
The course emphasizes object-oriented techniques and the use of UML. Topics covered in this course include: overview of the software engineering process, software process models, UML syntax and semantics, software requirement analysis, software design principles and models, component-level design, and software testing. Student will work in teams on software projects.
Computer Engineering Project I - COE431
The course aims to give students the opportunity to work in a guided but independent fashion to develop a solution to a problem by making use of knowledge, techniques, and methodologies acquired in the previous semesters. The course also aims to enhance team work and communication skills, both oral and written.
Computer Engineering Project II - COE432
The course aims to give students the opportunity to work in a guided but independent fashion to develop a solution to a problem by making use of knowledge, techniques, and methodologies acquired in the previous semesters. The course also aims to enhance team work and communication skills, both oral and written. Student may continue the work on project-1 subject to the approval of the advisor or define a new project.
SIGNALS AND SYSTEMS - ELE204
This course aims to develop students’ understanding of discrete and continuous-time signals and systems, and their analysis in both time and frequency domains. It further enhances their skills in analyzing such systems using computer-based simulation tools
PRINCIPLES OF COMMUNICATION - ELE302
Introduction to fundamentals of communication systems. Amplitude Modulation (AM): Modulation index, spectrum of AM signals, AM circuits. Single side band modulation, frequency division multiplexing. Frequency Modulation (FM): Spectrum of FM signals, FM circuits. FM versus AM. Sampling, quantization, coding, pulse code modulation, delta modulation, time division multiplexing. Shift Keying methods.
PROBABILITY AND RANDOM VARIABLES - ELE304
Concept of Probability. Discrete and continuous random variables. Operations on single random variable: Expected values and moments. Joint cumulative distribution function and joint probability density function. Sum of random variables. Independent random variables. Jointly Gaussian random variables. Definition and classification of random process, transmission of random process through linear filters, and optimum filtering. Applications in signal processing and communication systems.
Selected Topics in Computer Engineering - COE430
This course covers some advanced topics related to computer engineering, computer science and its related areas that are not covered in the curriculum and are considered useful and additional learning material for students majoring in computer engineering. Course contents are subject to the approval of the department.
Machine Intelligence and Robotics - COE472
The course will cover the following topics; introduction to robotics and machine intelligence, rigid-body transformations, forward and inverse positional kinematics, velocities and Jacobians of linkages, dynamics, linear and non-linear control, force control methodologies, and robotic programming. Concept Learning and the General-to-Specific Ordering, decision tree learning, artificial neural networks, genetic algorithms, learning sets of rules, and reinforcement learning.
Network Security – INT312
This course covers security concepts related to the protection of a network from known threats and attacks. This includes digital signatures, authentication protocols, IP & Web security and e-mail security. Advanced cryptographic algorithms are also discussed in details such as DES and AES. Determine common network security threats and countermeasures.
Computer Modeling and Simulation – INT406
This course aims to introduce students to elements and methodology of simulation. Topics include: basic concepts and types of simulation, discrete-event simulation, a review of probability and statistics relating to simulation, selecting input probability distributions, generation of random variates, design of simulation experiments and output analysis, verification and validation of simulation models. Students are expected to submit a simulation project.
Network Design & Implementation – INT411
This course covers the principles of network analysis, architecture, and design. These principles help in identifying and applying the services and performance levels that a network must satisfy. Principles of network analysis include network service characteristics, performance characteristics, network requirements analysis, and network flow analysis. Principles of network architecture and design include addressing and routing, network management architecture, performance architecture and design, security and privacy architecture, and quality of service design.
DIGITAL SIGNAL PROCESSING - ELE450
Review of discrete-time signals and systems. Transform-domain representations of signals: Discrete-time Fourier Transform, Fast-Fourier Transform, applications of Z-Transform. Transform-domain representations of LTI systems: Types of transfer functions, stability condition and test. Frequency response of a Rational Transfer Function. The difference equation and Digital Filtering. Concept of filtering: Finite Impulse Response (FIR) and Infinite Impulse Response (IIR) Filters.
VLSI DESIGN ELE421
Introduction to VLSI design. Review of basic logic gates in CMOS. Integrated circuit layers, sheet resistance, time delay, CMOS layers, designing FET arrays, stick diagrams, layouts of CMOS circuits. Fabrication of CMOS ICs. Design rules, physical limitations. Advanced techniques in CMOS logic circuits. General VLSI system components. Floor-planning and routing. DRAM, SRAM, ROM designs.
TELECOMMUNICATION SYSTEMS - ELE456
Introduction to telecommunication systems. Telecommunication fundamentals and transmission media characteristics. Design analog and digital data transmission schemes. Telephony systems: ISDN and PSTN, essentials of traffic engineering. Overview of Wireless LAN technology. Comparison of ZigBee with other standards and applications. Introduction to satellite and fiber optic based communications.
FUZZY LOGIC AND NEURAL NETWORKS - ELE480
An introduction to Fuzzy Logic and Neural Networks history, applications, and implementations. Fuzzy logic fundamentals, fuzzy sets, types of membership functions, linguistic variables, creation of fuzzy logic rule base, fuzzy logic operations. Fuzzy inference system. Neural network fundamentals, neural type learning process, single layer perceptron. Artificial neural networks architectures, training algorithms, genetic algorithms and evolution computing, neuro-fuzzy technology, fuzzy control systems and applications. Associative memory Hopfield neural networks.