This is the public support page for a mathematical programming course, taught this quarter in Mathematica by Ryan Tully-Doyle. As the course proceeds, I’ll be posting lecture notes and exercises here, in the form of Mathematica .nb files. The course is taught in Mathematica 12. The associated textbook for the course is Mathematica: A Problem Solving Approach by Roozbeh Hazrat (2010 edition), which is available on SpringerLink for those with institutional access.
The lectures are hosted on YouTube, located here: RTD Math.
Week 9
This week we’ll be covering some stuff that is broadly useful - plotting functions and solving equations.
Lecture 14
Associated notes in the Lecture 14 Notebook.
Lecture 15
Associated notes in the Lecture 15 Notebook.
Homework files
Week 8
This week, we’ll dive into linear algebra. The first lecture is on basic matrix manipulation. A second video covers more complex topics (block matrices, the singular value decomposition).
Lecture 12
Associated notes in the Lecture 12 Notebook.
Lecture 13
Associated notes in the Lecture 13 Notebook.
Homework files
Week 7
This week, we’re talking about recursive functions and memoization (a technique for making recursion efficient). This corresponds to Chapter 11 in the Hazrat text.
Lecture 11
Associated notes in the Lecture 11 Notebook.
Homework files
Week 6
This week, we’ll look at substitutions in expressions, rules, pattern matching, and functions with multiple definitions (depending on the pattern of the input).
Lecture 9
Associated notes in the Lecture 9 Notebook.
Lecture 10
Associated notes in the Lecture 10 Notebook.
Homework files
Week 5
This week is exam week! Test your knowledge with the following questions.
Exam Questions
Week 4
This week covers loops and the interaction between typical procedural approaches and Mathematica’s list manipulation. We’ll also see repeated function composition.
Lecture 7
Associated notes in the Lecture 7 Notebook.
Lecture 8
Associated notes in the Lecture 8 Notebook.
Homework files
Connections
Week 3
This week covers sums and products, how Mathematica handles infinity, and an introduction to the graphics functionality.
Lecture 5
Associated notes in the Lecture 3 Notebook.
Lecture 6
Associated notes in the Lecture 4 Notebook.
Homework files
Week 2
This week covers anonymous functions and changing the type of an object to manipulate it (in Mathematica, this is called changing heads).
Lecture 3
Associated notes in the Lecture 3 Notebook.
Lecture 4
Associated notes in the Lecture 4 Notebook.
Homework files
Week 1
In week 1, we’ll cover arithmetic, functions, anonymous functions, and list manipulation.
Lecture 1
Associated notes in the Lecture 1 Notebook
Lecture 2
Associated notes in the Lecture 2 Notebook