Brown University School of Engineering

Starting in Engineering

Suggested Courses for First-Year Engineering Students

Everyone comes to Brown with a different background and aspirations. The suggestions on this page are intended only to help you to understand some of your options. There are many ways to start the engineering curriculum, and your freshman advisor will work with you to design a program that fits your goals.

For first semester courses you could consider taking:

  • ENGN0030 (Introduction to Engineering)/ENGN0031 (Honors Introduction to Engineering)
  • A mathematics course (eg MA0100, 0170, 0190, 0200)
  • Either a computer science course (eg CSCI0150 0170 or 0190), a chemistry course (eg CHEM0330), or a neuroscience course (eg NEUR 0100) depending on your interests
  • An elective from the humanities and social sciences

For second semester courses you could consider taking:

  • ENGN0040 (Dynamics and Vibrations) or ENGN0520 (Circuits and Signals)
  • A mathematics course (eg MA0180, 0200, 0540, or APMA0330)
  • Either a computer science course (eg CSCI0040, 0160, 0180), a biology course (eg. BIOL0200), or a chemistry course (eg CHEM0330 or 0350), depending on your interests
  • An elective from the humanities and social sciences

Some brief information about these courses follows. For more detailed information about the engineering curriculum and requirements, please follow these links:

ENGN0030/ENGN0031: (Introduction to Engineering/Honors Introduction to Engineering), is the first course in the engineering core curriculum and is required of all engineering concentrators. The purpose of the course is to introduce students to the profession of engineering and the important role engineers play in society. The course begins with the consideration of engineering design and introduces a number of topics and tools that are fundamental to engineering.  These include vectors, computer aided design (SolidWorks), and basic programming (Matlab). Particular attention is then focused on analysis of static structures, but topics also include professional ethics and the social responsibility of engineers.

ENGN 0030 should be taken by first-year students considering a concentration in engineering, students interested in the entrepreneurship curriculum, as well as students just curious about engineering and design. Students should be enrolled in MATH 0100 or higher.

Students should enroll in ENGN 0031 if they are enrolled in MATH 0190 (or an equivalent or higher level math course) and have completed AP Physics (or equivalent). Any questions on placement can be addressed to Prof Haberstroh ( 

ENGN0030 and 0031 will meet separately for lectures on Monday, Wednesday, and Friday from 1:00 - 1:50. In addition, students are required to attend one sections each week. The purpose of ENGN0030 sections is to go over hands-on problems associated with the lecture material, and to integrate design content into this material. 

ENGN 0031 sections will introduce scientific computing with statics as a primary source for applications. Using MATLAB as a programming language, topics covered in section include: variables, decision statements, looping statements, functions and recursion, strings and data structures, complexity and algorithm analysis, advanced visualization, and File I/O. Programming examples and assignments for applications in statics, numerical optimization and combinatorial optimization are included. Because of the Matlab focus in ENGN0031 section, students pursuing concentrations in Mechanical, Electrical or Materials Engineering who successfully complete this Honors course may substitute an approved Engineering/Computer Science course for CSCI 0040.

Finally, all students (whether registered for ENGN0030 or ENGN0031) will be required to complete a set of training modules and three design projects in the Brown Design Workshop. These will all be performed as team-based activities (across the two classes), and led by an undergraduate mentor.

ENGN0040: (Introduction to dynamics and vibrations) covers Newtonian physics and its applications in engineering. You also learn how to use the computer program MATLAB; and complete four design projects. MA0200 is a co-requisite; if you are following a different math sequence you can request an over-ride from the course instructor.

ENGN0520: (Circuits and Signals) covers electrical circuits and their applications. It makes extensive use of differential equations. ENG0520 is a good choice if you have a strong interest in computer engineering or electrical engineering, and took MATH0200 in your first semester.

Math is likely to be of interest to anyone considering engineering. Four math/applied math courses are required for an engineering Sc.B., and many engineering courses have mathematics prerequisites. You can select a course that fits your background and interests. The Department of Mathematics has a website that will help you choose the right starting point. Your options include:

  • MATH 0190/0170 is taken by many engineering students. It covers vectors; calculus; and infinite series. MATH 0190 is specifically designed for engineering and physics students, but 0170 is fine too.
  • MATH 0200/0180: covers multivariable calculus. More advanced students (e.g. those with 4 or 5 on the BC exam) often start in this course.
  • MATH 0100: is an intermediate calculus course. This class is a good choice if you have only one semester of calculus, or do not feel ready for MA0190/0170. If you start in MATH0100 you can move on to MATH0200 or 0180 in second semester.
  • MATH 0090: Take this course if you have not yet taken any calculus.
  • MATH 0350: A more theoretical and challenging calculus course for students with special interest in math.
  • MATH 0520/0540 (linear algebra) or APMA 0330 (differential equations) may be of interest if you have taken university level calculus courses already.

Note that MA0100 or higher is a pre-requisite for EN0030. If you start in MA0090 you should use your first year to strengthen your math. You could also consider taking other chemistry and computer science courses; and can start the engineering sequence in sophomore year. You will still have plenty of time to complete the engineering requirements.

Chemistry is also a very useful course for engineers. It is required (or meets a requirement) for all engineering concentrations. The Chemistry department has a useful website that can help you choose and enroll in the best course. Briefly:

  • CHEM 0330 (equilibrium, rate and structure) is the recommended course for engineers, but you must meet some prerequisites to enroll in this course (see the instructions from the chemistry department for details). Briefly, to enroll in CHEM0330, you must either:
    • Have a score of 4 or 5 on AP chemistry, or
    • Pass the chemistry placement exam (Details and registration). The test is not hard, but you will find it helpful to spend some time reviewing chemistry during orientation week to make sure you get a good score.
    • Pass CHEM 0100 (which can be taken online during the summer)

    If you have advanced chemistry (A levels; a prior University course in chemistry, or IB) you can enroll in a higher level course. If you have no chemistry you can enroll in CHEM0100, but note that CHEM0100 cannot be used to meet concentration requirements in engineering.

  • CHEM 0350 (Organic Chemistry) is often taken in the first year by engineering students interested in biomedical engineering; chemical and bi0medical engineering; as well as pre-medical students.

Computer Science: Programming skills are essential for all engineers, and if you are interested in computer engineering or computer science, you will certainly want to start taking CSCI courses in your first year. The Department of Computer Science offers guidelines to help you select computer science courses. Some good courses to consider include:

  • CSCI0150/0160 or CSCI0170/0180 or CSCI0190 are intended to provide a rigorous introduction to computer science and programming for students with a special interest in the subject. They are required for students interested in computer engineering. All engineers will find the material in these courses very valuable.
  • CSCI0040 is intended for students in engineering and the sciences who want to learn how to program (primarily in Python, with some additional coverage of MATLAB).
  • ENGN0031 (Honors Introduction to Engineering) is intended for students in engineering who want to learn how to program (primarily in MATLAB). Students pursuing concentrations in mechanical, electrical or materials engineering who complete the honors course successfully may substitute an approved engineering or computer science course in place of CSCI 0040.

Biology is playing an increasingly important role in all areas of engineering. If you are interested in biomedical engineering, biology, or the bio-related tracks of the other engineering programs, you will probably be hoping to start taking biology courses during your first year. The biology department offers guidelines for selecting biology courses. Your options include:

  • NEUR 0010 The Brain: An Introduction to Neuroscience
  • BIOL 0200 The Foundations of Living Systems
  • A high score in AP Biology usually allows you to place out of BIOL 0200.

Make sure you discuss your choices carefully with your advisor to ensure that you prepare correctly, leave yourself maximum flexibility, and preferably are not registered for a semester filled with only heavy math and science courses.