12.010 | Fall 2024 | Undergraduate

Computational Methods of Scientific Programming

Calendar

Lecture 1: Getting Started with Python and Programming Environment

Lecture 2: Hardware, Boolean Algebra, and Loops

Lecture 3: Array Storage and Data Structures

Lecture 4: Algorithms and Common Problems

Lecture 5: Input/Output and Program Design

Lecture 6: Solving Problems Numerically

Lecture 7: ODE Solutions

Lecture 8: Graphics

Problem set 1 due

Project description due

Lecture 9: Graphics (cont.) and GUIs

Lecture 10: Code Re-visits

Lecture 11: Data Analysis

Lecture 12: Libraries, Geopandas, and Xarray

Lecture 13: Outputting and Formatting Results

Lecture 14: Compiled Languages

Problem set 2 due

Lecture 15: Fortran 

Lecture 16: C/C++

Lecture 17: C/C++ (cont.)

Lecture 18: Finish C++, Classes in Python

Lecture 19: Julia 

Problem set 3 due

Lecture 20: Julia Objects, Multiple Dispatch

Lecture 21: Parallel Programming; Algorithms and Scaling; MPI

Lecture 22: Version Control and Software Management Practices

Project presentations

Lecture 23: Working with Large Data Files: NetCDF and Databases

Final project submission due

Course Info