Curriculum A: Administered by Electrical and Computer Engineering

B.4 Curriculum A: Administered by Electrical and Computer Engineering

Computer Engineering Program Administered by an Electrical and Computer Engineering Department

B.4.1 Program Goals and Features

This program leads to a bachelor’s degree in computer engineering, as might be offered by a traditional electrical and computer engineering (ECE) department. A computer science department sometimes offers foundation courses in computer science such as programming; the ECE department teaches the remaining courses. As is typical of most programs in engineering, this program has a smaller general education component than Curriculum B (described in this appendix), with more hours devoted to computer engineering topics. This program usually has multi-course sequences in circuits/electronics, digital design, embedded systems, and computer programming. Breadth coverage occurs through courses in computer architecture, operating systems, networks, and computer security. This program is oriented more towards hardware and system design, but contains more than sufficient coverage in software topics to enable graduates to be effective computer engineers.

B.4.2 Summary of Requirements

This program of study contains 5 required computer science courses (17 credits) and 14 required electrical and computer engineering (ECE) courses (42 credits). Flexibility is provided by the two computer engineering elective courses (6 credits), which can be chosen from courses in either the computer science or electrical and computer engineering departments. Lab hours are present in ten courses, giving students significant hands-on experiences with modern tools and design techniques. The capstone experience occurs over two courses in the senior year, allowing for a substantial and complete design experience. Required oral technical writing courses address oral and written communication skills, reinforced throughout the laboratory and the capstone project courses. This curriculum requires 39 courses, with credit hours distributed as follows.

10 Natural science (Physics, Chemistry)

24 English composition, humanities and social sciences

38 Required electrical and computer engineering

17 Required computer science

6 Technical electives (from ECE or CSC)

4 Design project

0 Free electives 120

TOTAL Credit Hours for Computer Engineering Program

B.4.3 Four-Year Model for Curriculum A

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

3 CHM 101

3 MTH 101

Calculus II

3 CSC A 101

Chemistry I & Lab

4 PHY 101

Physics I

Programming I & Lab

4 CSC A 102

4 English Composition I 3 ECE A 101 Introduction to ECE

Programming II & Lab

2 Humanities Elective

3 English Composition II

Total Credit Hours

17 Total Credit Hours 15

Semester 3

Semester 4

MTH 201 Calculus III 3 MTH 203 Differential Equations 3 PHY 201

3 ECE A 201

Physics II

3 MTH A 204 Discrete Structures

Digital Devices & Lab 4 ECE A 202 Microprocessors & Lab 4 CSC A 201 Data Structures

3 ECE A 203 Circuits/Electronics I 3 MTH 202

Linear Algebra

3 MTH 205

Probability & Statistics

3 Total Credit Hours 16 Total Credit Hours 16

Semester 5

Semester 6

CSC A 301 Algorithms 3 CSC A 302 Client/Server Programming 3 ECE A 301

3 ECE A 302

Circuits/Electronics II & Lab

4 ECE A 303

Signals & Systems

Digital System Design & Lab 3 ECE A 304 Data Communication 3 Humanities Elective

3 ECE A 305 Computer Architecture 3

Social Science Elective

3 Total Credit Hours 13 Total Credit Hours 15

Semester 7

Semester 8

ECE A 401 CE Design I

2 ECE A 403

2 ECE A 402

CE Design II

3 ENG 401

Embedded Systems & Lab

3 ECE A 404 Computer Security

Writing for Engineers

3 CE Elective

3 ECE A 405 Operating Systems

3 Fine Arts Elective

3 CE Elective

3 Social Science Elective

B.4.4 Mapping of Computer Engineering BOK to Curriculum A

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

BOK Area

C S A R Course

D F C L S CSC A 101 1-4 CSC A 102 4-8 CSC A 201 5-9 CSC A 301 1-8 CSC A 302

10,12 ECE A 101

1-6, 11 7-10

1-6 1-7 1-12 1-6 1-10 1-7 1-9 1- 1- Units Covered

Core BOK 1-

10 11 11 13 11 11 11 10 10 Supplementary BOK Units

9 7-8 11,12 Core BOK

Hours (min) 50 60 30 50 40 20 20 20 10 30 30 20 40 30 30 20 30

B.4.5 Curriculum A – Course Summaries

CSC A 101: Introduction to Computer Programming

Introductory problem solving and computer programming using object-oriented techniques; theoretical and practical aspects of programming and problem solving

Prerequisite: College Algebra or equivalent Credit Hours: 4 Lecture Hours: 42 Lab Hours: 42 BOK Coverage : CE-SWD 1-4

CSC A 102: Intermediate Computer Programming

Object-oriented problem solving, design, and programming; introduction to data structures, algorithm design and complexity

Prerequisite: CSC A 101

Credit Hours: 4 Lecture Hours: 42 Lab Hours: 42 BOK Coverage : CE-SWD 4-8

CSC A 201: Data Structures & Analysis of Algorithms

Non-linear data structures and their associated algorithms; trees, graphs, hash tables, relational data model, file organization; advanced software design and development

Prerequisite: CSC A 102 and College Algebra or equivalent

Credit Hours: 3 Lecture Hours: 42 Lab Hours: 0 BOK Coverage : CE-SWD 5-9

CSC A 301: Introduction to Algorithms

Study of complexity of algorithms and algorithm design; tools for analyzing efficiency; design of algorithms, including recurrence, divide-and-conquer, dynamic programming and greedy algorithms

Prerequisite: CSC A 201, MTH 201 and MTH A 204

Credit Hours: 3 Lecture Hours: 42 Lab Hours: 0 BOK Coverage : CE-CAL 1-8

CSC A 302: Distributed Client/Server Programming

Design of software systems for use in distributed environments; client/Server models, multithreaded programming, server-side web programming, graphical user interfaces, group projects involving client/server systems

Prerequisite: CSC A 201

Credit Hours: 3 Lecture Hours: 28 Lab Hours: 42 BOK Coverage : CE-SWD 10, CE-SPE 1-12; Supplementary CE-SWD 12

ECE A 101: Introduction to ECE

What it means to be an engineer, engineering ethics, engineering modeling, the design process, areas of ECE, communication skills

Prerequisite: Credit or registration in MTH 101 Credit Hours: 2 Lecture Hours: 15 Lab Hours: 42 BOK Coverage : CE-PFP 1-3, 5

ECE A 201: Digital Devices

Binary codes, Boolean, algebra, combinational logic design, flip-flops, counters, synchronous sequential logic, programmable logic devices, MSI logic devices, adder circuits

Prerequisite: Credit or registration in CSC A 101

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

ECE A 202: Microprocessors

Architecture of microprocessor-based systems; study of microprocessor operation, assembly language, arithmetic operations, and interfacing

Prerequisite: ECE A 201, CSC A 201

Credit Hours: 4 Lecture Hours: 42 Lab Hours: 42 BOK Coverage : CE-ESY 1-8, CE-CAO 3, 5, CE-DIG 3

ECE A 203: Introduction to Electronic Circuits

Fundamentals of electric circuits and network analysis; transient analysis and frequency response of networks; introduction to operational amplifiers; AC power

Prerequisite: PHY 201, MTH 202, Credit or registration in MTH 203

Credit Hours: 3 Lecture Hours: 42 Lab Hours: 0 BOK Coverage : CE-CAE 1-4

ECE A 301: Intermediate Electronic Circuits

Operation circuit models and application of diodes and field-effect and bipolar junction transistors; electronic instrumentation; foundations of electrical communications systems

Prerequisite: ECE A 203

Credit Hours: 4 Lecture Hours: 42 Lab Hours: 42 BOK Coverage : CE-CAE 5-10

ECE A 302: Digital System Design

Modern digital design techniques using logic synthesis, hardware description languages; field programmable gate arrays, and modular building blocks

Prerequisite: ECE A 202

Credit Hours: 3 Lecture Hours: 28 Lab Hours: 42 BOK Coverage : CE-DIG 1, 2, 6-11

ECE A 303: Signals and Systems

Modeling of analog and discrete-time signals and systems, time domain analysis; Fourier series, continuous and discrete-time Fourier transforms and applications, sampling, z-transform, state variables

Prerequisite: ECE A 301

Credit Hours: 3 Lecture Hours: 42 Lab Hours: 0 BOK Coverage : CE-SGP 1-7

ECE A 304: Data Communication Networks

The concepts and practices of data communications and networking to provide the student with an understanding of the hardware and software used for data communications

Prerequisite: ECE A 202

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

ECE A 305: Computer Architecture

Detailed design and implementation of a stored-program digital computer system; designs for the CPU, I/O subsystems, and memory organizations; ALU design and computer arithmetic

Prerequisite: ECE A 202

Credit Hours: 3 Lecture Hours: 42 Lab Hours: 0 BOK Coverage : CE-CAO 1-11

ECE A 401: CE Design I

Lectures on teaming, project management, engineering standards, economics, and ethical and professional issues. Student must select faculty mentor, perform project design, and present orally

Prerequisite: ECE A 302, CSC A 302

Credit Hours: 2 Lecture Hours: 14 Lab Hours: 45 BOK Coverage : CE-SPE 7-10, CE-PFP 1-6, 11

ECE A 402: CE Design II

Lectures on teaming, project management, engineering standards, economics, and ethical and professional issues. Student must select faculty mentor, perform project design, and present orally

Prerequisite: ECE A 401

Credit Hours: 3 Lecture Hours: 14 Lab Hours: 42 BOK Coverage : CE-SPE 10-12, CE-PFP 7-11, CE-SET 1-6

ECE A 403: Embedded Systems

Advanced topics in embedded systems design using contemporary practice; interrupt-driven, reactive, real-time, object- oriented, and distributed client/server embedded systems

Prerequisite: ECE A 302, ECE A 301

Credit Hours: 3 Lecture Hours: 28 Lab Hours: 42 BOK Coverage : CE-ESY 9-13, CE-SPE 10, CE-SRM 4, 6; Supplementary CE-SWD 11

ECE A 404: Information Security

Basic and advanced concepts in cryptography and network security: symmetric and asymmetric cryptography, key management, wired and wireless network security protocols, network systems security

Prerequisite: ECE A 304

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

ECE A 405: Operating Systems

Historical development of operating systems to control complex computing systems; process management, communication, scheduling techniques; file systems concepts and operation; data communication, distributed process management

Prerequisite: ECE A 202

Credit Hours: 3 Lecture Hours: 42 Lab Hours: 0 BOK Coverage : CE-SET 3-5, CE-SRM 1-6; Supplementary CE-CAL 9, CE-SRM 7-8

MTH A 204: Discrete Structures

Concepts of algorithms, induction, recursion, proofs, topics from logic, set theory, combinatorics, graph theory fundamental to study of computer science

Prerequisite: CSC A 101 and College Algebra or equivalent

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