Computer Engineering

Sc.B. in Computer Engineering

Computer engineers specialize in applications which require a knowledge of both electrical engineering and computer science. They design and manufacture computer hardware (from chips to servers); they design and operate networks and communication systems; and have developed many of the 'smart' devices that continue to change the way we live and work. They are at the forefront of fields such as cybersecurity; machine intelligence; networking; and embedded systems.

The computer engineering undergraduate program combines the best of the School of Engineering with Brown's world-class Department of Computer Science. Students take courses in both departments, gaining proficiency in both software and hardware. Their interdisciplinary foundation also prepares them to identify and implement innovative applications for hardware and software.

Nearly all students in the computer engineering program engage in collaborative research with faculty through internships or independent study. These provide students access to state-of-the-art facilities in computer engineering and computer vision such as those of the Laboratory for Engineering Man/Machine Systems.

The concentration has the following structure:

  • The interdisciplinary core for computer engineering taken during the first two years. The C.E. core is similar to other engineering programs, but is structured to include more courses in computer science and a somewhat different emphasis in mathematics
  • Specialized upper level courses
  • A capstone design course
  • Four approved humanities courses

For complete requirements, please see the University Bulletin.

SEM. COURSE DESCRIPTION
I ENGN 0030 or ENGN 0031 Introduction to Engineering or Honors Introduction to Engineering
  MATH 0190 AP Calculus (Physics/Engineering)
  CSCI 0170 Computer Science: An Integrated Introduction
  Elective †  
II ENGN 0040 Dynamics and Vibrations
  MATH 0200* or MATH 0180 Intermediate Calculus (Physics/Engineering) or Intermediate Calculus
  CSCI 0180 Computer Science: An Integrated Introduction
  Elective †  
III ENGN 0510 Electricity and Magnetism
  APMA 0330 Methods of Applied Mathematics I
  CHEM 0330 or ENGN 0410 or NEUR 0010 Equilibrium, Rate, and Structure or Materials Science or The Brain: An Introduction to Neuroscience
  Elective †  
IV ENGN 0520 Electrical Circuits and Signals
  MATH 0520 or MATH 0540 Linear Algebra or Honors Linear Algebra
  Elective †  
  Elective †  
V ENGN 1570 Linear System Analysis
  ENGN 1630 Digital Electronics Systems Design
  CSCI 0330 Introduction to Computer Systems (recommended)
  Elective †  
VI Upper Level Course CE Specialty Course #1
  Upper Level Course CE Specialty Course #2
  Elective †  
  Elective †  
VII APMA 1650 or APMA 1655 Statistical Inference I or Statistical Inference I
  Upper Level Course CE Specialty Course #3 or Capstone
  Upper Level Course CE Specialty Course #4
  Elective †  
VIII Upper Level Course CE Specialty Course #5 or Capstone
  Upper Level Course CE Specialty Course #6
  Elective †  
  Elective †  
† A minimum of four electives must be in the Humanities and Social Sciences.
* Students with a strong interest in Computer Engineering and advanced placement credit may elect to take MATH 0200 in the first semester and ENGN 0520 in the second semester.

Suggested upper level specialized courses
These are provided for guidance only. The requirements allow you to construct plans with other focus areas. For full requirements see the University Bulletin.

Suggested courses for a specialization in Computer Engineering:  
MATH 0520 Linear Algebra
or MATH 0540 Honors Linear Algebra
CSCI 0330 Introduction to Computer Systems (recommended)
ENGN 1570 Linear System Analysis
ENGN 1630 Digital Electronics Systems Design

ENGN 1620

Analysis and Design of Electronic Circuits

ENGN 1640

Design of Computing Systems
ENGN 1650 Embedded Microprocessor Design

Select one of the following:

 

ENGN 1580

Communication Systems

ENGN 1600

Design and Implementation of Very Large Integrated Systems

ENGN 1650

Embedded Microprocessor Design

ENGN 1680

Design and Fabrication of Semiconductor Circuits

ENGN 2910A

Advanced Computer Architecture

ENGN 2912E

Low Power VLSI System Design

ENGN 2911X

Reconfigurable Computing

Select two of the following:

 

CSCI 0320

Introduction to Software Engineering

CSCI 1230

Introduction to Computer Graphics

CSCI 1270

Database Management Systems

CSCI 1380

Distributed Computer Systems

CSCI 1410

Applied Artificial Intelligence

CSCI 1480

Building Intelligent Robots

CSCI 1570

Design and Analysis of Algorithms

CSCI 1670

Operating Systems

CSCI 1680

Computer Networks

CSCI 1730

Design and Implementation of Programming Languages

CSCI 1760

Multiprocessor Synchronization

CSCI 1900

csciStartup
   
Suggested courses for a specialization in Multimedia Signal Processing:  
MATH 0520 Linear Algebra
or MATH 0540 Honors Linear Algebra
CSCI 0330 Introduction to Computer Systems
ENGN 1570 Linear System Analysis
ENGN 1630 Digital Electronics Systems Design

ENGN 1620

Analysis and Design of Electronic Circuits

ENGN 1640

Design of Computing Systems

APMA 1170

Introduction to Computational Linear Algebra
ENGN 1650 Embedded Microprocessor Design

Select two or three of the following:

 

ENGN 1580

Communication Systems

ENGN 1610

Image Understanding

ENGN 2500

Medical Image Analysis

ENGN 2520

Pattern Recognition and Machine Learning

ENGN 2530

Digital Signal Processing

ENGN 2560

Computer Vision

Select one or two of the following:

 

CSCI 0320

Introduction to Software Engineering

CSCI 1230

Introduction to Computer Graphics
CSCI 1300 User Interfaces and User Experience

CSCI 1410

Applied Artificial Intelligence

CSCI 1460

Computational Linguistics

CSCI 1570

Design and Analysis of Algorithms
CSCI 1660 Introduction to Computer Systems Security