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**