Home > Academics > Undergraduate Programs > B.S. in Computer Engineering
B.S. in Computer Engineering
Our educational objectives for computing engineers are to provide the following career and professional accomplishments: 1) a breadth of knowledge in general engineering, computer engineering, and related topics; 2) a depth of knowledge in more focused areas of computer engineering; and 3) a general set of skills related to “preparation for life” (e.g., communication skills, etc.). These are elaborated upon below.
1) Breadth of knowledge: Each former student should have significant exposure to the following:
• fundamental basic sciences and mathematics,
• conceptual underpinnings of computer engineering,
• fundamental tools of modern computer engineering practice,
• advanced laboratory practice,
• the practice of design, and
• knowledge beyond computer engineering.
2) Depth of knowledge: Each former student should have an opportunity to deepen his or her knowledge in a focus area of computer engineering (e.g., VLSI design, networking, etc.).
3) Preparation for life: Each former student should be instilled with:
• the ability to communicate, both orally and in writing,
• an ability to interact and work effectively with other people,
• an appreciation for the humanities and social sciences,
• the recognition of the need for and the ability to engage in lifelong learning, and
• an appreciation of the ethical considerations associated with engineering practice.
To receive the Bachelor of Science in Computer Engineering, you must
- complete a minimum of 120 credit units
- satisfy the general requirements of the School for professional degrees
- complete 42 units of required courses (listed below), each with a grade of C- or better
- complete 21 units of technical electives, of which at least 15 units must be from the preferred list in the table and up to 6 units may be from the accepted list in the table below.
To help undergraduate students plan their courses throughout their college career, a suggested curriculum is available to recommend when to take the courses outlined on this page.
Required Courses
The following courses are required of all undergraduate computer engineering students. See Course Descriptions for more information about a CSE course or http://ese.seas.wustl.edu/Academics/Courses.asp for more information about an ESE course.
| CSE 131 Computer Science I (formerly CS 101G) |
4 units
|
| CSE 132 Computer Science II (formerly CS 102G) |
4 units
|
| CSE 241 Algorithms and Data Structures (formerly CS 241) |
3 units
|
| ESE 102 Introduction to Electrical and Computer Engineering (formerly EE 250) |
3 units
|
| CSE 260M Introduction to Digital Logic and Computer Design (formerly CS/EE 260M) |
3 units
|
| ESE 230 Introduction to Electrical Networks (formerly EE 280) |
3 units
|
| ESE 232 Introduction to Electronic Circuits (formerly EE 290) |
3 units
|
| CSE 361S Introduction to Systems Software (formerly CS 306) |
3 units
|
| ESE 317 Engineering Mathematics (formerly SSM 317) |
4 units
|
| ESE 326 Engineering Probability (formerly SSM 326) |
3 units
|
| CSE 362M Computer Architecture (formerly CS/EE 362M) |
3 units
|
| CSE 465M Digital Systems Laboratory (formerly EE 455) |
3 units
|
| CSE 462M Computer Systems Design (formerly CS/EE 462M) |
3 units
|
| Total |
42 units |
Technical Electives
There are 21 units of technical electives required of computer engineering students. At least 15 units must be completed from the following preferred list:
| CSE 240 Logic and Discrete Mathematics (formerly CS 201) |
3 units
|
| ESE 330 Engineering Electromagnetics Principles (formerly EE 314M) |
3 units
|
| ESE 351 Signals and Systems (formerly EE 379) |
3 units
|
| CSE 422S Operating Systems Organization (formerly CS 422S) |
3 units
|
| CSE 425S Programming Systems and Languages (formerly CS 455) |
3 units
|
| CSE 436S Software Engineering Workshop (formerly CS 456) |
3 units
|
| ESE 460 Switching Theory (formerly EE 460) |
3 units
|
| ESE 463 Digital Integrated Circuit Design and Architecture (formerly EE 463) |
3 units
|
| ESE 464 Digital Systems Engineering (formerly CoE/EE 464) |
3 units
|
| CSE 473S Introduction to Computer Networks (formerly CS 423M) |
3 units
|
| ESE 482 Digital Signal Processing (formerly EE 445) |
3 units
|
Up to 6 units may be completed from the following accepted list:
| CSE 313A Artificial Intelligence Laboratory (formerly CS 313A) |
3 units
|
| CSE 333S Distributed Applications (formerly CS 333S) |
3 units
|
| CSE 332S Object-Oriented Software Development Laboratory (formerly CS 342S) |
3 units
|
| ESE 331 Electronics Laboratory (formerly EE 350) |
3 units
|
| ESE 334 Network Analysis (formerly EE 380) |
3 units
|
| ESE 336 Principles of Electronic Devices (formerly EE 390) |
3 units
|
| ESE 337 Electronic Devices and Circuits (formerly EE 392) |
3 units
|
| ESE 402 Computer-Aided Design of Electronic Systems (formerly EE 458) |
3 units
|
| CSE 405A/ESE 411 Numerical Methods (formerly CS/SSM 465A) |
3 units
|
| ESE 407 Analysis and Simulation of Discrete Event Systems (formerly SSM 462) |
3 units
|
| ESE 430 Engineering Electromagnetic Principles (formerly EE 410) |
3 units
|
| CSE 431S Translation of Computer Languages (formerly CS 431S) |
3 units
|
| ESE 436 Advanced Electronic Devices (formerly EE 491) |
3 units
|
| ESE 438 Applied Optics (formerly EE 468A) |
3 units
|
| ESE 441 Control Systems (formerly ME/EE 431) |
3 units
|
| CSE 441T Advanced Algorithms (formerly CS 441T) |
3 units
|
| ESE 442 Digital Control Systems (formerly ME/EE 432) |
3 units
|
| CSE 452A Computer Graphics (formerly CS 453A) |
3 units
|
| ESE 471 Communication Theory and Systems (formerly EE 421) |
3 units
|
| ESE 488 Signals and Systems Laboratory (formerly EE 437) |
3 units
|
| ESE 532 Advanced Analog Electronics (formerly EE 492) |
3 units
|
With permission of the program director, certain graduate courses may be applied to the technical electives requirement.
|