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. It also covers the advanced topics of C++ such as structures, pointers, templates and recursion.
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.
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.
Microprocessor Systems – COE348
The course deals with Intel 80x86 microprocessor architecture and organization, instruction set, assembly language, interfacing concepts and buses. Concepts are reinforced through laboratory sessions
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, 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.
The internship comprises of minimum of 16 weeks which may be fragmented into two summer semesters. The student has to indulge in a training that offers a minimum of 30 hours per week and a maximum of 40 hours per week.
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.
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
This course aims to develop students’ understanding of probability concept and its applications in analyzing random variables and random processes. The course also covers applications of random variables and random process in different engineering areas.
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.
Intelligent Systems 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, and force control methodologies. Artificial neural networks, Deep learning, genetic algorithms, Artificial immune systems, Ant colony intelligence, and Fuzzy rule based systems.
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.
Artificial Intelligence – INT430
This course is designed to introduce the theory and techniques of AI to students. The course covers: knowledge representation schemes, classical and heuristic search techniques, inferencing, machine learning, agent, ethical, economic, and social issues arising from the adoption of AI. The PROLOG language is also covered to enable students to represent, manipulate, and reason with knowledge.
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, neuro-fuzzy technology, fuzzy control systems and applications.
Introduction to Programming with MATLAB - COE213
The course offers an exposure to programming techniques in MATLAB programming environment. Contents include Vectors, Matrices, Basic Arithmetic, Conditional and Repetition Statements, Plotting with MATLAB. Input/Output, M-files scripts and functions.
Data Structures and Algorithms - COE350
The course includes essential topics on data structures including array-based lists, linked lists, stack, queue, trees and graphs. It also covers various data structure algorithms including searching, sorting, hashing and traversal. Measuring the complexity of programs is also part of the course. The course also covers some basic data structure algorithms that are used in data analytics.
Computer Communication and Networks - COE261
This course deals with introducing to the students the basic concepts of data and computer communication, layered architectures, protocols and interoperability of devices and networks. It also familiarizes to the students the fundamental physical layer coding schemes for data communication, error detection and correction schemes, data link access methodologies, devices and TCP/IP protocol model.
Machine Learning - ELE466
The main purpose of this course is to provide the fundamental knowledge to the engineering students so that they can understand basics of AI. The course covers: Introduction to AI, Problem formulation, Search, Production system, Ontology, Propositional logic, First order predicate logic, Fuzzy logic, Pattern Recognition, Distance-Based Neural Network, Multilayer Neural Networks, Decision trees. Python, MATLAB are used for simulation purpose.
Network Protocols and Security - COE361
The course introduces the students the protocol details and functioning in TCP/IP Stack including routing algorithms such as RIP, OSPF and BGP, and transport protocol mechanisms such as flow control, congestion control and reliability. It also covers modern network technologies such as Bluetooth, and Wireless LANs. The course also includes fundamental security aspects of communication networks.