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.

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:

  1. An ability to apply knowledge of mathematics, science, and engineering.
  2. An ability to design and conduct experiments, as well as to analyze and interpret data.
  3. 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.
  4. An ability to function on multi-disciplinary teams.
  5. An ability to identify, formulate, and solve engineering problems.
  6. An understanding of professional and ethical responsibility.
  7. An ability to communicate effectively.
  8. A recognition of the need for broad education necessary to understand the impact of engineering solutions in a global, economic, environmental, and societal context.
  9. A recognition of the need for, and an ability to engage in life-long learning.
  10. A knowledge of contemporary issues
  11. 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

Degree Requirements

To be recommended for the degree of B.Sc. in Computer Engineering, students must successfully complete the courses in the specified categories as set out below. The categories cover an extended set of requirements, including Computer Engineering core and Technical Electives requirements. Students can also choose the Software Systems concentration. 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.

CORE ECE COURSES -

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 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 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 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 342 Data Structures and Algorithms (2-3-3)
Prerequisites: ECCE 230; MATH 234

Review of object-oriented design. 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, Integer and floating point 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. Memory management and virtual memory. Device management. File management. 

ECCE 356 Computer Networks (3-3-4)
Prerequisite: ECCE 210 

Introduction to computer communications. 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. Network applications. Introduction to network security. Implementation, analysis and management of computer networks and their various protocols. 

ECCE 391 Independent Study I (Variable course credits from 1 to 3)
Prerequisite: Junior standing and approval of the department

This course gives an undergraduate student the opportunity to participate in an individual or group oriented project, study and/or research study under direction of a faculty member. A formal report is required.

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, Accessing Databases from applications. 

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 497 Senior Design Project I (1-6-3)
Prerequisites: Senior standing and 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 with 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

 

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

 

Fall

Spring

Year 1

ENGL 111 Academic Communication I

4 cr    

ENGL 112 Academic 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 with 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.