Math 124 - Programming for Mathematical Applications

UC Berkeley, Fall 2025


Course details


Lecture notes

Other books (Optional)

Various other readings


Computing Resources


Course Websites


Grading and policies


AI, Collaboration, and Resource Use Policy

In this course, your goal is to master the material, not just produce correct answers. For the homework and the projects, you are encouraged to learn from any available resource, including collaborating with classmates, consulting online materials (e.g., Stack Overflow), and using AI assistants (e.g., Gemini, ChatGPT). These are powerful tools for brainstorming, debugging, and understanding complex concepts. However, the fundamental rule is that the work you submit must be your own. You are responsible for understanding and being able to explain every line of your code from scratch.

Think of it this way: discussing algorithms with a friend is great, and asking an AI to explain an error is smart. However, simply copying a solution from any source without understanding it is academic dishonesty. Be aware that you will be tested on these concepts in the quizzes and the exams, where these resources and collaborators will not be available. The homework is your opportunity to practice and genuinely learn the material, so make sure you are the one doing the learning.


Schedule

Lec Date Topic Notes Other readings
1 Th 08/28 Introduction, notebooks, markdown, LaTeX
2 Tu 09/02 Basic Julia operations, variables, expressions 1.1-1.2 Think: 1,2
3 Th 09/04 Functions, for-loops 1.3-1.4 Think: 3,6,4
4 Tu 09/09 Conditional statements, iteration 1.5-1.6 Think: 5,7
5 Th 09/11 Arrays, plotting 2,3 Think: 10
6 Tu 09/16 Debugging 4 Think: (every chapter)
7 Th 09/18 Random number and Monte Carlo simulation 5 Insight: 6
8 Tu 09/23 More on arrays, vectorization 6 Julia: 19
9 Th 09/25 Recursion, divide-and-conquer algorithms 8 Insight: 14
10 Tu 09/30 Special Number Types 7 Julia: 6, 44.4
11 Th 10/02 Matrix operations, linear algebra 9 Julia: 77
12 Tu 10/07 Strings, File processing 10 Julia 7,21, Think: 8,11,14
13 Th 10/09 Floating-point, Algorithmic efficiency 18.1-18.2
14 Tu 10/14 Computational geometry 12
15 Th 10/16 Review
16 Tu 10/21 Midterm exam
17 Th 10/23 Computational geometry (continued) 12
18 Tu 10/28 Differential equations, dynamical systems 14
19 Th 10/30 Composite types and objects 11 Think: 15-17
20 Tu 11/04 Image processing algorithms 13 Insight: 12
21 Th 11/06 Graphs, data structures and algorithms 15
Tu 11/11 Veteran’s Day - No lecture
22 Th 11/13 Graphs, data structures and algorithms 15
23 Tu 11/18 Sparse matrices, the Google PageRank algorithm 16
24 Th 11/20 Symbolic algebra 1 17
25 Tu 11/25 Symbolic algebra 2 17
Th 11/27 Thanksgiving Day - No lecture
26 Tu 12/02 Optimization, packages and applications 18 Insight: 15
27 Th 12/04 Review
RRR week 12/8-12/12
Th 12/17 Final exam

Homework, projects, and quizzes

To open the notebooks in the datahub: Download the file to your computer (make sure the extension ipynb is unchanged) and then upload it to the datahub.

Homework Quiz Project Due date
1 Wed 9/10
2 1 Wed 9/17
3 Wed 9/24
1 Fri 9/26
4 2 Wed 10/1
5 Wed 10/8
6 3 Wed 10/15
2 Fri 10/17
7 Wed 10/29
8 4 Wed 11/5
3 Fri 11/7
9 Wed 11/12
10 5 Wed 11/19
4 Fri 11/21
11 Wed 11/26
12 6 Wed 12/3
5 Fri 12/5

GSIs and Discussion Sections

Sec Time Room GSI E-mail (@berkeley.edu) Office hours
203 W 12 - 1 B51 Hildebrand Wanzhou Lei wanzhou_lei@berkeley.edu Tue 1-3pm in 828 Evans
206 W 2 - 3 71 Evans Wanzhou Lei wanzhou_lei@berkeley.edu Tue 1-3pm in 828 Evans