You're logged in as |

Computer Engineering

Computer engineers design computer hardware (from chips to servers), communication and network systems, and the smart digital devices that continue to revolutionize how we live and work. They also write the software to run these systems, constantly innovating to improve performance to meet our growing technological needs. They are at the forefront of cybersecurity, machine intelligence, networking, embedded systems, and robotics. They are proficient in both electrical engineering and computer science and are employed in every industry or field that requires computer hardware.

The Computer Engineering program is accredited by the Engineering Accreditation Commission of ABET, The Program Educational Objectives (PEOs) of the CE undergraduate program strives to prepare graduates who: (1) will succeed as leaders in the computer engineering and technology industry and in research and development positions within industry and academia; (2) will work effectively in a range of roles to solve problems with global, economic, environmental and societal impacts; and (3) will pursue lifelong learning through advanced degrees and professional development opportunities throughout their chosen career. The student outcomes of this program are the ABET (1) - (7) Student Outcomes as defined by the "ABET Criteria for Accrediting Engineering Programs" available online at

The Computer Engineering concentration shares much of the core with the other engineering programs, but is structured to include more courses in computer science, and a somewhat different emphasis in mathematics. 

Note: For students still enrolled with the prior ScB in Engineering with tracks structure, please refer to the Archived Bulletin link on the left hand navigation for your requirements for the year you declared.

Please note that all students concentrating in Engineering need to file a concentration declaration using the University’s ASK advising system. This declaration must be first reviewed by the relevant Concentration Advisor and then approved by the Director of Undergraduate Studies after assuring compliance with all relevant program and accreditation requirements. 

Standard Program for the Sc.B. degree

Mathematics Requirements

As mathematics is a cornerstone of all engineering programs, significant attention is given to early preparation in mathematics in engineering concentrations. It is recognized that students entering Brown will have different levels of mathematics preparation, and the following is offered as general guidance, though the actual choices of courses should be made in consultation with an exploratory advisor. MATH 0190 (or MATH 0100), followed by MATH 0200 (or MATH 0180) is the preferred sequence of courses to be taken in the freshman year. MATH 0100 and MATH 0180 offer content like that in MATH 0190 and MATH 0100, respectively, but the latter courses are highly recommended for future engineering students because they offer more examples of relevance to the field. Students who would prefer, or require, a more introductory level calculus course may start the sequence with MATH 0090. They may then take MATH 0200 (or MATH 0180) in the subsequent semester and in that case, would receive engineering concentration credit equivalent to that which they would have received having taken MATH 0190 and MATH 0200. However, students who find that the step up from MATH 0090 to MATH 0200 is too challenging, have a choice to take MATH 0190 (or MATH 0100) upon completion of MATH 0090, but in this case, MATH 0090 would not carry engineering concentration credit and the student would then need to take MATH 0200 (or MATH 0180) in the sophomore year.

Students who have taken Advanced Placement (AP) calculus courses in high school and/or have shown proficiency through AP examinations may start the calculus sequence at a higher level than that suggested above. If a student has AP credit and accepts to use it, it then allows the student to place out of MATH 0190 (or MATH 0100). These students should enroll in the appropriate higher-level math course, e.g., MATH 0200 (or MATH 0180) or possibly MATH 0350 (a more theoretical course that covers similar material). Although it is impossible to place out of MATH 0200 or MATH 0350 with AP credit, we recognize that some students enter with an even higher level of preparation. Those students are advised to enroll in MATH 0520 (Linear Algebra), or MATH 0540 (Honors Linear Algebra), and take their second freshman mathematics course at a higher level, for example, MATH 1460 (Complex Analysis), MATH 1210 (Probability), or MATH 1220 (Mathematical Statistics). Alternatively, for some engineering concentrations, this second MATH credit requirement may be satisfied by taking a course from the Applied Mathematics Department, such as APMA 0350 (Applied Ordinary Differential Equations), APMA 0360 (Applied Partial Differential Equations), APMA 1650 (Statistical Inference) or APMA 1210 (Operations Research: Deterministic Models) if one of those courses listed is not taken for two APMA concentration credits. Details regarding the mathematics requirement for each concentration are listed in the corresponding programs.

Advanced Placement

Courses that have been taken at the secondary school level are typically only used for placement into the appropriate course level at Brown. The examples of how this can be done in mathematics are given above, and there are other instances (such as in selection of the appropriate introductory chemistry course) where AP credit is considered. It should be noted, however, that advanced placement credits cannot be used to substitute for any Engineering concentration requirements; they are instead used to ensure that students are placed into the correct level of courses.

Transfer Credits

Some students will also complete courses at other universities during the time they are Brown students (sometimes during summers while they are not in residence at Brown; sometimes during a junior semester abroad). Students who have successfully completed college courses elsewhere may apply to the University for transfer credit. (See the “Study Elsewhere” section of the University Bulletin for procedures). In addition to the general rules governing such transfers, there are specific rules governing courses that will be offered as satisfying Engineering concentration requirements. 

If the course proposed for transfer credit is offered by another department at Brown (i.e., that it carries a course number that does not start with ENGN), then the equivalent of the course must be established by that other department. This is done by submitting a formal request through the ASK system ( Once this approval has been received from the other department, the student’s internal transcript will show the equivalence and the course in question can be shown in the Engineering concentration declaration as having been completed elsewhere. If the equivalence to a Brown course is not approved, then there may still be “unassigned credit” given for the course. In this case, the situation relative to how it does or does not count for concentration credit needs to be discussed with the Concentration Advisor. In rare cases, students may petition the Engineering Concentration Committee to use courses that do not have an equivalent offered at Brown in order to meet a concentration requirement. Substitutions of this nature can only be approved if the student’s overall program meets published educational outcomes for the concentration and has sufficient basic science, mathematics, and engineering topics courses to meet relevant accreditation requirements. Students should consult their Concentration Advisor for assistance with drafting a petition. The decision whether to award concentration credit is made by majority vote of the Engineering Concentration Committee. 

If the student wishes to transfer a course taken outside of Brown that would normally carry an Engineering course number, the sequence is a bit different. First, the student needs to fill out an Engineering Transfer Credit Approval Request (see This routes the request to the relevant Brown Engineering faculty member for approval. Once this has been obtained, then transfer approval is requested through the ASK system, as described above. This process ensures that the transcript will capture the equivalence of the externally completed course. 

Substitutions for Required Courses

Students may petition the Engineering Concentration Committee to substitute a course in place of a defined concentration requirement. Such substitutions can only be approved if the student's modified program continues to meet the published educational outcomes for the concentration and has sufficient basic science, mathematics, and engineering topics courses needed to meet accreditation requirements. If the substitution involves taking an equal or higher level course in substantially the same area, whether at Brown or elsewhere, it can be approved by the Concentration Advisor without requiring a formal petition to the Concentration Committee. (For courses taken elsewhere, the credit must be officially transferred as described above.) Students wishing to make substitutions of a broader nature should consult their Concentration Advisor for assistance in drafting their petition to the Engineering Concentration Committee. Such petitions may be approved by a majority vote of the Committee. 

1. Core Courses:
ENGN 0030Introduction to Engineering1
or ENGN 0031 Honors Introduction to Engineering
or ENGN 0032 Introduction to Engineering: Design
ENGN 0040Engineering Statics and Dynamics1
ENGN 0510Electricity and Magnetism1
ENGN 0520Electrical Circuits and Signals1
APMA 1650Statistical Inference I1
or APMA 1655 Honors Statistical Inference I
or CSCI 1450 Advanced Introduction to Probability for Computing and Data Science
MATH 0190Single Variable Calculus, Part II (Physics/Engineering)1
or MATH 0100 Single Variable Calculus, Part II
MATH 0200Multivariable Calculus (Physics/Engineering)1
or MATH 0180 Multivariable Calculus
or MATH 0350 Multivariable Calculus With Theory
CHEM 0330Equilibrium, Rate, and Structure 11
or ENGN 0410 Materials Science
or NEUR 0010 The Brain: An Introduction to Neuroscience
APMA 0350Applied Ordinary Differential Equations1
or APMA 1170 Introduction to Computational Linear Algebra
or APMA 1710 Information Theory
or CSCI 0220 Introduction to Discrete Structures and Probability
or CSCI 1570 Design and Analysis of Algorithms
or MATH 1260 Complex Analysis
Select one of the following series (other CSCI courses subject to approval):2
Introduction to Object-Oriented Programming and Computer Science
Program Design with Data Structures and Algorithms
Computer Science: An Integrated Introduction
Program Design with Data Structures and Algorithms
Accelerated Introduction to Computer Science (plus one additional CSCI course subject to Concentration Advisor approval)
Computing Foundations: Data 2
Computing Foundations: Program Organization
Program Design with Data Structures and Algorithms
2. Upper-Level Computer Engineering Curriculum:
ENGN 1570Linear System Analysis1
ENGN 1630Digital Electronics Systems Design1
ENGN 1640Design of Computing Systems1
MATH 0520Linear Algebra1
or MATH 0540 Linear Algebra With Theory
One advanced Computer Engineering foundations course:1
Communication Systems
Design and Implementation of Digital Integrated Circuits
Image Understanding
Analysis and Design of Electronic Circuits
Digital Signal Processing
One advanced Computer Science course with significant systems programming: 31
Introduction to Computer Systems
Fundamentals of Computer Systems
Digital Computing Systems
Introduction to Software Engineering
Introduction to Computer Graphics
Distributed Computer Systems
Operating Systems
Computer Networks
Select three upper-level Computer Engineering electives. At least one must be an ENGN course, and at least one must be a CSCI course. Note that some upper-level courses are not offered every year. Other 1000- or 2000-level ENGN and CSCI courses outside of the list below may also be approved by the Concentration Advisor if they have appropriate connections to Computer Engineering. 43
Properties and Processing of Electronic Materials
Fundamentals of Microwave Wireless Engineering
Communication Systems
Semiconductor Devices
Design and Implementation of Digital Integrated Circuits
Image Understanding
Analysis and Design of Electronic Circuits
Embedded Microprocessor Design 5
Photonics Devices and Sensors
Biomedical Optics
Photovoltaics Engineering
Introduction to Power Engineering
Industrial Machine Vision
Control Systems Engineering
Medical Image Analysis
Digital Geometry Processing
3D Photography
Pattern Recognition and Machine Learning
Digital Signal Processing
Computer Vision
Solid State Quantum and Optoelectronics
Reconfigurable Computing for Machine/Deep Learning
Scientific Programming in C++
Mixed-Signal Electronic Design
Coordinated Mobile Robotics
Sensors and Actuators for Real Systems
Introduction to Software Engineering
Introduction to Computer Graphics
Database Management Systems
Distributed Computer Systems
Artificial Intelligence
Machine Learning
Computer Vision
Deep Learning
Design and Analysis of Algorithms
Real-Time and Embedded Software
Introduction to Computer Systems Security
Operating Systems
Computer Networks
Design and Implementation of Programming Languages
Introduction to Robotics
3. Capstone Design 61
Embedded Microprocessor Design 5
Projects in Engineering Design I
Projects in Engineering Design II
4. General Education Requirement: At least four approved courses must be taken in humanities and social sciences
Total Credits21

Special Sc.B. Concentrations (non-accredited):

In addition to the standard programs described above, students may also petition the Engineering Concentration Committee to pursue a special engineering Sc.B. degree of their own design. Such special Sc.B. programs are not ABET-accredited. Students with a special concentration will receive an Sc.B. degree in engineering, but a specific area of specialization will not be noted on their transcript. A special Sc.B. concentration is intended to prepare graduates for advanced study in engineering or for professional practice, but in an area that is not covered by one of the existing Sc.B. programs. Accordingly, special concentration programs are expected to consist of a coherent set of courses with breadth, depth and rigor comparable to an accredited degree. A total of 21 engineering, mathematics, and basic science courses are required. The program must include at least 3 courses in mathematics, at least 2 courses in physical or life sciences; and at least 12 courses in engineering. At least five of the engineering courses must be upper level courses, and one must be a capstone design course or independent study, which must be advised or co-advised by a member of the regular engineering faculty. Note that not all Engineering courses may be used to meet Sc.B. requirements: for example, the courses not allowed to count toward the A.B. will not qualify. Petitions should be prepared in consultation with an engineering faculty advisor, who will submit the petition to the Engineering Concentration Committee. Petitions must include: (i) a statement of the objectives of the degree program, and an explanation of how the courses in the program meet these objectives; (ii) course descriptions for any courses in the program that are not part of standard Sc.B. Engineering concentrations; (iii) a detailed description of any independent study courses used for concentration credit, signed by the faculty advisor for this course; and (iv) an up-to-date internal transcript.

Professional Track

While we do not give course credit for internships, we officially recognize their importance via the optional Professional Tracks. The requirements for the professional tracks include all those of the standard tracks, as well as the following:  Students must complete full-time professional experiences (or part-time experiences of equivalent total effort) doing work that is related to their concentration programs, totaling 2-6 months, whereby each internship must be at least one month in duration in cases where students choose to do more than one internship experience. Such work is normally done at a company, but may also be at a university under the supervision of a faculty member. Internships that take place between the end of the fall and the start of the spring semesters cannot be used to fulfill this requirement. On completion of each professional experience, the student must write and upload to ASK a reflective essay about the experience addressing the following prompts: 

  • Describe the organization you worked in and the nature of your responsibilities.
  • Which courses were put to use in your work?
  • Which topics, in particular, were important?
  • In retrospect, which courses should you have taken before embarking on your work experience?
  • What are the topics from these courses that would have helped you if you had been more familiar with them?
  • What topics would have been helpful in preparation for this work experience that you did not learn at Brown?
  • What did you learn from the experience that probably could not have been picked up from course work?
  • Is the sort of work you did something you would like to continue doing once you graduate? Explain.
  • Would you recommend your work experience to other Brown students? Explain. 

The reflective essays are subject to the approval of the student's Concentration Advisor. 

Entry to the Professional Track requires a simple application form to be completed by the student and approved by the Concentration Advisor at the time of the concentration declaration. If the student has not yet declared a concentration, the form may be approved by the Chair of the Concentration Committee. The Concentration Advisor will certify that all Professional Track students have completed the necessary internships and will grant approval for the associated reflective essays. All other requirements remain identical to those in the standard tracks in the concentrations.

Degrees with Honors in Engineering

Honors are granted by the University to students whose work in a field of concentration has demonstrated superior quality and culminated in an 'Honors Thesis of Distinction.' Honors recipients in the School of Engineering must meet the following criteria: (1) Demonstrate a strong academic record (60% A’s or “S with Distinction” in their concentration through the seventh semester); (2) Propose and execute an independent research project under the guidance of a faculty member; (3) Complete a written thesis to the satisfaction of the Honors Program Committee; (4) Give a scientific/technical presentation at the Undergraduate Research Symposium in the spring semester; and (5) Fulfill all deadlines for applying for or completing honors to the satisfaction of his/her research advisor and the Honors Program Committee.