18.085 | Summer 2020 | Undergraduate
Computational Science and Engineering I

Instructor Insights

Instructor Insights

Below, Dr. Chengzhao “Richard” Zhang describes various aspects of how he taught the summer 2020 iteration of 18.085 Computational Science and Engineering I.

OCW: For the uninitiated, what is computational science and engineering? What kind of “big picture” understandings do you hope students will learn in the course?

Richard Zhang: In essence, computational science and engineering combines the rigor of mathematics, the power of computation, and the practical mindset of engineering. It’s a playground for theoretical mathematicians, an ideal stage of implementation for computer scientists, and a low-cost simulation tool to aid scientists and engineers in their research.

My philosophy of the subject is one of “practical rigor.” I want students to build first-principled thinking of mathematics and computation, while never losing sight of the applications and connections to their respective engineering disciplines. Students should know why the center-difference method for numerical differentiation is second-order. At the same time, they should be aware of how it’s applied in modern-day research in atmospheric science.

This philosophy follows very closely that of Professor Gil Strang and President Rafael Reif in his recent founding of MIT’s Schwarzman College of Computing. My respected mentor Prof. Strang is one of the frontrunners of modern computational science and engineering research and education. He’s a strong advocate of developing his teaching of rigorous mathematics around practical subjects, as is evident in his course 18.065: Matrix Methods in Data Analysis, Signal Processing, and Machine Learning. At the same time, President Reif, in forming the Schwarzman College, emphasizes the importance of training “bilingual” students, who are well-versed both in their own studies and in AI and computation.

"Connecting class materials with real-world applications is critical to the success of a student’s experience in this course."
— Chengzhao “Richard” Zhang

OCW: Tell us about the unique student population that enrolled in this course. How did their professional orientation shape how they approached the material?

Richard Zhang: The students who enrolled 18.085 over the summer—active duty Marine and Coast Guard officers who come to MIT to become naval engineers—are some of the most disciplined, professional, and communicative students that I’ve ever taught. Because of their non-academic background, they tended to approach the materials with practical, engineering insight, trying to relate the fundamental mathematics to their prior engineering experiences. These experiences helped deepen their appreciation and understanding of mathematics.

OCW: You mentioned Professor Gil Strang as one of your teaching mentors. What have you learned from him that you’ll take with you into future teaching positions?

Richard Zhang: Professor Strang is a model of dedication, passion, and lifelong commitment towards teaching mathematics and connecting math with various scientific and engineering disciplines. Even at the age of 86, he still drove forward to write a book and create the course 18.065 that connects machine learning with linear algebra. All of these qualities of Professor Strang’s are what I aspire to be as an instructor.

Most importantly though, Professor Strang truly cares about students. This is a rare quality of a mentor and instructor, and something that we deeply need. Society overemphasizes brilliance. But everyone is brilliant in a place like MIT; brilliance is a cheap commodity that’s no longer the sole judging criterion for a mentor. To quote Prof. Allan Adams from MIT Physics, “Find the mentors that are good to you, not just brilliant. Because brilliance is cheap, and good is special.”

I want to be as good a teacher as Professor Strang.

Read More/Read Less

OCW: You’ve noted that your teaching style aims to “make students realize that we are not just learning things in a vacuum and that everything in the course represents living, breathing, and evolving knowledge at the forefront of scientific and engineering research.” How do you implement this goal?

Richard Zhang: Connecting class materials with real-world applications is critical to the success of a student’s experience in this course. To that end, I always try to present connections between math and science/engineering via lectures and homework. When teaching second-order ordinary differential equations, for example, I relate them to the everyday experience of under-damping and over-damping systems, such as the door of a typical lecture room: when it shuts, it slams fast at the beginning before it slowly closes the gap. This is the exact behavior of an over-damped system; the springs are designed such that enough friction is introduced for the system to be over-damped.

OCW: Tell us about the role of guest speakers in the course.

Richard Zhang: I invited grad and visiting students from six different departments of MIT (Earth, Planetary and Atmospheric Sciences; Mathematics; Ocean Engineering; Mechanical Engineering; Urban Studies and Planning; and Civil Engineering) to give short talks on topics ranging from ODE modeling of ocean wave power generators to numerical differentiation for radar sensing to FEM modeling of fracture mechanics to Fourier transform in 5G technology.

It was extremely refreshing for students to see how the mathematics they learned in class are actually being used in real, cutting-edge research. It took quite a lot of work to put together a group of panelists with academic as well as gender diversity; nonetheless, diversity is very important.

OCW: What is the role of problem-solving in the course? How do you help students learn that skill?

Richard Zhang: Problem-solving in the course involves a combination of theoretical proofs, analytical calculations, and numerical implementation. The goal is for students to both develop first-principled thinking and code up and visualize results. Problem set solutions and sample codes are handed out and students are expected to study them for exams. While I want students to be independently driving the problem-solving process, I try to be there as much as possible via additional office hours and email to address their questions. For coding exercises, I typically lay out the framework and leave out critical lines for them to code up.

OCW: What else would you like to add about teaching 18.085 that we haven’t yet addressed?

Richard Zhang: These days, we see a lot of siloed disciplines, where theorists focus on rigor without much practical insight, while practitioners overuse heuristics without any deductive reasoning. The main purpose of 18.085 is to bridge the gap between theoretical mathematics and practical engineering, combining first-principled thinking with heuristics to produce theoretically robust and practically useful results.

Curriculum Information


Requirements Satisfied

18.085 can be applied toward a Bachelor’s of Science in Mathematics, but is not required.


Every semester

Student Information


21 students

Typical Student Background

As noted above, the students enrolled in this iteration of 18.085 were active duty Marine and Coast Guard officers studying to become naval engineers.


Grade Breakdown

Each student’s overall grade for the course is based on the higher of the grades generated by the following two grading schemes:

Scheme 1

  • 50% Homework; two lowest scores discarded
  • 25% Midterm exam
  • 25% Final exam

Scheme 2

  • 70% Homework; lowest score dropped
  • 15% Midterm exam
  • 15% Final exam

How Student Time Was Spent

During an average week, students were expected to spend 12 hours on the course, roughly divided as follows:

In class: 3 hours

Met 3 times per week for 1 hour per session; 29 sessions total; mandatory attendance

Out of class: 9 hours

Outside of class, students completed problem sets and studied for exams.

Course Info
As Taught In
Summer 2020
Learning Resource Types
assignment_turned_in Problem Sets with Solutions
grading Exams with Solutions
notes Lecture Notes
co_present Instructor Insights