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.COURSEDESCRIPTION
IENGN 0030 or ENGN 0032Introduction to Engineering or Introduction to Engineering: Design
 MATH 0190Single Variable Calculus, Part II (Physics/Engineering)
 CSCI 0170Computer Science: An Integrated Introduction
 Elective † 
IIENGN 0040Engineering Statics and Dynamics
 MATH 0200* Multivariable Calculus, Part III (Physics/Engineering)
 CSCI 0200Program Design with Data Structures and Algorithms
 Elective † 
IIIENGN 0510Electricity and Magnetism
 APMA 0350Applied Ordinary Differential Equations
 CHEM 0330 or ENGN 0410 or NEUR 0010Equilibrium, Rate, and Structure or Materials Science or The Brain: An Introduction to Neuroscience
 Elective † 
IVENGN 0520Electrical Circuits and Signals
 MATH 0520 or MATH 0540Linear Algebra or Honors Linear Algebra
 Elective † 
 Elective † 
VENGN 1570Linear System Analysis
 ENGN 1630Digital Electronics Systems Design
 CSCI 0330Introduction to Computer Systems (recommended)
 Elective † 
VIUpper Level CourseCE Specialty Course #1
 Upper Level CourseCE Specialty Course #2
 Elective † 
 Elective † 
VIIAPMA 1650 or APMA 1655Statistical Inference I or Statistical Inference I
 Upper Level CourseCE Specialty Course #3 or Capstone
 Upper Level CourseCE Specialty Course #4
 Elective † 
VIIIUpper Level CourseCE Specialty Course #5 or Capstone
 Upper Level CourseCE 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 0520Linear Algebra
or MATH 0540Honors Linear Algebra
CSCI 0330Introduction to Computer Systems (recommended)
ENGN 1570Linear System Analysis
ENGN 1630Digital Electronics Systems Design
ENGN 1620Analysis and Design of Electronic Circuits
ENGN 1640Design of Computing Systems
ENGN 1650Embedded Microprocessor Design
Select one of the following: 
ENGN 1580Communication Systems
ENGN 1600Design and Implementation of Very Large Integrated Systems
ENGN 1650Embedded Microprocessor Design
ENGN 1680Design and Fabrication of Semiconductor Circuits
ENGN 2910AAdvanced Computer Architecture
ENGN 2912ELow Power VLSI System Design
ENGN 2911XReconfigurable Computing
Select two of the following: 
CSCI 0320Introduction to Software Engineering
CSCI 1230Introduction to Computer Graphics
CSCI 1270Database Management Systems
CSCI 1380Distributed Computer Systems
CSCI 1410Applied Artificial Intelligence
CSCI 1480Building Intelligent Robots
CSCI 1570Design and Analysis of Algorithms
CSCI 1670Operating Systems
CSCI 1680Computer Networks
CSCI 1730Design and Implementation of Programming Languages
CSCI 1760Multiprocessor Synchronization
CSCI 1900csciStartup
  
Suggested courses for a specialization in Multimedia Signal Processing: 
MATH 0520Linear Algebra
or MATH 0540Honors Linear Algebra
CSCI 0330Introduction to Computer Systems
ENGN 1570Linear System Analysis
ENGN 1630Digital Electronics Systems Design
ENGN 1620Analysis and Design of Electronic Circuits
ENGN 1640Design of Computing Systems
APMA 1170Introduction to Computational Linear Algebra
ENGN 1650Embedded Microprocessor Design
Select two or three of the following: 
ENGN 1580Communication Systems
ENGN 1610Image Understanding
ENGN 2500Medical Image Analysis
ENGN 2520Pattern Recognition and Machine Learning
ENGN 2530Digital Signal Processing
ENGN 2560Computer Vision
Select one or two of the following: 
CSCI 0320Introduction to Software Engineering
CSCI 1230Introduction to Computer Graphics
CSCI 1300User Interfaces and User Experience
CSCI 1410Applied Artificial Intelligence
CSCI 1460Computational Linguistics
CSCI 1570Design and Analysis of Algorithms
CSCI 1660Introduction to Computer Systems Security