This is a past course that has already concluded. If you are looking for a current course, please click here.
Welcome to Modern Computational Math! For course info and policies, please see the syllabus. For grades, log into Moodle. If you need help, contact Prof. Wright.
Prof. Wright's office hours in RMS 405: Mon. 10:30–11:30, Tues. 1:30–2:30, Wed. 8:00–9:00, Thurs 10:15–11:00, Fri. 2:00–3:00, whenever the door is open, or by appointment
Help sessions: Wednesdays, 7–8pm, in RNS 204
Jump to today
Jump to top
Do the following before next class:
- Complete the syllabus quiz.
- Watch the Hands-on Start to Mathematica video. Then look through the resources in the Fast Introduction for Math Students.
- Complete the assignment at the end of the Intro. Mathematica notebook. Upload your solutions to the three problem to Assignment 1 on Moodle.
Do the following before next class:
- Start the \(\pi\) Project. Implement two of the methods for approximating digits of \(\pi\).
- For an explanation of why the sum of reciprocals of squares converges to \(\pi^2/6\), watch this video. For an explanation of why the product formula from last time converges to \(\pi\), watch this video.
Do the following before next class:
- Finish the \(\pi\) Project.
Do the following before next class:
- Verify the identity \(F_n^2 - F_{n+r}F_{n-r} = (-1)^{n-r}F_r^2 \) for several values of \( r \) and lots of values of \( n \). Bring observations and questions to class on Monday.
Do the following before next class:
- Catalan's Identity says \(F_n^2 - F_{n+r}F_{n-r} = (-1)^{n-r}F_r^2 \). Verify this for at least three values of \(r > 2 \). For each value of \( r \), check at least 100 values of \( n \). Submit a Mathematica notebook containing your verifications to Assignment 2 on Moodle. Please put your name at the top of your notebook. (Note that this is an Assignment, not a Project.)
- Take a look at this paper, which gives various identities for the Pell numbers. Try to generate several other polynomial identities similar to those described in Proposition 1. For example, can you directly conjecture and verify the identity for \(n=11\)?
- Take a look at the Pell Project, which is due Friday.
Do the following before next class:
- Finish the Pell Project, which is due Friday.
Do the following before next class:
- Continue investigating sequences that arise when iterating the Collatz function or other functions.
- Submit at least three observations and three questions, arising from your investigation, to the Collatz Observations and Questions quiz on Moodle.
Monday
February 25
February 25
Iterated functions: logistic map and chaos
Do the following before next class:
- Begin the Iterated Functions Project, due Friday.
Wednesday
February 27
February 27
Iterated functions and fractals
Do the following before next class:
- For more information about periodic points of iterated functions, see this blog post about Sharkovsky's theorem.
- For more information about the Mandelbrot Set, see this Numberphile video with an explanation by Holly Krieger.
- Finish the Iterated Functions Project and submit your notebook to Moodle.
Do the following before next class:
- Read the paper The Mean-Median Map by Chamberland and Martelli. Answer the questions on this reading guide, and bring your answers to class on Monday.
- Continue computational investigation of the mean-median map. What do you observe? What do you wonder?
Do the following before next class:
- Finish modifying the function limitSeq to solve the problem encountered in class.
- Work on the Mean-Median Project, which is due Friday.
Do the following before next class:
- Note that there is no Wednesday evening help session this week. If you have questions, talk with Prof. Wright.
- Finish the Mean-Median Project and submit your notebook to Moodle.
Do the following before next class:
- Finish implementing the Sieve of Eratosthenes.
- Implement the Sieve of Sundaram. Bring your best shot at this to class on Monday.
- Read "Why prime numbers still fascinate matematicians, 2,300 years later" and "The Sequence of Prime Numbers" (JSTOR link, Moodle link). Answer the questions on this reading guide and bring your answers to class on Monday.
Do the following before next class:
- Finish implementing the Sieve of Sundaram.
- Begin the Primes Project, due Friday.
Do the following before next class:
- Finish the Primes Project and submit your notebook to Moodle.
- Watch this video introduction to RSA encryption.
- Choose two (secret) prime numbers of at least 30 digits. (Use your fermatPrime function to help with this!) Save these in a place where you can access them for the next week.
Do the following before next class:
- Read this blog post about RSA encryption.
- Complete the Mathematica notebook from today's class. Practice encrypting and decrypting numbers.
- Post your public key to the RSA Forum on Moodle. Next week, other people will use your public key to send you encrypted messages.
Monday
March 18
March 18
Encrypting text with RSA cryptography
Do the following before next class:
- Finish implementing the functions necessary to encrypt and decrypt text.
- Post your public key to the RSA Forum on Moodle, if you haven't done so already.
- Send and receive secure messages using the RSA Forum. Use your Mathematica code to encrypt and decrypt the messages.
- Work on the RSA Project.
Wednesday
March 20
March 20
Counting primes
Do the following before next class:
- Continue to send and receive secure messages using the RSA Forum.
- Finish the RSA Project and upload your notebook to Moodle.
- Read The Riemann Hypothesis, explained. Answer the questions on this reading guide and bring your answers to class on Friday. Reading guides will not be accepted after the start of class on Friday.
Have a great spring break! No class March 25 – 29.
Do the following before next class:
- Complete the four exercises in the Primes and the Zeta Function notebook from class on March 22. Make sure your name is in your notebook, and upload your notebook to Moodle for the Primes and Zeta Assignment.
- Think about what topic/questions you would like to investigate for the Mid-Semester Project. Look at some of the papers linked from the project document. Bring some ideas to class on Monday after break.
Monday
April 1
April 1
Introduction to Python
Do the following before next class:
- Decide what topic and questions you would like to investigate for the Mid-Semester Project. Also decide if you want to work with a partner.
- Finish at least the first four exercises in the Intro to Python notebook.
Wednesday
April 3
April 3
Yahtzee in Mathematica and Python
Do the following before next class:
- Finish implementing the Yahtzee simulation in Python.
- Work on your Mid-Semester Project.
Friday
April 5
April 5
Yahtzee in Python, and plotting with Matplotlib
Do the following before next class:
- Finish implementing the Yahtzee simulation in Python. Practice drawing a few plots with Matplotlib.
- Finish your Mid-Semester Project. If you have questions, email Prof. Wright.
Monday
April 8
April 8
Trouble simulation
Do the following before next class:
- Review the completed Python code for the Yahtzee simulation.
- Work on the Trouble Project, due Friday.
Do the following before next class:
- Finish investigating the three questions in the 1D random walks notebook. Bring two of your own questions about random walks to class on Friday.
- Finish the Trouble Project, due Friday.
Friday
April 12
April 12
Two-Dimensional Random walks
Do the following before next class:
- Finish investigating the first question in the 2D random walks notebook — when (or how often) does the 2D random walk return to the origin?
Do the following before next class:
- Work on the Random Walk Project, due Friday.
Do the following before next class:
- Finish the Random Walk Project, due Friday.
- Plan an algorithm to determines whether percolation occurs, as we started discussing in class. You don't need to implement your algorithm in code. Instead, make a plan on paper, and bring it to class on Friday.
Do the following before next class:
- Finish implementing the depth-first search algorithm to determine whether percolation occurs.
- Investigate how the probability of percolation depends on the parameters \(p\) and \(n\).
Monday
April 22
April 22
Finish percolation; begin Markov chains
Do the following before next class:
- Work on the Percolation Project, due Friday.
- Work through the Intro Markov Chains notebook. If you have questions, ask! The professor will assume you are familiar with the content of this notebook when class begins on Wednesday.
Wednesday
April 24
April 24
Markov chain inverse problem
Do the following before next class:
- Finish the Percolation Project, due Friday.
- Work on the assignment in the Markov Chain Inverse Problem notebook. Your solution to this is due on Monday.
Do the following before next class:
- Finish the assignment in the Markov Chain Inverse Problem notebook. Your solution to this is due on Monday (Moodle link).
- Work on the assignment in the Markov Chain Monte Carlo notebook. Your solution to this is due on Wednesday.
Monday
April 29
April 29
MCMC function minimization: simulated annealing
Do the following before next class:
- Finish the assignment in the Markov Chain Monte Carlo notebook. Your solution to this is due on Wednesday (Moodle link).
- Finish the exercise at the end of the Function Minimization notebook (not to be collected).
Wednesday
May 1
May 1
Combinatorial optimization via simulated annealing
Do the following before next class:
- Work on the Magic Squares Assignment (at the end of the Combinatorial Optimization notebook). Your solution is due Monday.
- Think about a topic (and optionally a partner) for the Final Project.
Do the following before next class:
- Finish the Magic Squares Assignment. Your solution is due Monday (Moodle link).
- Think about a topic (and optionally a partner) for the Final Project.
Do the following before next class:
- Work on the Traveling Salesperson Project (due Friday).
- Think about a topic (and optionally a partner) for the Final Project.
Do the following before next class:
- Finish the Traveling Salesperson Project.
- Decide on a topic (and optionally a partner) for the Final Project.
Friday
May 10
May 10
Introduction to computational geometry
Final projects
Final projects
Do the following before next class:
- Work on your Final Project.
Monday
May 13
May 13
Introduction to computational algebra
Final projects
Final projects
Do the following before next class:
- Work on your Final Project.
- Prepare 1–2 paragraphs describing what you have accomplished on your project, what remains to be done, and what questions you have.
Wednesday
May 15
May 15
Introduction to computational graph theory
Final projects
Final projects
Do the following before the final exam period.
- Finish your Final Project.
- Upload your files to Moodle.
- Prepare to give a brief presentation (no more than 5 minutes per person) about your project at the final exam period.
Saturday
May 18
May 18
2–4pm: Final presentations for Math 242 A
Tuesday
May 21
May 21
2–4pm: Final presentations for Math 242 B