Curriculum B: Administered by Computer Science

B.5 Curriculum B: Administered by Computer Science

Computer Engineering Program Administered by a Computer Science Department

B.5.1 Program Goals and Features

A computer science department would sponsor this B.S. program in computer engineering. Programs of this kind often develop through evolution from a computer science program, and therefore this model might be of interest to schools that have a computer science department but not a large engineering program. As is typical of many computer science programs, this model has a significantly larger general education component than the other curricula presented in this appendix, and therefore fewer hours devoted to computer engineering topics. For this reason, the CE2016 steering committee designed several courses specifically to provide coverage of the core topics of the CE BOK. In particular, we designed courses that cover the traditional EE topics in the CE core to cover the core material without providing significant breadth or depth beyond the core topics. In contrast, a number of the computer science courses do go somewhat beyond the core material. There is, however, sufficient coverage of the EE, hardware, and systems topics to enable graduates to be effective as computer engineers.

B.5.2 Summary of Requirements

This program of study builds around a set of eleven required courses in computer science (including a culminating design project) and three from electrical engineering, comprising 42 credit hours of study. The program achieves flexibility through a judicious choice of three technical electives and a culminating project. The computer engineering segment of the curriculum, including technical electives and capstone, comprises 51 credit-hours of study. Laboratory experience occurs in the first two introductory computer science courses, in the circuits and electronics course, and in the digital logic course. The total number of hours devoted to laboratory experience is less than in the other curriculum models presented in this appendix. In addition, since there are fewer courses that incorporate engineering design, the culminating design project experience extends two full semesters (six credits) to ensure that all graduates have significant design experience, as well as experience with teamwork and modern engineering tools. We assume that oral and written communication skills occur in both the general education and in the computer engineering segments of this curriculum.

This curriculum utilizes a relatively traditional course structure and content. It requires 39 courses, with credit hours distributed as follows.

Credit-hours

Topic areas

18 Mathematics and statistics

11 Natural science (physics, chemistry)

33 Humanities, social sciences, composition, and literature

27 Required computer science (excluding design project)

11 Required electrical engineering

9 Technical electives (from computer science or engineering)

5 Culminating design project (from computer science)

6 Free electives 120 TOTAL Credit Hours for Computer Engineering Program

B.5.3 Four-Year Model for Curriculum B

Course Description

Credit Course

MTH 101 Calculus I

3 CHM 101

3 MTH 102

Calculus II

4 CSC B 101

Chemistry I

4 PHY 101

Physics I

4 English Composition

Computer Science I

4 CSC B 102

Computer Science II

3 Humanities / Social Science 3 Total Credit Hours 14 Total Credit Hours 14

Semester 3

Semester 4

MTH 201 Differential Equations

3 PHY 201

3 MTH 203

Linear Algebra

3 MTH B 202

Physics II

3 CSC B 201

Algorithm Design

4 ELE B 201

Discrete Structures

3 ELE B 202

Circuits and Electronics

Introduction to Digital Design 4 CSC B 202 Computer Organization 3 Humanities / Social Science

3 Humanities / Social Science 3 Total Credit Hours 16 Total Credit Hours 16

Semester 5

Semester 6

MTH 301 Probability and Statistics

3 CSC B 301

3 CSC B 302

Embedded Systems

3 ELE B 301

Computer Architecture

3 CSC B 303

Computer Networks & Information

Security

3 Technical Writing

Systems and Signal Processing

3 CSC B 304

Operating Systems

3 Humanities / Social Science 3 Humanities / Social Science

3 Humanities / Social Science 3 Total Credit Hours 15 Total Credit Hours 15

Semester 7

Semester 8

CSC B 401 Senior Project I

3 CSC B 403

2 CSC B 402

Senior Project II

Ethics and Professionalism

3 Technical elective

1 Technical elective

3 Humanities / Social Science

3 Technical elective

3 Humanities / Social Science 3 Humanities / Social Science

3 Free Elective

3 Free Elective

3 Total Credit Hours 15 Total Credit Hours 15

B.5.4 Mapping of Computer Engineering BOK to Curriculum B

Refer to section B.1.2 in the front of this appendix for an explanation of this table.

BOK Area

C S A R Course

CSC 1-8, B 201 10 CSC

1-6, 7-8

Core BOK Units 1- 1-8

1- 12 1-6 1-10 1-7 1-9 10 1-9 Supplementary

BOK Units

Core BOK Hours (min)

B.5.5 Curriculum B – Course Summaries

CSC B 101: Computer Science I

Introduction to computing; algorithmic thinking, problem solving in the context of a modern programming language and its associated development environment

Prerequisites: Pre-calculus or equivalent Credit Hours: 4 Lecture Hours: 42 Lab Hours: 42 BOK Coverage: CE-SWD 1-5

CSC B 102: Computer Science II

Second course in programming languages and systems; topics include object-oriented design, data structures, recursion, data modeling, fundamental concepts in software engineering

Prerequisites: CSC B 101

Credit Hours: 4 Lecture Hours: 42 Lab Hours: 42 BOK Coverage: CE-SWD 1, 6-10; Supplementary CE-SWD 11-12

CSC B 201: Algorithm Design

Analysis and design of algorithms, with topics to include algorithm design strategies, searching and sorting algorithms, parallel algorithms, tradeoffs in algorithmic performance, algorithmic complexity

Prerequisites: CSC B 102

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

CSC B 202: Computer Organization

Introductory course in computer organization and architecture; topics include processor organization, instruction set architecture, memory system organization, performance, and interfacing fundamentals

Prerequisites: CSC B 101

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

CSC B 301: Computer Architecture

Computer bus structures, memory organization and structure, interrupt structures, arithmetic units, input-output structures, central processor organization, control function implementation, pipelining, performance measurement, and distributed system models

Prerequisites: CSC B 202

Credit Hours: 3 Lecture Hours: 42 Lab Hours: 0 BOK Coverage: CE-CAO 6-11; CE-DIG 8, 10

CSC B 302: Embedded Systems

Characteristics of embedded systems, techniques for embedded applications, parallel input and output, synchronous and asynchronous serial communication, interrupt handling, applications involving data acquisition, control, sensors, and actuators, implementation strategies for complex embedded systems

Prerequisites: CSC B 202, CSC B 301

Credit Hours: 3 Lecture Hours: 28 Lab Hours: 42 BOK Coverage: CE-ESY 1-12

CSC B 303: Computer Networks and Information Security

Introduction to the design and performance analysis of local computer networks; architectures, protocols, standards and technologies of computer networks; principles of information security, authentication, sources of vulnerability, malware, defenses against attack, network security

Prerequisites: CSC B 202, MTH B 202; Co-Requisite CSC B 304

Credit Hours: 3 Lecture Hours: 42 Lab Hours: 0 BOK Coverage: CE-NWK 1-8; CE-SEC 1-11

CSC B 304: Operating System

Basic operating systems and their components; concurrency, scheduling and dispatch, memory and device management, file systems and performance evaluation, real-time operating systems, operating systems for mobile devices

Prerequisites: CSC B 201, CSC B 202

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

CSC B 401: Senior Project I

Individually designed projects oriented toward providing experience in project management, risk management, specification of system requirements and architecture, system design, integration, testing, and deployment; solution of open-ended problems; emerging technologies discussed in the context of these projects

Prerequisites: CSE B 302, CSE B 312, CSE B 332

Credit Hours: 2 Lecture Hours: 14 Lab Hours: 42 BOK Coverage: CE-PFP 2-4, 6-9, CE-SPE 1-12, CE-SET 1-5

CSC B 402 Senior Project II

Continuation of Senior Project I focused upon implementation of a project design

Prerequisites: CSC B 401

Credit Hours: 3 Lecture Hours: 14 Lab Hours: 84 BOK Coverage: CE-PFP 2-4, 6-9, CE-SPE 1-12, CE-SET 1-5

CSC B 403: Ethics and Professionalism

Critical examination of ethical problems associated with computer science and engineering; legal and quasi- legal (i.e., policy and regulative) issues are also considered; topics addressed include the process of ethical decision-making, privacy and confidentiality, computer crime, professional codes and responsibilities, software piracy, the impact of computers on society

Prerequisites: Junior standing Credit Hours: 1 Lecture Hours: 0 Lab Hours: 42 BOK Coverage: CE-PFP 1, 5, 6-10

ELE B 201: Introduction to Digital Design

Number systems and representation of information; computer arithmetic; analysis and synthesis of combinational and sequential logic circuits; use of a modern hardware description language; organization and structure of computing systems

Prerequisites: CSC B 101

Credit Hours: 4 Lecture Hours: 42 Lab Hours: 42 BOK Coverage: CE-DIG 1-7, 9, CE-CAO 5; Supplementary CE-DIG 11

ELE B 202: Circuits and Electronics

Fundamentals of electric circuits and network analysis; transient analysis, frequency response, Laplace transforms, Fourier series, introduction to electronic materials and devices, diodes, bipolar transistors and logic families, MOS technology

Prerequisites: MTH 201, PHY 102 Credit Hours: 4 Lecture Hours: 42 Lab Hours: 42 BOK Coverage: CE-CAE 1-10

ELE B 301: Systems and Signal Processing

Sinusoidal and transient analysis, convolution, transform analysis, frequency response, digital processing of signals, difference equations, sampling and aliasing, discrete time transforms and digital filter design

Prerequisites: ELE B 202

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

MTH B 202: Discrete Structures

Sets, functions, and relations, Boolean algebra, first order logic, proof techniques, counting arguments, iteration and recursion, graphs and trees

Prerequisites: Pre-calculus or equivalent Credit Hours: 3 Lecture Hours: 42 Lab Hours: 0 BOK Coverage: CE-DSC 1-9