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 grades, log into Moodle. If you need help, contact Prof. Wright.

**Prof. Wright's office hours:** Mon. 9–10am, Tues. 2–3pm, Wed. 11am–12pm, Thurs. 1–2pm, Fri. 2–3pm, and other times by appointment (in RMS 405)

**Help sessions:** Tuesdays 7:15–8:15pm, Thursdays 6–7pm, Sundays 6–7pm in Tomson 188

- Complete the Introductory Survey.
- 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 7

- Complete the Introductory Survey, if you haven't done so already.
- Read the Syllabus. Pay special attention to the grading information.
- Watch the video Hands-On Start to Mathematica by Wolfram.
- Read pages 1–10 of Computational Mathematics. Come to class prepared to summarize Archimedes's method for computing \(\pi\).
- Complete the Intro Mathematica homework problems and submit your notebook to the Intro Mathematica assignment on Moodle.

February 9

- Read the following pages about the Wolfram Language: Fractions & Decimals, Variables & Functions, Lists, Iterators, and Assignments.
- Modify the code from class to complete the Archimedes's Method practice problems, and upload your solutions to the Archimedes's Method assignment on Moodle.
- Read through page 22 in Computational Mathematics. Come to class prepared to explain what the text means by
*accuracy*,*efficiency*, and*representation*. - If you're curious why the sum of reciprocals of squares converges to \(\pi^2/6\) (on the Intro Mathematica practice problem), then watch this video.

February 12

**MSCS Colloquium:** Are you CURIous about Summer Research? Monday, Feb. 12, 3:30–4:30pm in RNS 310

- Read the following pages about the Wolfram Language: Functions and Programs, Operations on Lists, and Assigning Names to Things
- Complete the Madhava series practice problem and upload your solutions to the Madahava Series assignment on Moodle.
- Read Section 1.4 (pages 26–29) in Computational Mathematics. Come to class ready to discuss how sums arising from arctangent formulas can be used to compute digits of \(\pi\).

February 14

- Complete the Inverse Tangent Formulas practice problems and upload your solutions to the Inverse Tangent Formulas assignment on Moodle.
- Read Section 1.5 (pages 30–33) in Computational Mathematics. Do Exercise 1.25 (not to turn in). How are the methods in this section different from what we have seen so far?
- Take a look at the \(\pi\) Project, due next Wednesday. You don't need to write any code for this yet, but start thinking about the methodology you will use for this project.

February 16

**MSCS Presentation:** Paul Tveite '07, "Working at Google" — Friday, Feb. 16, 3:00–4:00pm in RNS 310

- Complete the Iterative Methods for \(\pi\) practice problems and upload your solutions to the Iterative Methods assignment on Moodle.
- Begin work on the \(\pi\) Project (due next Wednesday).
- Read Section 1.6 (pages 33–37) in Computational Mathematics, Chapter 1. Come to class prepared to discuss the "dart board" method for computing \(\pi\).

February 19

- Finish your \(\pi\) Project. Your first draft is due Wednesday (Moodle link). Remember that after the initial grading, you will have a chance to revise and resubmit for a higher grade.
- Optionally, read how Google computed 100 trillion digits of \(\pi\).
- Optionally, work on the Dart Board \(\pi\) practice problems. These are due on Friday.
- Read the following pages about the Wolfram language: Ways to Apply Functions, Pure Anonymous Functions, and Tests and Conditionals
- Read Section 2.1 (pages 45–47) in Computational Mathematics, Chapter 2. Come to class ready to say what
*recursive*means (in the context of a*recursive sequence*or a*recursively-defined function*).

- Finish the Dart Board \(\pi\) practice problems from Monday and upload your solution to the Dart Board Pi assignment on Moodle.
- Watch The magic of Fibonacci numbers, a 6-minute TED talk by Arthur Benjamin.
- Read Section 2.2 (pages 47–56) in Computational Mathematics, Chapter 2.

February 23

- Read Section 2.3, up to the "Further Generalizations" heading on page 64, in Computational Mathematics. Focus on the process of discovering Cassini's identity and the methods presented for verifying the identity for lots of indexes \(n\).
- Complete the Computing Fibonacci practice problems and upload your solutions to the Computing Fibonacci assignment on Moodle.
- Optionally, begin revising your \(\pi\) Project. Talk with the professor if you have questions about how to do this. Revisions are due next Friday, March 1. You may submit your revisions to the same project link on Moodle.

February 26

- Complete the Fibonacci Identities practice problems and upload your solutions to the Fibonacci Identities assignment on Moodle.
- Finish reading Section 2.3 (pages 65–68) in Computational Mathematics, Chapter 2.
- Optionally, work on revising your \(\pi\) Project. Talk with the professor if you have questions about how to do this. Revisions are due Friday, March 1. You may submit your revisions to the same project link on Moodle.

February 28

- Read Section 2.4 (pages 69–75) of Computational Mathematics.
- Complete the Polynomial Identities practice problem and upload your solution to the Polynomial Identities assignment on Moodle. Come to class ready to discuss your observation about Fibonacci Polynomial identities.
- Optionally, finish revising your \(\pi\) Project. Talk with the professor if you have questions about how to do this. Revisions are due Friday, March 1. You may submit your revisions to the same project link on Moodle.

March 1

revisions due

**STEM Alumni Panel:** UNSCRIPTED, Friday, March 1, 5–7pm, Buntrock 142

- Read Section 2.5 through page 83 in Computational Mathematics.
- Complete the Lucas Identities practice problems and upload your solution to the Lucas Identities assignment on Moodle.
- Take a look at the Generalized Fibonacci Project. Optionally, start experimenting with generalized Fibonacci sequences.

March 4

- Finish reading Section 2.5 in Computational Mathematics.
- Complete the Pell Identities practice problems and upload your solution to the Pell Identities assignment on Moodle.
- Begin the Generalized Fibonacci Project. Experiment with generalized Fibonacci sequences.

March 6

- Read pages 87–92 in Computational Mathematics, Chapter 3.
- Optionally, work on the Collatz Practice Problems. These are due Monday.
- Finish your Generalized Fibonacci Project. Upload your project to the Generalized Fibonacci Project assignment on Moodle.

March 8

**Physics & Math Colloquium:** Colin Scheibner '17, Spiking at the Edge: Excitability at interfaces in reaction-diffusion systems" Friday, March 8, 3:30–4:30pm in RNS 210

- Read pages 93–98 in Computational Mathematics, Chapter 3.
- Complete the Collatz Practice Problems and upload your solutions to the Collatz Practice assignment on Moodle.
- Optionally, you may use a token for a second revision of your \(\pi\) Project, due Friday, March 15. Talk with Prof. Wright if you want to do this.

March 11

**MSCS Colloquium:** Lara Pudwell, "Patterns in Permutations," Monday, March 11, 3:30–4:30pm in RNS 310; video of essentially the same talk at MAA MathFest 2023

- Watch The Simplest Math Problem No One Can Solve — Collatz Conjecture by Veritasium. Come prepared to discuss something interesting from this video at the beginning of class on Monday.
- Read the rest of Section 3.1 in Computational Mathematics, Chapter 3.
- Complete the Collatz Stopping Times practice problems and upload your solutions to the Collatz Stopping Times assignment on Moodle.

March 13

- Read Section 3.2 (pages 102–108) in Computational Mathematics, Chapter 3.
- Read Mathematician Proves Huge Result on 'Dangerous' Problem in Quanta magazine.
- Complete the Collatz Variant practice problems and upload your solutions to the Collatz Variant assignment on Moodle.

March 15

**MSCS Research Seminar:** Francesca Gandini, "Invariants Three Ways," Friday, March 15, 3:30–4:30pm in RNS 210 (this talk requires Abstract Algebra)

- Read Section 3.3, at least through page 117, in Computational Mathematics
- Complete the Logistic Map practice problems and upload your solutions to the Logistic Map assignment on Moodle.
- Optionally, work on revising your Generalized Fibonacci Project. You may resubmit your project to the Generalized Fibonacci Project assignment on Moodle.

March 18

**MSCS Colloquium:** Janet Page, "Gorenstein rings and the Chicken McNugget Problem," Monday, March 18, 3:30–4:30pm in RNS 310; video

- Read Section 3.3, at least through page 123, in Computational Mathematics.
- Complete the Bifurcations practice problems and upload your solutions to the Bifurcations assignment on Moodle.
- Optionally, take a look at the Iterated Functions Project, which is due on Monday, April 8.

March 20

- Read the rest of Section 3.3 in Computational Mathematics.
- Watch This equation will change how you see the world (the logistic map) by Veritasium. Come to the next class prepared to discuss at least two things you learned from the video.
- Complete the Chaos and Stability practice problems and upload your solutions to the Chaos and Stability assignment on Moodle.
- Optionally, finish revising your Generalized Fibonacci Project. You may resubmit your project to the Generalized Fibonacci Project assignment on Moodle.

- To learn more about chaos theory, watch The Science of the Butterfly Effect by Veritasium.
- Begin work on the Iterated Functions Project.
- For a sampling of mathematical topics involving computation and experimentation, check out Mathematics by Experiment: Plausible reasoning in the 21st Century by Jonathan Borwein and David Bailey — available online through the St. Olaf Library.

April 3

**MSCS Research Seminar:** Sunrose Shrestha, "Cylinders on the Mucube," Thursday, April 4, 11:30–12:30am in RNS 210

**MSCS Recital:** Thursday, April 4, 7pm, Ytterboe Lounge

- Read the following pages from the
*Python Land*tutorial: Variables, Functions, Booleans, Loops, and Strings. - Complete any four of the six exercises in the Intro to Python notebook. For help, talk with the professor or with classmates, or visit the help session on Tuesday evening. Submit your Colab notebook to the Intro Python assignment on Moodle.
- Work on the Iterated Functions Project, due Monday.

- Read pages 139–143 in Computational Mathematics, Chapter 4. Take note of how the
*Sieve of Eratosthenes*is able to efficiently find all the prime numbers up to some maximum value. - Finish your Iterated Functions Project and upload your Mathematica notebook to the Iterated Functions Project on Moodle.

- Read Section 4.1 in Computational Mathematics.
- Finish implementing your sieve of Eratosthenes function from class. (This will not be collected.)
- Take a look at the Primes Project, due next Wednesday, April 17.

April 10

- Complete the Prime Gaps practice problems and submit your Colab notebook to the Prime Gaps assignment on Moodle.
- Read Why prime numbers still fascinate mathematicians, 2300 years later.
- Read Section 4.2 in Computational Mathematics.
- Begin the Primes Project, due next Wednesday, April 17.

April 12

- Read pages 150–152 in Computational Mathematics, Chapter 4.
- Complete the Counting Primes practice problems and submit your Colab notebook to the Counting Primes assignment on Moodle.
- Work on the Primes Project, due April 17.

**Math Across the Cannon:** Moon Duchin, "Design for Democracy," April 15, 7–8pm in Carleton College Olin Hall 149; "The Accidental Arboretum," April 16, 3:30–4:30pm in Regents 150

- Finish reading Section 4.3 (pages 153–158) in Computational Mathematics.
- Watch The Riemann Hypothesis, Explained by Quanta Magazine (16 min). Bring your answers to the following two questions to class on Monday:
- What did Riemann hypothesize in his 1859 paper?
- According to the video, how do the zeta zeros relate to the prime numbers?

- Finish the Primes Project and submit your Colab notebook to the Primes Project on Moodle.

**Kleber-Gery Lecture:** Aleszu Bajak, "Telling Your Story with Data," Thursday, April 18, 7–8pm in Tomson 280

- Read Section 4.6 (pages 180–193) in Computational Mathematics.
- Read The Riemann Hypothesis, explained.
- Optionally, to better understand complex functions and the Riemann zeta function, watch Visualizing the Riemann zeta function and analytic continuation by 3Blue1Brown.
- Optionally, revise your Iterated Functions Project (revisions due Monday) or work on a Challenge Problem.

April 19

**MSCS Colloquium:** Aleszu Bajak, "Stats in the Newsroom," Friday, April 19, 3:30–4:30pm in RNS 310

- Read Section 4.4 (pages 158–165) in Computational Mathematics. If you want to see how large primes are used in cryptography, read Section 4.5.
- Complete the Large Primes practice problems and submit your Colab notebook to the Large Primes assignment on Moodle.
- Optionally, revise your Iterated Functions Project or work on a Challenge Problem.

**MSCS Colloquium:** Lisa Tonder, "A Day in the Life of a Statistician at Medtronic," Monday, April 22, 3:30–4:30pm in RNS 310

- Read Section 5.1, (pages 195–209), in Computational Mathematics.
- Complete the Pseudorandom Numbers practice problems and submit your Colab notebook to the Pseudorandom Numbers assignment on Moodle.
- Optionally, revise your Primes Project or work on a challenge problem.

April 24

- Read Sections 5.2 and 5.3 (pages 209–224) in Computational Mathematics, Chapter 5.
- Complete the Simulation practice problems and submit your Colab notebook to the Simulation assignment on Moodle. Note that our text also has a brief discussion of the coupon collector problem on page 227.
- Take a look at the Final Project Info. Start thinking about which topics interest you and who you would like to work with.
- Optionally, revise your Primes Project or work on a challenge problem.

April 26

**BRIDGES: Common Ground** Friday, April 26, 3–5pm, RNS 356

**MSCS Research Seminar:** Jacob Laubacher, "Classifying Prime Character Degree Graphs," Friday, April 26, 3:30–4:30pm in RNS 210

- Read pages 236–241 in Section 5.5 of Computational Mathematics.
- Complete the 1D Random Walks practice problems and submit your Colab notebook to the 1D Random Walks assignment on Moodle.
- Optionally, revise your Primes Project. To submit a revised project, update your Moodle submission to indicate revisions, even if the notebook link is unchanged.
- Take a look at the Final Project Info. Start thinking about which topics interest you and who you would like to work with.

**MSCS Colloquium:** Lori Ziegelmeier, "On the Data of Images," Monday, April 29, 3:30–4:30pm in RNS 310

- Watch the 1D Random Walk Proof to learn
*why*a simple symmetric 1-D random walk must return to the origin. - Read page 242 in Computational Mathematics.
- Complete the Return to Origin practice problems and submit your Colab notebook to the Return to Origin assignment on Moodle.
- Read through this NumPy quickstart guide. We will use NumPy arrays to store 2D and higher-dimensional random walks.
- Take a look at the Final Project Info. Start thinking about which topics interest you and who you would like to work with.
- Optionally, work on a challenge problem.

May 1

- Read pages 243–246 in Computational Mathematics.
- Complete the 2D Random Walks practice problems and submit your Colab notebook to the 2D Random Walks assignment on Moodle.
- Read the Final Project Info and Complete the Final Project Planning Survey regarding your topic and group preferences for the final project.
- Take a look at the Random Walk Project.

May 3

**MSCS Research Seminar:** Corey Brooke, "Two Vignettes on Pythagorean Triples," Friday, May 3, 3:30–4:30pm in RNS 210

- Complete the Random Walk Project and submit your Colab notebook to the Random Walk Project on Moodle.

May 6

**MSCS Colloquium:** Getiria Onsongo, "Computational Techniques and Tools to Improve Genetic Testing in the Clinic," Monday, May 6, 3:30–4:30pm in RNS 310

- Finish reading Section 5.5 in Computational Mathematics.
- Optionally, revise your Random Walk Project.
- Optionally, work on a challenge problem. All challenge problems are due Monday, May 13.
- Work on your final project. Identify what mathematical questions you would like to investigate. Start planning and writing code.

May 8

- Work on your final project.
- Optionally, revise your Random Walk project or do a challenge problem. The last day to turn in project revisions and challenge problems is Monday, May 13.

May 10

- Work on your final project.
- Optionally, revise your Random Walk project or do a challenge problem. The last day to turn in project revisions and challenge problems is Monday, May 13.

May 13

- Finish your final project. Organize your computations and results into a single notebook that demonstrates what you have accomplished in this project. Prepare your presentation— a 10-minute overview of what you investigated and discovered.
- Submit your final project files/links to the Final Project assignment on Moodle.
- Complete the Final Project: Self and Peer Evaluation. This is a short,
*required*form regarding your own contributions and your group members' contributions to the project.*Each person must complete this survey.* *Recommended:*schedule a practice presentation with the professor (see Google calendar appointment link in your email).

May 16