Calendar

B.Sc. in Computer Engineering

B.Sc. in Computer Engineering (with optional concentration in Software)

The BSc in Computer Engineering program is concerned with the design and development of computers and computer-based systems. It involves the study of hardware, software, and networking. The BSc in Computer Engineering degree provides a strong understanding of the relationship between computer hardware and software and all related issues. It is the key to many career opportunities in both government and industry sectors. Students are offered opportunities to customize their education by selecting from a pool of technical elective courses. The Khalifa University of Science and Technology’s program also gives students the opportunity to specialize in software systems.

Program Enrollment and Degree Data >>

Accredited by the Engineering Accreditation Commission of ABET. 

  • Graduates will meet the expectations of employers of computer engineers.
  • Qualified graduates will pursue advanced study if they so desire.

Students graduating with a BSc in Computer Engineering degree will attain the following:

(a)

An ability to apply knowledge of mathematics, science, and engineering.

(b)

An ability to design and conduct experiments, as well as to analyze and interpret data.

(c)

An ability to design a system, component, or process to meet desired needs within realistic constraints such as economic, environmental, social, political, ethical, health and safety, manufacturability, and sustainability.

(d)

An ability to function on multi-disciplinary teams.

(e)

An ability to identify, formulate, and solve engineering problems.

(f)

An understanding of professional and ethical responsibility.

(g)

An ability to communicate effectively.

(h)

A recognition of the need for broad education necessary to understand the impact of engineering solutions in a global, economic, environmental, and societal context.

(i)

A recognition of the need for, and an ability to engage in life-long learning.

(j)

A knowledge of contemporary issues

(k)

An ability to use the techniques, skills, and modern engineering tools necessary for engineering practice.

Computer Engineers usually work in research laboratories that design, build and test various types of computer software models. Most work in high-tech manufacturing firms in the telecommunications, semiconductor and mobile industries. There are also computer systems opportunities in design firms, research and development firms, or in governmental bodies such as defense, armed forces, police, health care and information technology (IT).

Career specializations within this field include:

  • Systems Engineer
  • Computer Project Engineer
  • Test Engineer
  • Computer Network Engineer
  • Hardware Engineer
  • Computer Network Security Analyst
  • Systems Analyst
  • Software Development
  • Internet of Things (IoT)
  • Cloud Computing
  • Cybersecurity

ProgramFacilities

TheComputerEngineering Programlaboratoriesinclude:

  • Analog ElectronicsLaboratory
  • Digital & Embedded Systems Laboratory
  • Computer NetworksLaboratory
  • Software Engineering Laboratory
  • Power Systems Laboratory
  • Projects Laboratory
  • Communication Systems Laboratory
  • Control System Laboratory

ProfessionalChapters

IEEE Student Chapter

The Institute of Electrical and Electronics Engineers (IEEE) is the world’s largest professional association for the advancing of technology. The IEEE student chapter aims to prepare students to face challenges of the outside world and equip them with all the sufficient knowledge of their own field as well as being distinguished by their awareness of other fields’ progress and their ability to communicate with others. IEEE and its members encourage a global community through IEEE's highly cited publications, conferences, technology standards, and professional and educational activities.

The IEEE student section vision is a continuous, successful and productive student branch that holds new and innovative activities in both the scientific and social environments. Its mission is to be the definite article that merges all disciplines and activities into one big integrated multidisciplinary team of innovation and productivity.

The goals of the IEEE student chapter can be summarized as:

  • Explain the importance of networking and resources through technical societies.
  • Invite several qualified speakers to the campus form various backgrounds to share their experience and knowledge.
  • Coordinate with the other student chapters of to conduct workshops, activities and conferences.

Degree Requirements

To be recommended for graduation with a BSc in Computer Engineering degree, students must successfully complete the courses in the specified categories as set out below. The categories cover the University General Education Requirements (GER, 43 credits), the College of Engineering Requirements (CER, 27 credits), as well as Computer Engineering Core and Technical Electives requirements. Students may also opt for the degree concentration in Software Systems. The normal length of the program is 137 credits.

General Education Requirements
College of Engineering Requirements

 

Additional Math/Sciences Requirements (15 credits)

To satisfy the College of Engineering Requirements, the BSc in Computer Engineering requires the following Math courses in addition to the Math/Sciences required in GER: CHEM115, PHYS121, PHYS122, MATH111, and MATH112.

Course Code Course Name Credit Number
MATH204 Linear Algebra 3 cr.
MATH206 Differential Equations 3 cr.
MATH232 Electrical Engineering Mathematics 3 cr.
MATH234 Discrete Mathematics 3 cr.
MATH243 Probability & Statistical Inference 3 cr.

Computer Engineering Core Requirements (52 credits)

Course Code Course Name Credit Number
ECCE210 Digital Logic Design 4 cr.
ECCE221 Electric Circuits I 4 cr.
ECCE230 Object Oriented Programming 4 cr.
ECCE302 Signals & Systems 3 cr.
ECCE312 Electronic Circuits and Devices 4 cr.
ECCE316 Microprocessor Systems 4 cr.
ECCE336 Introduction to Software Engineering 3 cr.
ECCE342 Data Structures and Algorithms 3 cr.
ECCE350 Computer Architecture and Organization 3 cr.
ECCE354 Operating Systems 3 cr.
ECCE356 Computer Networks 4 cr.
ECCE434 Database Systems 3 cr.
ECCE450 Embedded Systems 3 cr.
ECCE497 Senior Design Project I 3 cr.
ECCE498 Senior Design Project II 3 cr.
ENGR399 Engineering Internship 1 cr.

Computer Engineering Technical Electives (12 credits)

Students are required to take a total of 12 credits (four courses) from an approved technical electives list. At most three credits of the technical electives may be at 300-level and at most three credits may be independent study. Students can choose any course from the list to satisfy both their technical and/or free elective requirements as long as it is not a core requirement course in their program. Additional courses may be approved by the department as technical electives.

List of general ECE Technical Electives

ECCE 326

Introduction to Semiconductor Devices

4 cr.

ECCE 330

System Analysis and Design

 

ECCE 341

Java and Network Programming

3 cr.

ECCE 362

Digital Communications I

3 cr.

ECCE 370

ECCE 356

Communication Networks

Computer Networks

3 cr.

ECCE 391

Independent Study I

1-3 cr.

ECCE 401

Filter Synthesis

3 cr.

ECCE 402

Digital Signal Processing

3 cr.

ECCE 404

Microwave Circuits and Devices

3 cr.

ECCE 406

Instrumentation and Measurements

3 cr.

ECCE 408

Digital Systems Design

3 cr.

ECCE 410

VLSI Systems Design

3 cr.

ECCE 411

Analog Integrated Circuits Design

3 cr.

ECCE 420

Industrial Automation

3 cr.

ECCE 421

Power System Analysis

3 cr.

ECCE 422

High Voltage Engineering

3 cr.

ECCE 423

Power Electronics

3 cr.

ECCE 424

Electrical Power Distribution Systems

3 cr.

ECCE 425

Power System Stability and Control

3 cr.

ECCE 426

Power Electronics for Renewables Integration

3 cr.

ECCE 427

Power System Protection

3 cr.

ECCE 428

Modern Control Systems

3 cr.

ECCE 429

Digital Control Systems

3 cr.

ECCE 432

Introduction to Human Computer Interfaces

3 cr.

ECCE 436

Software Testing and Quality Assurance

3 cr.

ECCE 438

Software Architecture

3 cr.

ECCE 440

Distributed Systems

3 cr.

ECCE 444

Computer Security

3 cr.

ECCE 446

Network Security

3 cr.

ECCE 448

Cloud Infrastructure and Services

3 cr.

ECCE 454

Artificial Intelligence

3 cr.

ECCE 456

Image Processing and Analysis

3 cr.

ECCE 460

Wireless Communications

3 cr.

ECCE 461

Digital Communications II

3 cr.

ECCE 462

Communication Systems Design and Prototyping

3 cr.

ECCE 463

Information and Coding Theory

3 cr.

ECCE 470

Antennas and Propagation

3 cr.

ECCE 472

Optical Communications and Networks

3 cr.

ECCE 481

Wireless Sensor Networks

3 cr.

ECCE 484

Satellite and Space Communications

3 cr.

ECCE 491

Independent Study II

1-3 cr.

ECCE 495

Special Topics in ECE

3 cr.

Computer Engineering – Software Systems (Concentration)

If students wish, they may select the Software Systems concentration before choosing the technical/free electives. Selecting a degree concentration at Khalifa University of Science and Technology leads to a specialized degree, which will be specified on the diploma and the student’s academic record (transcripts).

The Software Systems concentration requires the student to replace all technical electives (12 credits) and the free elective (3 credits) with the following five courses.

Course Code Course Name Credit Number
ECCE330 System Analysis and Software Design 3 cr.
ECCE432 Introduction to Human Computer Interfaces 3 cr.
ECCE436 Software Testing and Quality Assurance 3 cr.
ECCE438 Software Architecture 3 cr.
ECCE444 Computer Security 3 cr.

Course Descriptions 

ECCE 200 Fundamentals of Electronic Systems (3-3-4)

Prerequisite: PHYS 122

Restrictions: This course is for non ECE students only.

Voltage source, Current Source, Energy Sources, Electrical Motor and Generator basic principle, Ohm's Law, KVL and KCL circuits.  DC steady state analysis of Resistive, RC, RL, and RLC circuit, Basic circuit theory nodal, mesh and source transformation. Transient analysis of simple electric circuits RC, and RL and some application.  Basic operation of semiconductor devices.  Diode, BJT and its applications.  Description of Small signal amplifier circuits and operational amplifiers. Binary system and basic logic gates. Design of simple combinational and sequential logic circuits.

ECCE 210 Digital Logic Design (3-3-4)

Prerequisite: ENGR 112 or ENGR 113

Data representation in digital computers. Boolean algebra. Minimization and implementation of logic functions.  Design of combinational circuits.  Programmable devices, multiplexers, decoders, memory and tri-state devices. Basic ALU design.  Elements of sequential circuits: latches, flip-flops and counters.  Design of synchronous sequential machines.  Introduction to CAD tools and hardware description languages.  Laboratory experiments provide hands-on experience in the simulation, implementation and testing of combinational and sequential logic circuits.

ECCE 221 Electric Circuits I(3-3-4)

Co-requisites: MATH 232; PHYS 122 Physical principles underlying the modeling of circuit elements. Basic circuit elements: resistance; inductance, capacitance, independent and controlled sources, and op-amps. Circuit analysis techniques, steady-state and transient responses, first-order circuits, complex numbers, sinusoidal steady-state analysis, sinusoidal steady-state power calculations, and balanced three-phase circuits.

ECCE 222 Electric Circuits II(3-3-4)

Prerequisites: ECCE 221

Co-requisite: MATH 206

Time-domain transient analysis, Laplace transform, s-domain circuit analysis, State variable circuit analysis,  frequency selective circuits, first order passive filters, Bode diagrams, two-port networks, Mutual inductance and transformers.

ECCE 230 Object-Oriented Programming (3-3-4)

Prerequisite: ENGR112 or ENGR 113

Foundation of object oriented concepts and programming. Basic Object Oriented Programming (OOP) concepts: objects, classes, methods, parameter passing, information hiding, inheritance, exception handling and polymorphism. Java language elements and characteristics, including data types, operators, control structures, search and sort algorithms.

ECCE 300 Signals and Communications (3-0-3)

Prerequisite: MATH 206

Restrictions: Students majoring in Electrical and Computer Engineering are not allowed to take this course.

Complex numbers and functions, conformal mapping, analytic functions, elements of residue theory, Fourier and Laplace transform and its properties and linear time invariant systems. Introduction to data and computer communications, fundamentals of computer networks theory, design, protocols, analysis and operation, OSI model, data transmissions and transmission media, local and wide area networks and IP networks, computer networks and their protocols.

ECCE 302 Signals and Systems (3-0-3)

Prerequisites: MATH 232; MATH 204

Co-requisite: ECCE 221

Time/space-domain analysis of analog and discrete signals: basic signals, properties and operations. Frequency analysis of signals: Fourier series and transform, Laplace transform, sampling and reconstruction and z-transform. Time/space-domain analysis of signal processing systems: properties, block diagrams, differential/difference equations, state-space model of LTI systems, impulse response, and convolution. Frequency analysis of signal processing systems: frequency response (gain and phase), transfer function, z-transfer function, stability analysis, Fundamentals of analog filter design.

ECCE 312 Electronic Circuits and Devices (3-3-4)

Prerequisite: ECCE 221

Introduction to semiconductors. Operation of pn-junction and its applications as rectifiers, clippers, and voltage regulators. Operation of bipolar junction transistors (BJT) and field effect transistors (FET). Small signal modeling of BJTs and FETs. Use of BJTs and FETs as single stage amplifiers. BJT, JFET and MOSFET differential and multistage amplifiers. Amplifier classification and Power amplifiers. Practical nonlinear operational amplifier circuits.

ECCE 316 Microprocessor Systems (3-3-4)

Prerequisites: ECCE 210

Introduction to current microprocessor, microcontroller and microcomputer systems:  basic components, memory map, organization and processor architecture.  Hardware and software models of microprocessor and microcontroller systems.  Processor instructions and assembly language programming.  Exception handling: interrupts, traps and exception processing.  Memory decoding, input/output interfaces and programming peripheral devices. Laboratory experiments provide hands-on experience in the use of cross-assemblers, C-programming, simulators and actual microprocessor/microcontroller hardware.

ECCE 320 Applied Electromagnetics (3-0-3)

Prerequisites: PHYS 122; MATH 204

Co-requisite: MATH 206

Review of Vector analysis, Electrostatics (Electric fields, boundary value problem), Magneto statics (magneto static fields, magnetic force), Maxwell’s Equations, Plane Wave propagation, Transmission lines.  

ECCE 322 Electrical Machines (3-3-4)

Prerequisites: ECCE 221; ECCE 320 

Magnetic circuit concepts and materials, transformer analysis and operation, steady state analysis of rotating machines. Study of the basic machine types: dc, induction and synchronous. A laboratory is integrated into the course; the focus of the laboratory is on the characteristics of machines and transformers. 

ECCE 323 Feedback Control Systems (3-3-4)

Prerequisite: ECCE 302 

Systems modelling using ordinary differential equations and transfer functions is presented.  Modelling of electrical, mechanical, electromechanical, and fluid systems is discussed. System performance and error analysis. Feedback control analysis techniques using root locus and frequency response (Bode and Nyquist) are introduced for systematic stability analysis of systems. Lag/lead controller design, PID controller design. Introduction to State-space controller design. 

ECCE 326 Introduction to Semiconductor Devices (4-0-4)

Prerequisites: MATH 206; PHYS 122

This course is designed to provide an introduction to the mechanisms of device operation. It introduces and explains terminology, models, properties, and concepts associated with semiconductor devices and offer insight into the internal workings of the "building-block" device structures such as the pn-junction diode, Schottky diode, BJT, and MOSFET.

ECCE 330 System Analysis & Software Design (3-0-3)

Prerequisite: ECCE 336

Design principles, patterns, notations and methodologies with focus on object-oriented and scenario-based design. From requirements to design to implementation;reconcile the models; refining and verifying the models;Domain partitioning; object design; Model-driven design and Unified Modeling Language (UML). Structural and behavioral design descriptions and specifications; Adding software behavior; Introduction to software architecture (styles and view models); Test-driven development; User interfaces.

ECCE 336 Introduction to Software Engineering (3-0-3)

Prerequisite: ECCE 230 

Introduction to Software Engineering; The Software Process; Project Management Concepts; Software Requirements Engineering Using Unified Modeling Language (UML) Use-Cases; System Models; Architectural Design; Object-Oriented Software Design; Testing and Maintenance; Emerging software development methods.

ECCE 341 Java and Network Programming (2-3-3)

Prerequisite: ECCE 230 

Java basics, exception handling, I/O. Java Graphics: applets, AWT, Swing, Graphics, listeners. Java OO features: inheritance, abstract classes, polymorphism, interfaces, inner classes, anonymous classes. Basics of network programming. Java network programming: multithreading, URLs, sockets, RMI. Emerging Mobile Java Technology.

ECCE 342 Data Structures and Algorithms (2-3-3)

Prerequisites: ECCE 230; MATH 234

Review of object-oriented design. Learning the Standard Template Library (STL) data structures and algorithms with practical examples. Analysis of algorithm complexity. Fundamental data structures: Concept of Abstract Data Types (ADTs), Queues, Stacks, Lists, Trees;  Fundamental computing algorithms: binary search trees, hash tables, heaps, balanced trees, sorting algorithms, searching algorithms.

ECCE 350 Computer Architecture and Organization (3-0-3)

Prerequisite: ENGR 112 or ENGR 113

Co-requisite: ECCE 210 

Fundamentals of computer system design. Measuring and reporting performance. Elements of machine and assembly languages. Instructions types and formats, operations, addressing modes, stacks. Classifying instruction set architecture. Data representations, Computer arithmetic, ALU design. Pipelining, instruction pipelining, hazards, pipeline performance. Memory system hierarchy design and cache memory. I/O fundamentals and operations and interrupt handling. Introduction to parallel computers and alternative architectures.

ECCE 354 Operating Systems (3-0-3)

Prerequisite: ECCE 350

Historical perspective of operating systems. Operating system concepts, functions and structure. Processes, threads, process synchronization, interprocess communication, process scheduling. Deadlock management. Memory management and virtual memory.  Device management. File management. OS Security and Protection.

ECCE 356 Computer Networks (3-3-4)

Prerequisite: ECCE 210 

Introduction to computer networks. Fundamentals of computer networks theory, design, implementation, protocols, analysis and operation. OSI model. Data transmissions and transmission media. Local and wide area networks, IP networks, switching techniques, routing, congestion control, quality of service. Principles of network applications. Introduction to network security. Implementation, analysis and management of computer networks and their various protocols.

ECCE 360 Communication Systems (3-3-4)

Prerequisite: MATH 232

Co-requisite: ECCE 302 

Signal Analysis.  Probability and Stochastic Processes. Linear and Non-linear Modulation: DSB-AM, DSB-SC, SSB-SC, Frequency/Phase Modulation (FM/PM). Noise effects in Analog Systems. Multiplexing: Frequency Division Multiplexing (FDM).  Principles of operations of telephony. 

ECCE 362 Digital Communications I (2-3-3)

Prerequisite: ECCE 360 

Introduction to Digital Communication. Spectral Density Autocorrelation. Bandwidth of Digital Data. Baseband Systems. Formatting Textual Data, Messages, Characters, and Symbols. Sources of Corruption. Pulse Code Modulation. Uniform and Nonuniform Quantization. Baseband Modulation. Source Coding. Signals and Noise. Detection of Binary Signals in Gaussian Noise. Intersymbol Interference (bandwidth limited channels). Pulse shaping. Eye diagrams. Equalization. Digital Bandpass Modulation Techniques. Detection of Signals in Gaussian Noise. Coherent Detection. Noncoherent Detection. Complex Envelope. Error Performance for Binary Systems in AWGN channels.

ECCE 391 Independent Study I (Variable course credits from 1 to 3)

Prerequisite: Junior standing and approval of the department 

This course gives an upper level undergraduate student the opportunity to participate in an individual or group project, study, or research activity under the supervision of a faculty member.  A formal report is required.

ECCE 401 Filter synthesis (3-0-3)

Prerequisite:ECCE 302

Design of passive filters: Approximation theory, network synthesis and frequency transformation. Delay filters. Continuous-time active filters: single and multiple-amplifier filters using operational and operational-trans conductance amplifies, second and high-order sections. Switched-capacitor filters. Introduction to RF filters design. Designing filters using CAD packages.

ECCE 402 Digital Signal Processing (2-3-3)

Prerequisite:ECCE 302                           

Fundamentals of discrete signals and digital signal processing. Models of digital filters. Design and analysis of FIR and IIR Filters. Realization of digital filters. Fourier analysis and processing. Selected applications.

ECCE 404 Microwave Circuits and Devices (3-0-3)

Prerequisite:ECCE 312 

Type of transmission lines suitable for low and high frequency applications. Components, connectors, cavities, dielectric resonators, terminations, couplers, T-junction, isolators and impedance transformers. Review of the Smith chart and applications. Microwave devices, diodes, bipolar and FET transistors. Amplifier design considerations. Operation of single and double balanced mixers. Signal amplification using Klystrons and traveling wave tubes.

ECCE 406 Instrumentation and Measurements (2-3-3)

Prerequisites: ECCE 302; ECCE 312

Measurements of L, C and R using bridge circuits.Z-, y-, abcd- and s-parameters. Microwave measuring equipments such as spectrum and network analyzers. Digital Measurement systems and data acquisitions. Logic analyzers. Types and descriptions of data acquisition systems. Performing advanced measurements using spectrum and network analyzers such as time domain reflectometer measurements, and noise measurements.

ECCE 408 Digital Systems Design (3-0-3)

Prerequisite: ECCE 210 

Design and analysis of practical modern digital systems.  Simulation, synthesis, and FPGA-based implementation of digital systems using hardware description languages (HDLs). Design space of integer and floating-point arithmetic units. Power- and performance-oriented design techniques and evaluation metrics.

ECCE 410 VLSI Systems Design (3-0-3)

Prerequisites: ECCE 312; ECCE 210

Introduction to the fabrication of digital VLSI (Very Large Scale Integrated Circuits) systems.  Design and layout of VLSI circuits for complex digital systems.  CMOS technology using standard-cell-based design flow.  Circuit characterization and performance.  Interconnect, timing and synchronization issues. Low-power and deep submicron designs.  Fault models and design for testability techniques. VLSI design methodologies.  Commercial CAD simulation and synthesis tools.

ECCE 411 Analog Integrated Circuits Design (3-0-3)

Prerequisite: ECCE 312 

CMOS analog circuit modeling. CMOS device characterization. CMOS building blocks.  Two-stage CMOS amplifiers. High-performance op-amps. Introduction to Switched-Capacitor Circuits. CAD simulation software tools for analog circuit design. 

ECCE 420 Industrial Automation (3-0-3)

Prerequisite: ECCE 406

Principles of industrial automation with emphasis on oil and gas industries. Topics on sensors, actuators, field devices, signal conditioning, PLCs, and ladder logic programming are covered in theory and practice. Different types of closed loop controllers, system modeling, SCADA, and DCS are also addressed. 

ECCE 421 Power System Analysis (3-0-3)

Prerequisite: ECCE 322 

Power system analysis is a concern not only for big generators and operators of the public electricity network. It is also the business of those who generate, transform and distribute their own power (for example, large sections of the petrochemical industry) and those who rely on efficiently transmitted power for transport of passengers and goods. The effective, efficient and reliable generation, transmission and distribution of electrical power at the most economic rates is thus basic to the success of any modern economy.

ECCE 422 High Voltage Engineering (3-0-3)

Prerequisite: ECCE 322

The course covers the basic concepts of electrical insulation requirements and over voltages in power system. It includes over voltages in electrical systems, electrical breakdown in gases, solids and liquids, generation of high voltages and high currents, measurements of high voltages and currents, high voltage testing and insulation, overhead insulators (material, shape, performance), underground cables (single and three-core cables, electrical stresses in cables; equivalent circuits).

ECCE 423 Power Electronics (3-0-3)

Prerequisites: ECCE 312; ECCE 322 

Operation of power semiconductor devices such as power diodes, IGBTs, MOSFETs, and thyristors; Switching losses, snubber circuits, single/three phase(s), half/full wave, half/fully controlled converters with R, RL, and RLC loads, continuous and discontinuous current operations, effect of overlap, design of power converters circuits and their applications on DC electric drives motion control, PSpice simulator.

ECCE 424 Electrical Power Distribution Systems (3-0-3)

Prerequisite: ECCE 421 

Electric power distribution system planning, design and operations; load characteristics and distribution transformers; design of sub-transmission lines and distribution substations; primary and secondary feeder design considerations; distribution system voltage regulation, protection and reliability; distributed generation and smart grid application.

ECCE 425 Power System Stability and Control (3-0-3)

Prerequisites: ECCE 322; ECCE 421

The course covers the basic concepts of power system stability; including steady-state stability studies, using small-signal dynamic models, and transient stability analysis considering both rotor angle (equal area criteria) and time (time-stepping solutions). Power-frequency control and voltage-reactive power control in an interconnected power network are then discussed before a brief examination of the process of voltage collapse. 

ECCE 426 Power Electronics for Renewables Integration (3-0-3)

Prerequisite: ECCE 423 

The course covers the design and operation of single-phase and three-phase AC Voltage Regulators, design and operation of DC-to-AC single-phase and three-phase inverters, voltage controlled and current controlled inverters, square wave and PWM inverters design, applications of power semi-conductor devices on motion control of AC electric drives and Power Systems, integration of wind and solar photovoltaic energy conversion systems, PSpice simulator. 

ECCE 427 Power System Protection (3-0-3)

Prerequisite: ECCE 421

Introduction and general philosophies of power system protection, Per-unit system, Symmetrical fault calculation, Potential and Current Transformers, Fuse Protection, Electromagnetic and Static Relays, Relay coordination, Basics of Transformer, Motor, and Generator Protections, Line Protection, Basic Distance Protection. 

ECCE 428 Modern Control Systems (3-0-3)

Prerequisite: ECCE 323 

Design of modern control systems using matrix approach and the linear systems tools in Matlab; examples from electrical and mechanical engineering; realization techniques; discretization of continuous systems; controllability, observability and their Gramians, other dynamical system properties; pole-placement; disturbance rejection; Lyapunov stability; state estimation; introduction to multivariable systems; introduction to intelligent control systems.

ECCE 429 Digital Control Systems (3-0-3)

Prerequisite:ECCE 323 

This course is concerned with the analysis and design of closed-loop systems that contain a digital computer. Distinction is emphasized between a purely digital system and a continuous system that may be sampled to emulate a digital system. Topics covered include sampling, signal conversion and processing (hold devices; z-transform; state variable technique; pole-assignment and state estimation; stability of digital control systems; digital simulation and redesign; time and frequency domain analyses; digital filter structures and microcomputer implementation of digital filters.

ECCE 432 Introduction to Human Computer Interfaces (3-0-3)

Prerequisite:ECCE 336 

Human Factors of Interactive Software; HCI Theories Principles and Guidelines;  HCI Design;  Principles of user interface design, development, and programming; HCI Development Tools; Expert Reviews; Usability Testing; User interface evaluation; Web based user interfaces.

ECCE 434 Database Systems (2-2-3)

Prerequisite: ECCE 336 

Introduction to the theory, design and implementation of database systems; Data models; Entity-relationship model; Relational model; SQL query language; Data integrity; Normalization; Storage access.

ECCE 436 Software Testing and Quality Assurance(3-0-3)

Prerequisite: ECCE 336 

Overview of the maintenance and testing activities within the software life cycle; Software Maintenance: Major maintenance activities. Estimating maintenance costs and productivity; Quality Assurance: Examination of various quality/complexity metrics; Software validation planning; Software testing fundamentals including test plan creation and test case generation, black-box and white-box testing techniques, unit integration, validation and system testing, and object-oriented testing. 

ECCE 438 Software Architecture (3-0-3)

Co-requisite: ECCE 330

Introduction to Software Architecture; Architecture Descriptions: Architecture Description Languages, Architecture Styles, A Model of software Architecture; Repository Model; Layered Model; Client-Server Model; Inter-Process Communication: Remote Procedure Call (RPC) versus Object Request Broker (ORB); N-Tiered Client-Server; Design Patterns; Specialized Software Architectures; Techniques and criteria used for the evaluation of software architecture.

ECCE 440 Distributed Systems (3-0-3)

Prerequisite: ECCE 354; ECCE 356

Characterization of distributed systems. Software layers, models of distribution, inter-process communication, client-server. Middleware, remote procedure calls, interface specification languages, remote method invocation. Distributed object-based systems. Operating systems support, multiprocessing vs. multithreading, load sharing, synchronization. Distributed File and name services. Fault tolerance. Security requirements and mechanisms.

ECCE 444 Computer Security (2-2-3)

Prerequisite: ECCE 354 

Introduction to computer security. Fundamentals of cryptography: Substitution ciphers, hashing, symmetric and asymmetric crypto. Program Security: detect and exploit vulnerabilities in programs. Web vulnerabilities: SQL injection, cross site scripting. Identification and Authentication: Username and passwords, spoofing attack, password cracking. Access control: access control matrix and list, role based access control, multi-level security, access control in operating system such as Linux. Malware and Malware detection. Emerging threats: overview of other threats.

ECCE 446 Network Security (3-0-3)

Prerequisite: ECCE 356 

Modern network security vulnerabilities, threats, and attacks.  Penetration testing and network scanning.  Digital signatures, certificates, and PKI. Entity authentication and Kerberos.  Network security protocols: SSL, TLS, IPSec.    Network Firewalls, IDS/IPS, and Honeynets. Wireless security.

ECCE 448 Cloud Infrastructure and Services (3-0-3)

Pre-requisite: ECCE 354; ECCE 356

Cloud Computing: history, computing paradigms, business drivers, drawbacks. Classic Data Center (CDC) vs. Virtualized Data Center (VDC). Cloud services models, deployment models, and economics. Amazon Elastic Compute Cloud (EC2). Cloud Infrastructure and Management. Virtualization: compute, storage, networking, desktop and applications. Business Continuity in VDC.  Cloud Migration strategies and factors.Cloud Security: concerns and countermeasures, access control and identity management, and best practices.

ECCE 450 Embedded Systems (3-0-3)

Prerequisite: ECCE 316 

Introduce the main hardware and software elements of an embedded system.  Fundamental concepts and design techniques of embedded systems.  Architecture and programming of embedded processors.  Basic services provided by real-time operating system ("RTOS") kernels.  Design and development of multitasking code and application software. Interfacing, device drivers and input/output devices.  Applications of embedded systems in consumer electronics, mobile, automotive, aerospace, digital control and other real time systems. 

ECCE 454 Artificial Intelligence (3-0-3)

Prerequisite: ECCE 342 

This course covers the fundamental aspects of classic and modern Artificial Intelligence.  Topics include: AI History, solving problems by searching, knowledge representation and reasoning techniques, agents, machine learning, evolutionary computation and fuzzy logic. 

ECCE 456 Image Processing and Analysis (3-0-3)

Prerequisite: ECCE 302 or BMED 352

Digital Image Processing Fundamentals, Human Visual Perception, Digital Image Acquisition Pipeline, Monochrome and Color Images, Color Spaces, Intensity Transformation, Histogram Equalization, Color Enhancement, Image Interpolation, Image Assessment techniques, Frequency Domain Representation, 2D Filters, Smoothing and Sharpening Filters, Filtering in the Spatial and Frequency Domains,  Noise Reduction and Restoration, Image Segmentation, Image Compression.

ECCE 460 Wireless Communications (3-0-3)

Prerequisites: ECCE 360 

Overview of Wireless Communications Including Standards. Characterization of Wireless Channels. Bandpass Transmission Techniques for Wireless Communications. Receiver architecture and performance over Fading Channels and Diversity Techniques.  Fundamentals of Cellular Communications.  Orthogonal Frequency Division Multiplexing.  

ECCE 461 Advanced Digital Communications (3-0-3)

Prerequisites: ECCE 360

Spread spectrum techniques: Direct sequence (DS) and frequency hopping (FH). Multi user communications: Code division multiple access (CDMA), time division multiple access (TDMA), spatial division multiple access (SDMA), random access techniques (ALOHA), carrier sense multiple access (CSMA). Synchronization: time, frequency, phase, frame, network. Channel estimation and equalization techniques. Adaptive communications: Adaptive power, modulation and coding, resource allocation.

ECCE 462 Communication Systems Design and Prototyping (2-3-3)

Prerequisite: ECCE 362

Overview of system design and prototyping techniques. Using computer simulation (Simulink/Matlab, LabVIEW) to design and evaluate the performance of communication systems. Overview of hardware prototyping using SDR and FPGA. Transmitter/receiver design, simulation and implementation: modulation, pulse shaping, RF up-conversion, RF down-conversion, sampling, matched filtering, channel estimation, synchronization, detection. 

ECCE 463 Information and Coding Theory (3-0-3)

Prerequisite: ECCE 362 

History of information theory, information measure, entropy, information rate, memory less sources, sources with memory, information transmission on discrete channels (mutual information, discrete channel capacity), continuous channel, channel capacity, Shannon theory, coding applications (Huffman coding), Channel coding Techniques: Block and convolution codes, interleaving, puncturing, the bandwidth efficiency plane, the error probability planes.

ECCE 470 Antennas and Propagation (3-0-3)

Prerequisite: ECCE 320

Antenna fundamentals, Radiation from a short current dipole, far field approximation, Radiation pattern, Radiation resistance.  Radiation integral approach, dipole and monopole antennas, Image techniques, Antenna arrays, Broadside and end-fire arrays, Pattern multiplication, Pattern synthesis, Binomial and Chebyschev arrays, Aperture antennas, Fourier-transform method, Field equivalence principle, Sky-wave and space-wave propagation, Evolving antenna technologies and applications; fundamental design concepts of reconfigurable and conformal antennas, UWB MIMO antennas, antennas for: cognitive radio, propagation at THz and mm-wave, antennas for nano-communications, and biomedical applications

ECCE 472 Optical Communications and Networks  (3-0-3)

Prerequisite: ECCE 320 

Elements of optical communication systems; Optical fibers, Step-index and graded-index fibers, Single-mode and multi-mode fibers, Fiber attenuation and dispersion, Optical sources and transmitters, Light-emitting diodes, Semiconductor laser diodes, Optical detectors and receivers, Photodiodes, Optical system design, Types of noises and system impairments, Power budget, Power penalty; Dispersion compensation, Optical communication networks 

ECCE 481 Wireless Sensor Networks and Internet of Things (2-3-3)

Prerequisite: ECCE 360; ECCE 316

Wireless sensor networks (WSN), sensor nodes, sensor network applications, design challenges, performance metrics, medium access control, data routing, sensor localization, time synchronization, energy constraints, power management, Internet of Things (IoT), Ardruino, XBee, Raspberry Pi. 

ECCE 484 Satellite and Space Communications  (3-0-3)

Prerequisite: ECCE 360

Overview of Satellite Services, Orbital Mechanics, transmission losses, the link budget power equation, system noise, carrier to noise ratio, the uplink, the downlink, the combined uplink and downlink carrier to noise, possible modes of interference, interference between the different satellite circuits, Satellite Access Techniques, Direct Broadcast Satellite Services, VSAT.

ECCE 491 Independent Study II (Variable course credits from 1 to 3)

Prerequisite: Approval of department and senior standing 

This course gives an upper level undergraduate student the opportunity to participate in an individual or group project, study, or research activity under the supervision of a faculty member.  A formal report is required.

ECCE 495 Special Topics in Electrical and Computer Engineering

Prerequisite: Topic specific 

This course mainly deals with new trends in Electrical/ Computer Engineering and emerging technologies. Course is repeatable if title and content differ.

ECCE 497 Senior Design Project I (1-6-3)

Prerequisites: ECCE 312, ECCE 316, or approval of department

Students will pursue an in-depth project of significance in communication engineering by going from concept to working prototype.  Some of the proposed design projects may involve interaction with industry.  The students normally work in teams under faculty supervision.  The project fosters teamwork between group members and allows students to develop their project management, technical writing, and technical presentation skills.  Formal interim and final reports and presentations are required from each group.

ECCE 498 Senior Design Project II (0-9-3)

Prerequisite: ECCE 497 

Continuation of ECCE 497. 

B.Sc. degree in Computer Engineering

 The following is a typical sequence of study for a B.Sc. in Computer Engineering student:

 

Fall

Spring

Year 1

ENGL 111Academic Communication I

4 cr

ENGL 112Academic Communication II

4 cr

MATH 111 Calculus I

4 cr

MATH 112 Calculus II 

4 cr

CHEM 115 General Chemistry I

4 cr

PHYS 121 University Physics I

4 cr

ENGR 111 Engineering Design

 

4 cr

ENGR 112 Introduction to Computing using C++

4 cr

Summer

 

Year 2

ECCE 210 Digital Logic Design 

4 cr

MATH 206 Differential Equations

3 cr

MATH 232 Electrical Engineering Mathematics

3 cr

HUMA XXX Humanities and Social Sciences*

3 cr

PHYS 122 University Physics II

4 cr

MATH 243 Probability & Statistical Inference

3 cr

MATH 204 Linear Algebra

3 cr

ECCE 221 Electric Circuits I

4 cr

ECCE 230 Object-Oriented Programming

4 cr

BUSS XXXBusiness Elective*

3 cr

Summer

 

Year 3

ECCE 336 Introduction to Software Engineering

3 cr

ENGR 311 Innovation and Entrepreneurship in Engineering Design

4 cr

ECCE 302 Signals and Systems

3 cr

ECCE 354 Operating Systems

3 cr

ECCE 350 Computer Architecture and

Organization

3 cr

ECCE 356 Computer Networks

4 cr

MATH 234 Discrete Mathematics

3 cr

ECCE 312 Electronic Circuits and Devices

4 cr

ECCE 316 Microprocessor Systems

4 cr

ECCE 342 Data Structures and Algorithms

3 cr

Summer

ENGR 399 Engineering Internship

1 cr

 

Year 4

HUMA XXX Humanities and Social Sciences*

3 cr

HUMA XXX Humanities and Social Sciences*

3 cr

ECCE 450 Embedded Systems


3 cr

Technical Elective

3 cr

ECCE 434 Database Systems

3 cr

Technical Elective

3 cr

Technical Elective

3 cr

Free Elective

3 cr

Technical Elective

3 cr

BUSS XXXBusiness Elective*

3 cr

ECCE 497 Senior Design Project I

3 cr

ECCE 498 Senior Design Project II

3 cr

Total Credits

137

*At least one Islamic Studies course must be taken from the Humanities Electives to meet graduation requirements. BUSS 322 cannot be used to satisfy Business elective requirement.

 

B.Sc. Degree in Computer Engineering (Software Concentration)

 

Fall

Spring

Year 1

ENGL 111Academic Communication I

4 cr

ENGL 112Academic Communication II

4 cr

MATH 111 Calculus I

4 cr

MATH 112 Calculus II 

4 cr

CHEM 115 General Chemistry I

4 cr

PHYS 121 University Physics I

4 cr

ENGR 111 Engineering Design

4 cr

ENGR 112 Introduction to Computing using C++

4 cr

Summer

 

Year 2

ECCE 210 Digital Logic Design 

4 cr

MATH 206 Differential Equations

3 cr

MATH 232 Electrical Engineering Mathematics

3 cr

HUMA XXX Humanities and Social Sciences

3 cr

PHYS 122 University Physics II

4 cr

MATH 243 Probability & Statistical Inference

3 cr

MATH 204 Linear Algebra

3 cr

ECCE 221 Electric Circuits I

4 cr

ECCE 230 Object-Oriented Programming

4 cr

BUSS XXXBusiness Elective*

3 cr

Summer

 

Year 3

ECCE 336 Introduction to Software Engineering

3 cr

ENGR 311 Innovation and Entrepreneurship in Engineering Design

4 cr

ECCE 302 Signals and Systems

3 cr

ECCE 354 Operating Systems

3 cr

ECCE 350 Computer Architecture and

Organization

3 cr

ECCE 356 Computer Networks

4 cr

MATH 234 Discrete Mathematics

3 cr

ECCE 312 Electronic Circuits and Devices

4 cr

ECCE 316 Microprocessor Systems

4 cr

ECCE 342 Data Structures and Algorithms

3 cr

Summer

ENGR 399 Engineering Internship

1 cr

 

Year 4

HUMA XXX Humanities and Social Sciences*

3 cr

HUMA XXX Humanities and Social Sciences*

3 cr

ECCE 450 Embedded Systems


3 cr

ECCE 436 Software Testing and Quality Assurance

3 cr

ECCE 434 Database Systems

3 cr

ECCE 438 Software Architecture

3 cr

ECCE 330 System Analysis and Design

3 cr

ECCE 432 Introduction to Human Computer Interfaces

3 cr

ECCE 444 Computer security

3 cr

BUSS XXXBusiness Elective*

3 cr

ECCE 497 Senior Design Project I

3 cr

ECCE 498 Senior Design Project II

3 cr

Total Credits

137

*At least one Islamic Studies course must be taken from the Humanities Electives to meet graduation requirements. BUSS 322 cannot be used to satisfy Business elective requirement.