Matthew L. Wright
Associate Professor, St. Olaf College

## MATH 384 ⋅ Spring 2024

Top
Today
Bottom
In the Wild Earn a Token
Do the following before the first class:
• Complete the Introductory Survey.
• Install Mathematica on your computer. If you've already installed Mathematica, open it up and check that your license key is still active. You might be prompted to upgrade to the most recent version. For assistance, see this IT Help Desk page.
Thursday
February 8
Course introduction; Markov chains
Do the following before next class:
• Complete the Introductory Survey, if you haven't done so already.
• Read Section 6.1 (pages 263–272) of Computational Mathematics.
• Complete the Exercises 6.6 and 6.7 on page 271 of Computational Mathematics. Prepare your solutions in a computational notebook (Mathematica, or a different language if you prefer). Make sure your work is complete and clearly explained. Submit your notebook to the Markov Chains assignment on Moodle.
Tuesday
February 13
Markov chain Monte Carlo (MCMC) sampling
Do the following before next class:
• Read Section 6.2 (pages 272–283) of Computational Mathematics.
• Complete the Exercises 6.12 and 6.13 on page 281 of Computational Mathematics. Prepare your solutions in a computational notebook (Mathematica, or a different language if you prefer). Make sure your work is complete and clearly explained. Submit your notebook to the Markov Chain Sampling assignment on Moodle.
Thursday
February 15
MCMC sampling from large state spaces
Do the following before next class:
• Read Section 6.3 (pages 283–293) of Computational Mathematics.
• Complete Practice 6.16 and Exercise 6.17 (pages 291-292) in Computational Mathematics. Prepare your solutions in a computational notebook (Mathematica, or a different language if you prefer). Make sure your work is complete and clearly explained. Submit your notebook to the MCMC sampling from large state spaces assignment on Moodle.
• Look back over Sections 6.1–6.3 in the Computational Mathematics text. What makes sense in these sections? What do you find to be confusing? What questions do you have? Bring some thoughts to share in class on Tuesday.
Tuesday
February 20
MCMC Optimization and Simulated Annealing
Do the following before next class:
• From Computational Mathematics, read Section 6.4 (pages 293–299) and the following portions of Section 6.5: from the start of the section on page 299 to the Bin Packing heading on page 303; skip the Bin Packing subsection; then read from the start of the Magic Squares subsection on page 305 through Practice 6.30.
• Complete Exercise 6.27 and Practice 6.30 in Computational Mathematics. Prepare your solutions in a computational notebook (Mathematica, or a different language if you prefer). Make sure your work is complete and clearly explained. Submit your notebook to the MCMC simulated annealing assignment on Moodle.
Thursday
February 22
Simulated annealing
Do the following before next class:
• Read the "Magic Squares" subsection on pages 305–307 of Computational Mathematics.
• Complete the following two practice problems:
• Exercise 6.33 in Computational Mathematics. For this, you may modify code from class.
• Compare at least two different objective functions for finding magic squares ($$4 \times 4$$ or larger). You may use objective functions listed on page 306 in the text, or other functions of your choice. On average, how many iterations are required to find a magic square with each function?
Submit your work to the Magic squares assignment on Moodle.
• Read the requirements for the Bin Packing Project. Make a plan for using simulated annealing to solve the bin packing problem. Begin implementing your algorithm and exploring its effectiveness.
Tuesday
February 27
Computational complexity
Do the following before next class:
• To be announced...
Thursday
February 29
Computational complexity
Do the following before next class:
• To be announced...
Tuesday
March 5
Computational graph theory
Do the following before next class:
• To be announced...
Thursday
March 7
Computational graph theory
Do the following before next class:
• To be announced...
Tuesday
March 12
Computational graph theory
Do the following before next class:
• To be announced...
Thursday
March 14
Computational graph theory
Do the following before next class:
• To be announced...
Tuesday
March 19
Computational graph theory
Do the following before next class:
• To be announced...
Thursday
March 21
Computational graph theory
Have a great spring break! No class March 25–April 1.
Tuesday
April 2
To be announced...
Do the following before next class:
• To be announced...
Thursday
April 4
To be announced...
Do the following before next class:
• To be announced...
Tuesday
April 9
To be announced...
Do the following before next class:
• To be announced...
Thursday
April 11
To be announced...
Do the following before next class:
• To be announced...
Tuesday
April 16
To be announced...
Do the following before next class:
• To be announced...
Thursday
April 18
To be announced...
Do the following before next class:
• To be announced...
Tuesday
April 23
To be announced...
Do the following before next class:
• To be announced...
Thursday
April 25
To be announced...
Do the following before next class:
• To be announced...
Tuesday
April 30
To be announced...
Do the following before next class:
• To be announced...
Thursday
May 2
To be announced...
Do the following before next class:
• To be announced...
Tuesday
May 7
To be announced...
Do the following before next class:
• To be announced...
Thursday
May 9
Final projects
Do the following before next class:
• To be announced...
Tuesday
May 14
Final projects
We've made it to the end of the semester! A few last things to do:
• To be announced...
Thursday
May 16
Final Presentations 9:00–11:00am