Welcome to Modern Computational Math! For course info and policies, please see the syllabus. For grades, log into Moodle. If you need help, ask a question on Piazza or contact Prof. Wright.

**Prof. Wright's office hours in RMS 405:** Mon. 8:00–8:55 & 2:15–3:15, Wed. 2:30–3:30, Thurs 9:30–10:30, Fri. 10:30–11:30, whenever the door is open, or by appointment

**Help sessions:** Thursdays 7–8pm in RNS 206

Jump to today

Friday

February 9

February 9

Introduction

Mathematica basics — Programming in Mathematica notebook

Mathematica basics — Programming in Mathematica notebook

Do the following before next class:

- Complete the syllabus quiz.
- Complete the Piazza enrollment form.
- Watch the Hands-on Start to Mathematica video. Then look through the resources in the Fast Introduction for Math Students.
- Finish working through the Programming in Mathematica notebook. You don't have to turn in anything for this.

Monday

February 12

February 12

Fibonacci numbers

Do the following before next class:

- Make sure you understand the code in the Mathematica notebook from class today. If you are confused about something, ask a question on Piazza!
- Cassini's Identity says \(F_n^2 - F_{n+1}F_{n-1} = (-1)^{n-1} \). Use Mathematica to verify this for the first 1000 (or so) Fibonacci numbers. Bring your best attempt at this to class on Wednesday.
- Read Keith Devlin's blog post How today’s pros solve math problems: Part 1 and answer the questions on the reading guide. Bring your completed reading guide to class on Wednesday.

Wednesday

February 14

February 14

Fibonacci numbers

Mathematica notebook: day3_Fibonacci_properties.nb

Mathematica notebook: day3_Fibonacci_properties.nb

Do the following before next class:

- Work on the Fibonacci Project. It's due on Monday, but do as much as you can by Friday, so that you can ask questions if you get confused or stuck. When you finish, upload your notebook to Moodle.

Friday

February 16

February 16

Do the following before next class:

- Finish the Fibonacci Project and upload your notebook to Moodle.
- 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\)?

Do the following before next class:

- Begin the Pell Project. It's due Friday, but don't wait until Thursday to start!

Do the following before next class:

- Finish the Pell Project and upload your notebook to Moodle.

Friday

February 23

February 23

Do the following before next class:

- Begin the Collatz Project. It's due Wednesday, but it would be wise to start over the weekend.

Monday

February 26

February 26

Mean-median map

Do the following before next class:

- Finish the Collatz Project and upload your notebook to Moodle.
- Read "The Mean-Median Map" and answer the questions on this reading guide. Bring your completed reading guide to class on Wednesday.

Wednesday

February 28

February 28

Mean-median map

Mathematica notebook: day9_MeanMedian.nb

Mathematica notebook: day9_MeanMedian.nb

Do the following before next class:

- Begin the Mean-Median Project.

Friday

March 2

March 2

Mean-median map

Do the following before next class:

- Finish the Mean-Median Project and upload your notebook to Moodle.

Monday

March 5

March 5

Do the following before next class:

- Think about the question "If someone gives you a positive integer \(n\), how would you determine whether \(n\) is prime?"
- Write down a simple algorithm to answer the previous question. Bring your algorithm to class on Wednesday.
- Finish the Mean-Median Project and upload your notebook to Moodle.

Wednesday

March 7

March 7

Do the following before next class:

- Implement the Sieve of Eratosthenes in Mathematica.
- Begin the Prime Sieves Project.

Friday

March 9

March 9

Do the following before next class:

- Work on the Prime Sieves Project.

Monday

March 12

March 12

Prime sieves

Do the following before next class:

- Finish the Prime Sieves Project and upload your notebook to Moodle.

Wednesday

March 14

March 14

Do the following before next class:

- Work on the π Project.

Friday

March 16

March 16

Do the following before next class:

- Finish the π Project and upload your notebook to Moodle.
- Implement the FermatPrime module from the in-class notebook.
- Watch this video introduction to RSA encryption.

Monday

March 19

March 19

Mathematics of RSA cryptography

Starter notebook

Starter notebook

Do the following before next class:

- Complete the notebook from today's class. Use it to encrypt and decrypt numbers.
- Post your public key to the RSA Forum on Moodle, so that others can send you secure messages.
- Watch this video introduction to RSA encryption, if you haven't done so already.

Wednesday

March 21

March 21

Do the following before next class:

- Send and receive secure messages via the RSA Forum on Moodle. Use your Mathematica code to encrypt and decrypt the messages.
- Complete the RSA Project, using the RSA Project notebook. Upload your notebook to Moodle.

Friday

March 23

March 23

Prime patterns and the Riemann zeta function

Mathematica notebook

Mathematica notebook

If you want to learn more about the Riemann zeta function, watch these two videos by 3Blue1Brown: Visualizing the Riemann zeta function and analytic continuation and Pi hiding in prime regularities.

Have a great spring break! No class March 26 – April 2.

Do the following before next class:

- Start thinking about your topic for the Mid-semester Project.
- Check that you have R (version 3.4.0 or newer) and RStudio (desktop, not server) installed on your computer. R is available from the Comprehensive R Archive Network (CRAN), and RStudio is available here.

Wednesday

April 4

April 4

R and RStudio

R script file for class

R script file for class

Do the following before next class:

- Finish working through the R script file from class. If there is something you don't understand, ask a question!
- Choose a topic (and a group, if you want) for the Mid-semester Project.

Friday

April 6

April 6

Yahtzee in Mathematica and R

R scripts: Probability in R, Yahtzee starter; Yahtzee Mathematica notebook

R scripts: Probability in R, Yahtzee starter; Yahtzee Mathematica notebook

Do the following before next class:

- Finish implementing your Yahtzee simulation in R (here is a complete implementation), and compare with the Mathematica implementation above.
- Work on your Mid-semester Project.

Monday

April 9

April 9

Do the following before next class:

- Finish your Mid-semester Project and upload your Mathematica notebook to Moodle.

Wednesday

April 11

April 11

Do the following before next class:

- Begin work on the Trouble Project (due next Wednesday).
- Read through this tutorial on R Markdown: knitr in a knutshell

Friday

April 13

April 13

Do the following before next class:

- Work on the Trouble Project.
- Review the R Markdown Cheat Sheet and refer to it when you write R Markdown.

Monday

April 16

April 16

Do the following before next class:

- Finish the first two exercises in the R Markdown file from class.
- Finish the Trouble Project and upload your
*Mathematica*notebook or HTML or PDF file (knit from R Markdown) to Moodle.

Wednesday

April 18

April 18

Do the following before next class:

- Finish the assignment in the Mini Monopoly exploration (you don't have to hand it in)
- Read throug the paper
*Take a Walk on the Boardwalk*by Abbott and Richey. Our next project will be to verify results from this paper.

Friday

April 20

April 20

Do the following before next class:

- Work on the Monopoly Project (due next Friday).

Monday

April 23

April 23

Monopoly

Do the following before next class:

- Work on the Monopoly Project (due Friday).

Wednesday

April 25

April 25

Do the following before next class:

- Finish the Monopoly Project and submit your HTML file to Moodle.
- Work on the assignment in the Markov chain inverse file. When finished, submit your file to Moodle. (This is due Monday.)

Friday

April 27

April 27

Do the following before next class:

- Finish the assignment in the Markov chain inverse file. Submit your file to Moodle.
- Work on the assignment in the MCMC file. When finished, submit your file to Moodle. (This is due Wednesday).

Monday

April 30

April 30

Do the following before next class:

- Finish the assignment in the MCMC file. Submit your file to Moodle.
- Finish the exercise in the Minimize Function file (not to be collected).

Wednesday

May 2

May 2

Do the following before next class:

- Make sure you are caught up with the MCMC function minimization.
- Work on the exercise and assignment in the Optimization file. (The Magic Square assigment is due Monday.)
- Think about a topic and (optionally) a group for the Final Project.

Friday

May 4

May 4

Magic Squares

Do the following before next class:

- Finish the Magic Square assignment (in the Optimization file) and submit your solution to Moodle.
- Think about a topic and (optionally) a group for the Final Project.

Monday

May 7

May 7

Traveling Salesperson Problem (TSP)

TSP PDF file

TSP PDF file

Do the following before next class:

- Finish the Magic Square assignment (in the Optimization file) and submit your solution to Moodle.
- Work on the Traveling Salesperson Project.
- Think about a topic and (optionally) a group for the Final Project.

Wednesday

May 9

May 9

Traveling Salesperson Problem (TSP)

TSP PDF file

TSP PDF file

Do the following before next class:

- Work on the Traveling Salesperson Project. When you finish, upload your HTML or PDF file to Moodle.
- Decide on a topic and (optionally) a group for the Final Project.

Friday

May 11

May 11

Work on final project

Do the following before next class:

- Finish the Traveling Salesperson Project and upload your HTML or PDF file to Moodle.
- Work on your Final Project.

Monday

May 14

May 14

Work on final project

Do the following before next class:

- Work on your Final Project.
- Prepare in 1–2 paragraphs describing what you have accomplished on your project, what remains to do, and what questions you have.

Wednesday

May 16

May 16

Work on final project

Finish your Final Project. Upload your Mathematica Notebook or HTML/PDF file (knit from R Markdown) to Moodle. Prepare your presentation for the final exam time period.

Tuesday

May 22

May 22

**2–4pm**: Final projects due, presentation time for Math 242

**B**

Wednesday

May 23

May 23

**2–4pm**: Final projects due, presentation time for Math 242

**A**