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 worldclass 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 stateoftheart 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.
Further Information
 Contact information for concentration advisors >
 Degree requirements >
 Brown IEEE Computer Society >
Sample course plan (for requirements see the University Bulletin)
SEM.  COURSE  DESCRIPTION 
I  ENGN 0030 or ENGN 0031  Introduction to Engineering or Honors Introduction to Engineering 
MATH 0190 or MATH 0170  AP Calculus (Physics/Engineering) or AP Calculus  
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 
Analysis and Design of Electronic Circuits  
Design of Computing Systems  
ENGN 1650  Embedded Microprocessor Design 
Select one of the following:


Communication Systems  
Design and Implementation of Very Large Integrated Systems  
Embedded Microprocessor Design  
Design and Fabrication of Semiconductor Circuits  
Advanced Computer Architecture  
Low Power VLSI System Design  
Reconfigurable Computing  
Select two of the following:


Introduction to Software Engineering  
Introduction to Computer Graphics  
Database Management Systems  
Distributed Computer Systems  
Applied Artificial Intelligence  
Building Intelligent Robots  
Design and Analysis of Algorithms  
Operating Systems  
Computer Networks  
Design and Implementation of Programming Languages  
Multiprocessor Synchronization  
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 
Analysis and Design of Electronic Circuits  
Design of Computing Systems  
Introduction to Computational Linear Algebra  
ENGN 1650  Embedded Microprocessor Design 
Select two or three of the following:


Communication Systems  
Image Understanding  
Medical Image Analysis  
Pattern Recognition and Machine Learning  
Digital Signal Processing  
Computer Vision  
Select one or two of the following:


Introduction to Software Engineering  
Introduction to Computer Graphics  
CSCI 1300  User Interfaces and User Experience 
Applied Artificial Intelligence  
Computational Linguistics  
Design and Analysis of Algorithms  
CSCI 1660  Introduction to Computer Systems Security 