Undergraduate Program

Computer Engineering at the University of Virginia offers a Bachelors of Science degree. Faculty from the Computer Science and Electrical & Computer Engineering Departments jointly administer the CpE undergraduate degree program at the University of Virginia.The curriculum has been carefully designed to assure that students obtain an excellent background in both Electrical Engineering and Computer Science.


What does a Computer Engineer do?   Work with hardware and software to create an integration of Computer Science and Electrical Engineering to create modern computing and embedded systems.  The Educational Objectives for Graduates of the Bachelors of Science in Computer Engineering Program at the University of Virginia are to utilize their academic preparation to become successful practitioners and innovators in computer engineering and other fields.  Students will learn to analyze, design and implement creative solutions to problems with computer hardware, software, systems and applications. They will also be trained to contribute effectively as team members, to communicate clearly and to interact responsibly with colleagues, clients, employers and society.

The Computer Engineering Undergraduate Coordinator will be holding Zoom office hours on Monday 10 am - noon, and Thursday 1 - 3 pm.  Please email compe@virginia.edu for the link.

Admission and Transfer information for undergraduate students can be found here.  The Computer Engineering Program does not currently offer a minor. 

All Computer Engineering students work through an extended sequence of introductory, intermediate and advanced courses in both areas.  We have created a number of advising aids to assist both students and their advisors in navigating the curriuclum requirements.

Advising Aids for Computer Engineering Majors

Computer engineering majors must maintain at least a 2.0 in-major GPA (as calculated by SIS).   The in-major GPA is the average over all major required courses (including required electives). 

The information contained on this website is for informational purposes only. The Undergraduate Record represents the official repository for academic program requirements and students are encouraged to refer to the Undergraduate Record for detailed information about School of Engineering requirements including HSS electives.  Engineering guidelines such as Course Load, Academic Probation and Academic Suspension can also be found in the Record.  

The Bachelor of Science in Computer Engineering degree offered jointly by the Department of Computer Science and the Charles L. Brown Department of Electrical and Computer Engineering is accredited by the Engineering Accreditation Commission of ABET. http://www.abet.org.  Graduation data for these degree programs is included on this page that provides such information for all School of Engineering undergraduate degrees.

 

 

  • Computer Engineering Undergraduate Curriculum

    Core Curriculum:

    CS 1110                Introduction to Programming
    CS 2110                Software Development Methods
    CS 2102                Discrete Math
    ECE 2630             ECE Fundamentals I
    ECE 2660             ECE Fundamentals II
    CS 2150                Program and Data Representation
    ECE/CS 2330       Digital Logic Design
    ECE 3750             ECE Fundamentals III
    ECE 3430             Intro Embedded Computing Systems
    CS 3240                Advanced Software Development
    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:
     

    ECE Fundamentals

    ECE 2630, 2660, 3750     
    Fun 1, 2, & 3

    Software Engineering

    CS 2110 Software Development Methods
    CS 3240 Advanced Software Development

    Digital Logic

    ECE/CS 2330 Digital Logic Design
    CS 2102 Discrete Math

    Embedded Systems

    ECE 3430 Intro Embedded Computer Systems
    ECE 4440 Embedded System Design

    Computer Systems

    CS 2150 Program and Data Representation
    CS 4414 Operating Systems
    ECE 4435 Computer Architecture & Design
    CS/ECE 4457 Computer Networks

     

  • Defined Educational Objectives and Student Outcomes for the BSCpE

    Each degree program has defined Program Educational Objectives (PEOs), which are broad statements that describe the career and professional accomplishments that the program is preparing graduates to achieve. In addition, each program has defined Student Outcomes (SOs), which are are narrower statements that describe what students are expected to know and be able to do by the time of graduation. These relate to the skills, knowledge, and behaviors that students acquire in their matriculation through the program.

    The BS in Computer Engineering program at the University of Virginia enables students to achieve, by the time of graduation:

    1. an ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics
    2. an ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors
    3. an ability to communicate effectively with a range of audiences
    4. an ability to recognize ethical and professional responsibilities in engineering situations and make informed judgments, which must consider the impact of engineering solutions in global, economic, environmental, and societal contexts
    5. an ability to function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives
    6. an ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions
    7. an ability to acquire and apply new knowledge as needed, using appropriate learning strategies.