Skip to main content
Version: 2022

👋 Hi there!

This is the website for MIT course 3.029 as taught in the spring of 2022. The full name of the course is Mathematics and Computational Thinking for Materials Scientists and Engineers I, and this is exactly what we hope to achieve this semester -- that is, introduce you to a rigorous (and fun) way of approaching your MSE courses and research using mathematics, computation, and visualization.

We will be drawing examples from concepts you have seen in your previous MSE courses (notably, stucture concepts from 3.010), courses you are taking concurrently (notably, thermodynamics concepts from 3.020), and courses you will take in subsequent semesters (notably, solid-state concepts from 3.033).

To be clear -- this is a tall order. It means that, at times, you will be asked to code and visualize concepts that are new to you, and we understand this is challenging. We ask that you trust us when we say this approach will bear fruit, if not by the end of this semester then by the time you see these concepts again in your lecture-based courses. On our end, we promise to put great effort and passion in teaching, and provide you with the necessary resources to succeed!


There are three main ways in which we'll communicate for this class:

  • Website: Main access point. Here, we will post the reading/lecture notebooks, as well as post any announcements.
  • Canvas: We will use this to submit/grade assignments.
  • Slack: To engage with the class outside of lecture hours.

Teaching Staff

Dr. Georgios Varnavides
George is a graduate student researcher who recently defended his PhD thesis co-advised by Prof. Narang (Harvard, SEAS) and Prof. Anikeeva (DMSE). George was an undergraduate in DMSE and took the predecessor to this class 3.016 -- so he understands the challenges and merits such an ambitious class poses.

His roles in 3.029 include:

  • Preparing reading materials and assignents
  • Delivering lectures
  • Holding office hours and answering questions via Slack/email

Office hours: Mondays 4-5pm, 36-705
email: gvarnavi [at] mit [dot] edu
Preferred pronouns: he/him, and thank you for asking!

Prof. Elsa Olivetti
Elsa is the Esther and Harold E. Edgerton Associate Professor in Materials Science and Engineering. Her research focuses on improving the environmental and economic sustainability of materials in the context of rapid-expanding global demand.

Her roles in 3.029 include:

  • Supporting teaching team
  • Linking to the rest of the sophomore curriculum
  • Answering questions via Slack/email

Office hours: By appointment
email: elsao [at] mit [dot] edu


There will be no exams in 3.029. The grades will be determined from a combination of classroom participation, homework assignments, and final project according to the breakdown:

  • 55% problem sets (approximately biweekly)
  • 35% final project and presentation
  • 10% class participation.

Problem sets will be submitted electronically on the 3.029 canvas page. Unless previous arrangements are made, late problem sets will be accepted for 1 week after the initial due date with a 50% penalty.

Collaboration Policy

You should try and make a reasonable effort to solve the first few problem sets on your own -- computational thinking is an acquired skill so we want to make sure you give yourself the opportunity to find the most effective way to learn it. For some of you, the most effective way might be by working in small groups. This is OK, as long as all students contribute and understand all parts of the assignment, i.e. you are not allowed to "divvy-up" the assignment. Even if you work with others, you should write-up and submit your own solutions, indicating the names of any potential collaborators.


We hope you are as excited as we are to be returning to in-person instruction! 3.029 lectures will take place Mondays and Wednesdays 1:00pm-2:30pm in room 4-261. Of-course, we understand there might be times when you can't attend in-person for personal or health reasons. As such, all lectures will additionally be recorded and uploaded on the 3.029 canvas page.

Want More?

In addition to lectures, we will be piloting two optional regularly-scheduled sessions, every Tuesday 4-5pm in 8-425:

  • Data-Visualization Hour (biweekly, starting 02/10)
    We will visualize raw datasets from recent materials science journal articles and see if we can a) arrive at the same conclusions as the authors and b) uncover more facets of the dataset!
  • Show and Tell (biweekly, starting 02/17)
    Reading code others have written can be just as effective as writing code. In these sessions, you are encouraged to bring a blog or stack-exchange post you saw recently which inspired you and we will dissect the code together!

You should not feel pressured to join these -- we won't be covering concepts directly related to the problem sets, nor will attendance in these count towards your class participation grade.

Programming Languages

While there are many great programming and scripting languages to choose from, 3.029 will be taught predominantly using the Wolfram Language. This choice is partly due to the following reasons (aside from the instructors' familiarity with the language):

  • Ease of prototyping (and learning) code
  • Built-in (high-level) visualization functions
  • The interactive notebook format compliments the way we prototype and think computationally

Keen readers will notice these benefits are not unique to the Wolfram Language, and we agree! If there's sufficient interest, we will be happy to show you other interactive notebook environments, such as Jupyter for Python/Julia, and ObservableHQ for Javascript.

Installation Instructions

You can get a free academic license for the Wolfram Language's desktop software, Mathematica, following IST's instructions here. If you don't have access to an academic license, you can sign up for a free Wolfram Cloud license here. We will quickly go over these on the first day of class.

Accessibility and Diversity Statement

We are commited to providing an inclusive environment which is conducive to learning for all students. If you have a disability or other conditions that might require accommodations or modifications of the course procedures, we ask that you inform us early in the semester so we can make the appropriate accommodations.

We believe that every individual has the right to be treated equally and with dignity. This includes individuals of all backgrounds, belief, ethnicity, national origin, gender expression, sexual orientation, physical characteristics, religious and political affiliations, age, ability, and other visible and non-visible differences.

The classroom is an inclusive space for learning where we value a diversity of thoughts, perspectives and experiences. You are expected to treat everyone with respect and dignity during your interactions and to be welcoming, fair, and considerate. Similarly, you can expect to be treated in the same manner. If you feel that we are not living up to this pledge, please speak directly to one of the instructors or to anyone else who you believe can resolve the problem in a fair and confidential manner.

(Tentative) Schedule of Topics

WeekMonday LectureTuesday SessionWednesday LectureAssignments
01/31 - 02/04Intro & Simple Pendulum-Hamiltonian Mechanics-
02/07 - 02/11Lattice DynamicsData-Viz HourVdW Gas - Equation of StateP1 Out: 02/07
02/14 - 02/18Helmholtz Common TangentCode Show & TellLegendre TransformationsP1 Due: 02/16
P2 Out: 02/18
02/21 - 02/25Note: Tues 02/22 (Pres day)
Thermodynamic Stability
Data-Viz HourPhysical Properties of Crystals I-
02/28 - 03/04Physical Properties of Crystals IICode Show & TellPolymer StatisticsP2 Due: 03/04
03/07 - 03/11Polymer ReptationData-Viz HourStep-Growth PolymerizationP3 Out: 03/09
03/14 - 03/18Molecular DynamicsCode Show & TellSolution ModelsP3 Due: 03/18
03/21 - 03/25N/A (Spring Break)N/A (Spring Break)N/A (Spring Break)-
03/28 - 04/01Common Tangent ConstructionData-Viz HourChemical Phase DiagramsP4 Out: 03/30
04/04 - 04/08Surface EnergyCode Show & TellWulff Construction-
04/11 - 04/15Statistical Mechanics IData-Viz HourStatistical Mechanics IIP4 Due: 04/13
P5 Out: 04/13
04/18 - 04/22N/A (Patriots' Day)Code Show & TellKinetic Monte Carlo-
04/25 - 04/29Order-Disorder TransformationsData-Viz HourFourier Series & TransformsP5 Due: 04/27
05/02 - 05/06Diffraction & ImagingCode Show & TellFinal Presentations-
05/09 - 05/13Students' Choice--Final Projects Due: 05/09