Curriculum C: Administered jointly by CS and EE

B.6 Curriculum C: Administered jointly by CS and EE

Computer Engineering Program Administered Jointly by a Computer Science Department and an Electrical Engineering Department

B.6.1 Program Goals and Features

A computer science (CSC) department and an electrical and computer engineering (ECE) department jointly administer this program leading to a bachelor’s degree in computer engineering (CE). This curriculum brings a core competency and unique value of integrated knowledge in both computer software and hardware, providing a balance among computer systems, hardware and software as well as theory and applications. Studies in computer engineering integrate fields from both computer science and electrical engineering. CE students receive a flexible curriculum that has a balanced common core of required courses. Specialization occurs via technical elective courses chosen from either department, tailoring a curriculum to a student’s interest and employers’ needs in a dynamic job market. The thorough preparation afforded by the computer engineering curriculum includes the broad education necessary to understand the impact of engineering solutions in a global and societal context. Hence, graduates will be well prepared to pursue advanced studies in computer engineering or they can choose from many different careers related to computers and their applications in high technology environments.

B.6.2 Summary of Requirements

The general education component of this curriculum consists of 21 credits of mathematics, 16 credits of natural science, and 18 credits of humanities and social science courses. The required core of computer engineering courses consists of 5 traditional CSC courses (e.g., programming fundamentals), 5 traditionally ECE courses (e.g., circuits & electronics), and 6 CE courses that can be taught by computer engineering faculty members in either department (e.g., computer architecture & organization). Specialization occurs via 18 credits of technical electives chosen in various knowledge areas from either department. Finally, the culminating design experience is a two-course sequence in the senior year (CE Design I and CE Design II). The credit hours distribution for this curriculum is as follows.

Credit-hours

Topic areas

21 Mathematics

16 Natural science (physics, chemistry)

18 Humanities, social sciences, composition, literature

12 Required computer engineering (CE)

19 Required electrical and computer engineering (ECE)

16 Required computer science (CSC)

12 Technical electives

6 Design project (CPR)

0 Free electives 120

TOTAL Credit Hours for Computer Engineering Program

B.6.3 Four-Year Model for Curriculum C

CE: can be offered in computer engineering department ECE: offered in the electrical and computer engineering department CSC: offered in the computer science department *CE tech electives: approved elective course in either department

Course Description

MTH 101 Calculus I

4 CHM 101

4 MTH 102

Calculus II

4 Humanities / Social Science

Chemistry I + Lab

4 PHY 101

Physics I + Lab

Programming Fundamentals I 3 Humanities / Social Science

3 CSC C 101

3 CHM 102

Chemistry II or Biological Science 4

Total Credit Hours

14 Total Credit Hours 14

Semester 3

Semester 4

MTH 201 Calculus III 4 MTH 202 Differential Equations 3 PHY 201

Physics II + Lab 4 ECE C 202 Circuits & Electronics 4 CSC C 201

Programming Fundamentals II 3 CE C Intro to Computer Architecture & 201 Organization 3 ECE C 201

Digital & Logic Design + Lab

4 CSC C 202

Intro to Discrete Structures 3 Humanities / Social Science

Total Credit Hours

15 Total Credit Hours 16

Semester 5

Semester 6

MTH 301 Computational Linear Algebra

3 CSC C 301

3 CE C 301

Introduction to Computer Systems Engineering

3 ECE 301

Data Structures & Algorithms

4 MTH 302

Engineering Statistics

4 CE C 302 Computing Networks 3 ECE C 302

Embedded & Microprocessor Systems C + Lab

Digital System Design + Lab

4 CE Tech Elective*

3 Humanities / Social Science

Total Credit Hours

15 Total Credit Hours 15

Semester 7

Semester 8

CSC C 401 Operating Systems

Computer and Network Security 3 ECE C 401

3 CE C 401

3 CE C 402

Signals & Systems

3 CE Tech Elective*

CE Design I

3 CE Tech Elective*

3 CE Tech Elective*

3 Humanities / Social Science

3 CE C 403

CE Design II

3 Professional Communication & Ethics for Engineers 3

Total Credit Hours

15 Total Credit Hours 16

B.6.4 Mapping of Computer Engineering BOK to Curriculum C

Refer to section B.1.2 for an explanation of this table.

BOK Area

A R Course

10 1-7 1-9 10 1-9 Supplementary BOK Units

1- Units covered

Core BOK 1- 1-8

Core BOK Hours (min)

B.6.5 Curriculum C – Course Summaries

CSC C 101: Programming Fundamentals I

Introductory problem solving and computer programming concepts, including object-oriented programming, procedural and data abstraction, and program modularity

Prerequisite: none Credit Hours: 3 Lecture Hours: 42 Lab Hours: 0 BOK Coverage : CE-SWD 1-5

CSC C 201: Programming Fundamentals II

Intermediate problem solving and computer programming concepts, including algorithmic strategies, recursion, and effective design and use of data structures and application programming interfaces (APIs)

Prerequisite: CSC C 101

Credit Hours: 3 Lecture Hours: 42 Lab Hours: 0 BOK Coverage : CE-CAL 4, SWD 3-7; Supplementary SWE 12

CSC C 202: Introduction to Discrete Structures

Concepts of discrete structures including Boolean algebra, first-order algebra, proof techniques, set theory, and graph theory

Prerequisite: CSC C 201, MTH 101

Credit Hours: 3 Lecture Hours: 42 Lab Hours: 0 BOK Coverage : CE-DSC 1-9

CSC C 301: Data Structures & Algorithms

Design of basic data structures (e.g., stacks, queues, heaps, link structures, trees, graphs) and their manipulation; design and analysis of classic algorithms for common tasks (e.g., sorting; searching, graph algorithms)

Prerequisite: CSC C 201

Credit Hours: 4 Lecture Hours: 56 Lab Hours: 0 BOK Coverage : CE-CAL 1-8, CE-SWE 4-5

CSC C 401: Operating Systems

Basic operating systems and their components: scheduling, resource management, process management, interrupt handling, concurrent processing, and system performance evaluation

Prerequisite: CSC C 301, CE C 201

Credit Hours: 3 Lecture Hours: 42 Lab Hours: 0 BOK Coverage : CE-SRM 1-6; Supplementary CE-SRM 7

ECE C 201: Digital & Logic Design + Lab

Elements of digital design (e.g., Boolean algebra, basic logic circuits), analysis and synthesis of combinational and sequential logic circuits, introduction into finite state machines, hardware description language (HDL), and programmable logic devices (e.g., FPGAs)

Prerequisite: CSC C 101

Credit Hours: 3 Lecture Hours: 42 Lab Hours: 14 BOK Coverage : CE-DIG 1-9

ECE C 202: Circuits & Electronics

Fundamentals of circuit analysis: basic concepts (e.g., voltage, current, Ohm's law); transient analysis and frequency response of networks; introduction to operational amplifiers, electronic materials and devices, bipolar transistors and logic families, and MOS technology

Prerequisite: MTH 201, PHY 201 Credit Hours: 4 Lecture Hours: 56 Lab Hours: 0 BOK Coverage : CE-CAE 1-10

ECE C 301: Embedded & Microprocessor Systems + lab

Topics in microprocessor-based embedded systems, synchronous and asynchronous serial communication, interfacing, interrupt handling, data acquisition, real-time processing

Prerequisite: CE C 201, ECE C 201

Credit Hours: 4 Lecture Hours: 42 Lab Hours: 14 BOK Coverage : CE-CAO 6-8, CE-ESY 1-8

ECE C 302: Digital System Design + Lab

Advanced topics in digital design: modular design of combinational and sequential logic building blocks, control- Advanced topics in digital design: modular design of combinational and sequential logic building blocks, control-

Prerequisite: ECE C 201, CE C 201

Credit Hours: 4 Lecture Hours: 42 Lab Hours: 14 BOK Coverage : CE-DIG 2, DIG 6-10, SPE 8-9, SET 4-5

ECE C 401: Signals & Systems

Continuous-time and discrete-time signal analysis including Fourier series and discrete-time and discrete Fourier transforms; sampling; finite and infinite impulse response (FIR and IIR) filter design; frequency response, and system function

Prerequisite: MTH 201, MTH 202, MTH 301 Credit Hours: 3 Lecture Hours: 42 Lab Hours: 0 BOK Coverage : CE-SGP 1-8

CE C 201: Introduction to Computer Architecture & Organization

Introduction to computer architecture and system organization including instruction set architecture, processor organization, bus structures, memory sub-systems, input/output interfacing and communication, pipelining, and performance measurement

Prerequisite: CSC C 201, ECE C 201

Credit Hours: 3 Lecture Hours: 42 Lab Hours: 0 BOK Coverage : CE-CAO 1-9, CE-LAL 6

CE C 301: Introduction to Computer Systems Engineering

Fundamental concepts in computer system engineering including project management; architectural design; concurrent hardware and software design; system integration, testing, and validation; and concepts such as maintainability, sustainability, manufacturability

Prerequisite: CE C 201, CSC C 301

Credit Hours: 3 Lecture Hours: 42 Lab Hours: 0 BOK Coverage : CE-SPE 1-12, PFP 2, PDP 6, SRM 3, SWD 8-10

CE C 302: Computer Network

Architectures, protocols, standards and technologies of computer networks including local and wide area networks , wireless and mobile networks, network applications, and network management and security

Prerequisite: CE C 201, ECE C 301

Credit Hours: 3 Lecture Hours: 42 Lab Hours: 0 BOK Coverage : CE-CAL 6, NWK 1-8, SEC 8

CE C 401: Computer and Network Security

Concepts in computer and network security including data security and integrity, vulnerabilities and exploitation, cryptography, authentication, network and web security, and trust computing

Prerequisite: CE C 201, CE C 302

Credit Hours: 3 Lecture Hours: 42 Lab Hours: 0 BOK Coverage : CE-NWK 8, SEC 1-11, SET 4-5

CE C 402: CE Design I

First of a two-semester computer engineering capstone project which cumulates in a product with emphasis on teaming, project management, concurrent hardware and software design; system integration, testing, and validation

Prerequisite: CE C 301, ECE 301

Credit Hours: 3 Lecture Hours: 14 Lab Hours: 84 BOK Coverage : CE-PFP 1-4, SET 1-4

CE C 403: CE Design II

Second of a two-semester computer engineering capstone project which cumulates in a product with emphasis on teaming, project management, concurrent hardware and software design; system integration, testing, and validation

Prerequisite: CE C 402

Credit Hours: 3 Lecture Hours: 14 Lab Hours: 84 BOK Coverage : CE-PFP 2-10, SET 2-6