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, http://www.abet.org. 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 http://www.abet.org/accreditation-criteria-policies-documents/

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 (https://ask.brown.edu/transfer_credits/information/index). 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 https://engineering.brown.edu/undergraduate/concentrations/concentration-options/study-abroad). 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 0030 | Introduction to Engineering | 1 |

or ENGN 0031 | Honors Introduction to Engineering | |

or ENGN 0032 | Introduction to Engineering: Design | |

ENGN 0040 | Engineering Statics and Dynamics | 1 |

ENGN 0510 | Electricity and Magnetism | 1 |

ENGN 0520 | Electrical Circuits and Signals | 1 |

APMA 1650 | Statistical Inference I | 1 |

or APMA 1655 | Honors Statistical Inference I | |

or CSCI 1450 | Advanced Introduction to Probability for Computing and Data Science | |

MATH 0190 | Single Variable Calculus, Part II (Physics/Engineering) | 1 |

or MATH 0100 | Single Variable Calculus, Part II | |

MATH 0200 | Multivariable Calculus (Physics/Engineering) | 1 |

or MATH 0180 | Multivariable Calculus | |

or MATH 0350 | Multivariable Calculus With Theory | |

CHEM 0330 | Equilibrium, Rate, and Structure ^{1} | 1 |

or ENGN 0410 | Materials Science | |

or NEUR 0010 | The Brain: An Introduction to Neuroscience | |

APMA 0350 | Applied Ordinary Differential Equations | 1 |

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 | ||

and | ||

Program Design with Data Structures and Algorithms | ||

OR | ||

Computer Science: An Integrated Introduction | ||

and | ||

Program Design with Data Structures and Algorithms | ||

OR | ||

Accelerated Introduction to Computer Science (plus one additional CSCI course subject to Concentration Advisor approval) | ||

OR | ||

Computing Foundations: Data ^{2} | ||

and | ||

Computing Foundations: Program Organization | ||

and | ||

Program Design with Data Structures and Algorithms | ||

2. Upper-Level Computer Engineering Curriculum: | ||

ENGN 1570 | Linear System Analysis | 1 |

ENGN 1630 | Digital Electronics Systems Design | 1 |

ENGN 1640 | Design of Computing Systems | 1 |

MATH 0520 | Linear Algebra | 1 |

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: ^{3} | 1 | |

Introduction to Computer Systems | ||

or CSCI 0300 | 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. ^{4} | 3 | |

Neuroengineering | ||

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 ^{6} | 1 | |

Embedded Microprocessor Design ^{5} | ||

or ENGN 1000 | Projects in Engineering Design I | |

or ENGN 1001 | Projects in Engineering Design II | |

4. General Education Requirement: At least four approved courses must be taken in humanities and social sciences | ||

Total Credits | 21 |

^{1} | Or Biology course beyond BIOL 0200 subject to Concentration Advisor approval |

^{2} | Subject to approval by the Concentration Advisor, the third upper-level elective may optionally be chosen from another department, such as CLPS, NEUR, PHYS or CHEM, if it has a significant quantitative physical science emphasis. |

^{3} | CSCI 1952Y cannot be used as a CS elective due to its overlap with ENGN 1640, which is a required course. |

^{4} | Students wishing to go directly from CSCI 0111 to CSCI 0200 (without CSCI 0112) will need to successfully complete additional exercises to receive an instructor override code for CSCI 0200. |

^{5} | ENGN 1650 cannot be counted as an elective and capstone simultaneously. It can only be either elective or capstone. |

^{6} | Subject to approval by the Concentration Advisor, an independent study course (ENGN 1972/ENGN 1973) may be used to fulfill the Engineering Capstone Design requirement. To qualify for such approval, the independent study project must: (1) contain a significant and definable design component; (2) be based on the knowledge and skills acquired in earlier course work, (3) incorporate appropriate engineering standards; and (4) address multiple realistic constraints. To request approval, please complete the online form available at https://engineering.brown.edu/undergraduate/concentrations/concentration-options/independent-study |

**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.