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.
Office hours: Mon. 9–10, Tues. 10–11, Wed. 10:30–11:30, Thurs. 1–2, Fri. 9–10 (see Moodle for the Zoom link)
Help sessions: Mon., Wed., and Thurs. 8–9pm (see Moodle for the link)
- Complete the Introductory Survey.
- Watch the Hands-On Start to Mathematica video.
- 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.
February 15
- Complete the syllabus quiz.
- Read the following pages about the Wolfram Language: Fractions & Decimals, Variables & Functions, Lists, Iterators, and Assignments.
- Complete Intro Mathematica assignment. Upload your solution notebook to Moodle.
February 17
- Watch this video, which explains why the sum of reciprocals of squares converges to \(\pi^2/6\).
- Start the \(\pi\) Project (due
MondayWednesday). Implement at least one of the methods for approximating digits of \(\pi\) before Friday's class. Also look over the sample project report. - Complete Mathematica Quiz 1 (on Moodle).
- Optional bonus: Watch this video to learn why the product formula from the Intro Mathematica assignment converges to \(\pi\).
February 19
- Read How to Create Lists and How to Get Elements of Lists from the Wolfram language documentation.
- Work on the \(\pi\) Project. It's now due Wednesday, but try to make as much progress as you can this weekend, and ask questions on Monday. Prepare a Mathematica notebook that contains your code and discussion. Pay attention to the grading rubric in the assignment file and refer to the sample project report.
- Watch The magic of Fibonacci numbers, a 6-minute TED talk by Arthur Benjamin.
- Finish the \(\pi\) Project. Pay attention to the grading rubric in the assignment file and refer to the sample project report. Submit your notebook to the Pi Project on Moodle.
- Investigate \( F_n^2 - F_{n+1}F_{n-1} \), where \( F_n \) is the \(n\)th Fibonacci number. Evaluate this quantity for lots of values of \(n\). What pattern do you observe?
February 24
- 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 \).
- Vajda's identity says \(F_{n+i}F_{n+j} - F_nF_{n+i+j} = (-1)^n F_i F_j \). Verify this for at least six pairs \(i,j\). For each pair \(i,j\), check at least 100 values of \(n\).
- Submit a Mathematica notebook containing your verifications of Catalan's and Vajda's identities to the Fibonacci Assignment on Moodle. Please put your name at the top of your notebook. (Note that this is an Assignment, not a Project.)
February 26
- Complete Mathematica Quiz 2 (on Moodle). This quiz covers lists, indexed variables, functions, and Modules.
- Take a look at this paper, which proves various identities involving the Pell numbers. Read through the Introduction, which gives some background about the Pell numbers. Note that Proposition 1 corresponds to our observations in class. Take a quick look at the other propositions and theorems that the authors prove.
- Begin the Pell Project, due Wednesday, March 3.
- Finish the Pell Project (due Wednesday). Upload your notebook to Moodle.
- Continue your investigation of sequences that arise when iterating the Collatz function or some other function. Bring observations and questions to class on Wednesday.
Extra credit opportunity: Attend either of Dr. Trachette Jackson's lectures on March 2 or 3 and answer these two questions on Moodle to earn two extra-credit points.
March 3
- Read Mathematician Proves Huge Result on 'Dangerous' Problem and answer three questions on Moodle before class on Friday.
- Continue your computational exploration of Collatz sequences and the logistic function. Take a look at the Iterated Functions Project and think about what you want to investigate.
March 5
Bonus video: Steven Strogatz — The science of sync
- Watch This equation will change how you see the world by Veritasium. Observe how the bifurcation diagram of the logistic map relates to the Mandelbrot set. There are even applications to fluid convection, neuron firing, and more. Wow!
- Work on the Iterated Functions Project, due Wednesday.
- Finish the Iterated Functions Project. Upload your notebook to Moodle.
- Finish implementing your isPrime function, if not finished in class.
- Read "Why prime numbers still fascinate matematicians, 2,300 years later" and answer these four questions on Moodle.
- Finish implementing the Sieve of Eratosthenes in Mathematica.
- Read "The Sequence of Prime Numbers" (JSTOR link) and answer these questions on Moodle.
Bonus video: Yitang Zhang: An Unlikely Math Star Rises
- Finish implementing the Sieve of Sundaram in Mathematica.
- Take a look at the Primes Project, which is due March 22.
March 15
March 17
- Work on the Primes Project.
- Watch this video introduction to RSA encryption.
March 19
- Finish the Primes Project and submit your notebook to Moodle.
- Read RSA Encryption – Keeping the Internet Secure.
- Watch this RSA encryption video. This video gives an overview of how we will convert text to numbers that we can encrypt. It's important to watch this before Monday's class!
- Choose two (secret) prime numbers of 30 digits each. (Use your fermatPrime function!) Keep them in a safe place for the next week.
March 22
- Use your secret primes to compute your public key \( (e,n) \). Post your public key to the RSA Forum on Moodle. Then use the forum to send encrypted messages to Prof. Wright and at least two other people. (This is the RSA Assignment.)
- Watch How Quantum Computers Break Encryption.
March 24
- RSA Assignment: Send and receive secure messages with at least two other people using the RSA Forum. Use your Mathematica code to encrypt and decrypt the messages.
- Complete Exercises 1–6 in the Counting Primes Mathematica notebook. Upload your answers to the Counting Primes Assignment on Moodle.
- Read The Riemann Hypothesis, explained. Answer these reading questions on Moodle.
March 26
- Complete the five exercises in the Primes and the Zeta Function Mathematica notebook. Upload your solutions to the Riemann Zeta Assignment on Moodle.
- For one more take on the Riemann Hypothesis, watch this video by Quanta Magazine.
March 29
- Work on any four of the six exercises in the Intro to Python notebook. If you get stuck, send questions to the professor or bring questions to class on Wednesday. By Friday, submit your work by copying the sharable link to your notebook and pasting it in the text field of the Intro Python assignment on Moodle.
- Read the following pages from the Python Land tutorial: Variables, Strings, Functions, Booleans, and Loops.
March 31
- Finish four of the six exercises in the Intro to Python notebook and submit your notebook link to the Intro Python assignment on Moodle.
- Finish implementing the Yahtzee simulation in Python. You don't have to submit it for a grade, but we will use it for further investigation in Friday's class.
- Please complete the Mid-Semester Survey. Answers are voluntary and anonymous.
April 2
- Complete Python Quiz 1 (topics are variables, lists, if statements, and functions).
- Use simulation and make plots to answer the three questions in the Yahtzee Investigation notebook. Give this your best shot before class on Monday, and bring questions to class.
April 5
April 7
- Finish the Yahtzee Investigation, if you haven't done so already, and submit a link to your notebook to the Yahtzee Investigation assignment on Moodle.
- Work on the Trouble Investigation. Bring questions to class on Friday.
April 9
- Finish the Trouble Investigation and submit a link to your notebook to Moodle.
- Investigate the questions in the Random Walk Notebook.
April 12
Bonus: Federico Ardila on Math, Music and the Space of Possibilities
- Watch the 1-D Random Walk Proof to learn how often a simple symmetric 1-D random walk returns to the origin.
- Read through this NumPy quickstart guide.
- Take a look at the Random Walk Project, due next Monday.
- Continue investigating 1-D and 2-D random walks.
April 14
- Work on the Random Walk Project, due
MondayWednesday. - Think about these questions: Do all 2D random walks return to the origin? What does your computational investigation show? How would the 1D proof from the video adapt to 2D?
April 16
- Work on the Random Walk Project, due
MondayWednesday. - Continue thinking about these questions: Do all 2D symmetric random walks return to the origin? How about 3D random walks? What does your computational investigation show? How would the 1D proof from the video relate to higher dimensional random walks?
April 19
- Finish the Random Walk Project, due
WednesdayFriday. Submit your notebook link to Moodle. - Think about how to write an algorithm that determines whether or not percolation occurs in a grid. Bring ideas to class on
WednesdayFriday.
April 21
Take time for reflection and conversation.
- Finish the Random Walk Project, due
WednesdayFriday. Submit your notebook link to Moodle. - Think about how to write an algorithm that determines whether or not percolation occurs in a grid. Bring ideas to class on
WednesdayFriday.
April 23
- Implement the query() function from class. Can you use it to estimate the probability of percolation for given values of \(n\) and \(p\)?
- Take a look at the Percolation Project, due next Friday.
April 28
- Finish the Percolation Project and submit your notebook link to Moodle.
- Experiment with the simulated annealing method from class. How are the results affected if you change the decrease factor, the number of steps, or the possible moves?
April 30
- Experiment with the simulated annealing method from class. How are the results affected if you change the decrease factor, the number of steps, or the possible moves?
- Read the Final Project Information. Think about a topic (and optionally a partner) for the final project.
May 3
- Work on the Magic Squares Assignment (due Friday).
- Think about a topic (and optionally a partner) for the Final Project.
Bonus: Satyan Devadoss Mage Merlin's Unsolved Mathematical Mysteries
- Finish the Magic Squares Assignment (due Friday).
- Think about a topic (and optionally a partner) for the Final Project.
May 7
- Work on implementing a simulated annealing algorithm to find approximate solutions to the traveling salesperson problem. Take a look at the TSP Project.
- Work on the TSP Project (due Friday).
- Choose a topic (and optionally a partner) for the final project. Complete the final project topic selection form.
May 12
- Finish the TSP Project and submit your work to Moodle.
- Work on your final project.
- Take a look at the bonus videos (below) on areas of computational mathematics that we didn't study this semester.
May 14
- Work on your final project.
- Email the professor a brief update (1–2 paragraphs) on your final project. Describe what you have accomplished, what remains to do, and what questions you have.
- Take a look at the bonus videos on areas of computational mathematics that we didn't study this semester.
- Please complete the course evaluation. Answers are voluntary and anonymous.
May 17
- Finish your final project.
- Submit your Mathematica notebook or a link to your Python notebook to the Final Project on Moodle.
- Prepare to give a brief presentation (4–5 minutes per person) about your project at the final exam period.
- Please complete the course evaluation, if you haven't done so already. Answers are voluntary and anonymous.
May 20
May 22