Chapter 4
Bachelor of Science in Computer Engineering
Online: [Link]
4.1
Disclaimer
The information contained on this handbook is for informational purposes only. The Undergraduate Record and Graduate Record represent the official repository for academic
program requirements. These publications may be found online1,2 .
4.2
Introduction
Computer Engineering is an exciting field that spans topics across electrical engineering and computer science. Students learn and practice the design and analysis of computer
systems, including both hardware and software aspects and
their integration. Careers in Computer Engineering (CpE)
are as wide and varied as computer systems themselves,
which range from embedded computer systems found in
consumer products or medical devices, to control systems
for automobiles, aircraft, and trains, to more wide-ranging
applications in entertainment, telecommunications, financial
transactions, and information systems.
4.2.1
Faculty from the Computer Science and Electrical & Computer Engineering departments jointly administer the CpE
undergraduate degree program at the University of Virginia.
The Computer Engineering program does not offer a minor.
4.3
The application process for the Computer Engineering degree are the exact same as with the BS Computer Science degree (section 2.4, page 5), and thus it is not repeated here.
4.4
Graduates of the Computer Engineering program at the University of Virginia utilize their academic preparation to become successful practitioners and innovators in computer
engineering and other fields. They analyze, design and implement creative solutions to problems with computer hardware, software, systems and applications. They contribute
effectively as team members, communicate clearly and interact responsibly with colleagues, clients, employers and society.
2 [Link]
catoid=42&poid=4960
General Curriculum Details
The curriculum has been carefully designed to ensure that
students obtain an excellent background in both Computer
Science and Electrical Engineering, providing breadth across
these disciplines as well as depth in at least one. All Computer Engineering students work through an extended sequence of introductory, intermediate and advanced courses:
Program Objectives
1 [Link]
Application Process
CS 1110 Introduction to Computer Science
CS 2110 Software Development Methods
CS 2102 Discrete Math
ECE 2630 Introductory Circuit Analysis
ECE 2660 Electronics I
CS 2150 Program and Data Representation
ECE/CS 2330 Digital Logic Design
ECE 3750 Signals & Systems I
CS 3240 Advanced Software Development
CS 3430 Introduction to Embedded Computer Systems
CS 4414 Operating Systems
ECE 4435 Computer Architecture & Design
ECE 4440 Embedded Systems Design
CS/ECE 4457 Computer Networks
In addition to providing breadth across the two areas, this
core of the Computer Engineering program provides depth
in the following areas:
19
BS C P E D EGREE
Curriculum
Second semester
SCI elective
HSS elective
APMA 2120
PHYS 1425
PHYS 1429
CS 1110 or 1111
or 1112 or
1113
Circuits
ECE 2630: Introductory Circuit Analysis
ECE 2660: Electronics I
Software Engineering
CS 2110: Software Development Methods
CS 3240: Advanced Software Development
Digital Logic
ECE/CS 2330: Digital Logic Design
CS 2102: Discrete Math
Computer Systems
CS 2150: Program and Data Representation
CS 3430 Introduction to Embedded Computer Systems
CS 4414: Operating Systems
ECE 4435: Computer Architecture & Design
ECE 4436: Embedded Systems Design
CS/ECE 4457: Computer Networks
4.4.1
Grade Requirement
To complete their program of study, computer engineering
majors must achieve a C average or better in their Computer
Science and Electrical Engineering courses.
4.5
Curriculum
Single Variable Calculus
Intro Chemistry I for Engineers
Intro Chem. I for Engineers Lab
Introduction to Engineering
Intro. to Engineering Lab
Science, Tech., & Contemporary
Issues
17
3
3
4
3
1
3
Third semester
HSS elective
APMA 2130
CS 2110
CS 2102
ECE 2630
HSS elective1
Ordinary Differential Eq.
Software Develop. Methods
Discrete Mathematics
ECE Fundamentals I
17
3
4
3
3
4
Fourth semester
STS 2xxx/3xxx
UE elective
CS 2150
ECE 2660
CS/ECE 2330
STS 2xxx/3xxx elective
Unrestricted elective3
Prog. & Data Representation
ECE Fundamentals II
Digital Logic Design
16
3
3
3
4
3
Fifth semester
CS/ECE
ECE 3430
ECE 3750
PHYS 2415
PHYS 2419
CS/ECE elective4
Intro to Embed. Systems
ECE Fundamentals III
General Physics II: E&M & Lab
General Physics II Workshop
15
3
4
4
3
1
Sixth semester
CS/ECE
UE elective
ECE 4550
Below is the recommended course of study for the bachelors
degree. If one has already completed some of these classes
(through AP credit, for example), then your course of study
would deviate from what is shown below consult your academic advisor for details.
First semester
APMA 1110
CHEM 1610
CHEM 1611
ENGR 1620
ENGR 1621
STS 1500
Science elective2
HSS elective1
Multivariate Calculus
Physics I: Mechanics, Thermo.
Physics I Workshop
Introduction to Programming
15
4
3
1
3
1
3
20
18
3
3
1.5
APMA 3100
CS 3240
ECE 4435
CS/ECE elective4
Unrestricted elective3
Applied Research & Design
Labd
Probability
Advanced Software Develop.
Computer Arch. & Design
3
3
4.5
Seventh semester
CS/ECE
UE elective
ECE 4440
STS 4500
CS/ECE 4457
CS/ECE elective4
Unrestricted elective3
Embedded Systems Design
STS & Engineering Practice
Computer Networks
15
3
3
3
3
3
Eighth semester
CS/ECE
UE elective
UE elective
CS 4414
STS 4600
CS/ECE elective4
Unrestricted elective3
Unrestricted elective3
Operating Systems
Engineer, Ethics, & Prof. Society
15
3
3
3
3
3
BS C P E D EGREE
Miscellaneous Information
Footnotes:
1. Chosen from the approved list available in A122 Thornton Hall.
2. Chosen from: among BIOL 2100, 2200; CHEM 1620; ECE
2066; MSE 2090; and PHYS 2620.
3. Unrestricted electives may be chosen from any graded
course in the University except mathematics courses below MATH 1310 including STAT 1100 and STAT 1120
and courses that substantially duplicate any others offered for the degree including PHYS 2010, 2020; CS 1010,
1020; or any introductory programming course. Students in doubt as to what is acceptable to satisfy a degree requirement should get the approval of their advisor and the deans office, located A122 Thornton Hall.
APMA 1090 counts as three-credit unrestricted elective.
4. Chosen from CS/ECE courses at the 3000 level or higher.
Two CS/ECE electives must be 4000 level or above.
4.6
Miscellaneous Information
There are three CS capstone courses: CS 4970 (Capstone
Practicum I), CS 4971 (Capstone Practicum II), and CS 4980
(Capstone Research). Only the first one (CS 4970) counts as a
CS/ECE elective for the Computer Engineering degree; the
other two can only count as an unrestricted elective.
Please refer to the Undergraduate Record3 for detailed information about SEAS Academic Rules and Regulations including HSS electives. In addition, guidelines such as course
load, academic probation and academic suspension can also
be found in the Record.
4.6.1
Double BS CS & BS CpE majors
Due to substantial overlap with CS 3330 (Computer Architecture), ECE 4435 (Computer Architecture & Design) can
NOT count as a CS elective. However, double majors may
have ECE 4435 count as their CS 3330 requirement, although
this will require a manual SIS exception to do so; see section 7.3.8 (page 31) for the SIS exception process.
ECE 4440 (Embedded Systems Design) can count as a CS
elective, but this also requires a SIS exception to be entered
see section 7.3.8 (page 31) and section 7.3.9 (page 31) for details. Note that even though ECE 4440 is a 4.5 credit course,
it can only count as one CS elective (i.e., only 3 credits).
Computer engineering majors are allowed to take ECE
3209 (Electromagnetic Fields) in place of PHYS 2415/2419.
While this option is only open to computer engineering majors, it also applies to dual CS/CpE majors as well.
The BS CpE web site4 has a sample course schedule for
double majors.
3 [Link]
4 [Link]
21