This is a past course that has already concluded. If you are looking for a current course, please click here.

Welcome to Computer Science for Scientists and Mathematicians! For course info and policies, please see the syllabus. For grades, log into Moodle. If you need help or have questions, please contact Prof. Wright.

**Prof. Wright's office hours:** Mon. 11–12, Tues. 1:30–2:30, Wed. 10:30–11:30, Thurs. 10–11, Fri. 12:30–1:30 (see Moodle for the Zoom link)

**Supplemental Instruction:** Mon. 7:00–7:40, Wed. 7:00–7:40, and Fri. 4:00–4:40

August 20

- Complete the Introductory Survey, if you haven't done so already.
- Read the Syllabus and complete the Syllabus Quiz (on Moodle).
- Complete the Binary and Hexadecimal Assignment (on Moodle).
- Create an account at our online text site, Runestone Academy. Enroll in the course
**CS125_Fall2020**. Then complete Reading Assignment 1 — this involves reading certain pages from the first two chapters and completing the comprehension questions on those pages.

August 25

- Complete Reading Assignment 2 on the Runestone site. This involves reading certain sections from chapters 1–3 of the text and completing the activities/questions on those pages.
*Recommended:*Install Python on your computer. Go to python.org/downloads, download Python 3.8.5, and follow the installation instructions.- Complete Homework 1. Upload your solution file to the Homework 1 assignment on Moodle.

August 27

- Complete Reading Assignment 3 on the Runestone site. This involves reading chapters 4 and 5 of the text and completing the activities/questions on each page.
- Complete Homework 2. Upload your solution file to the Homework 2 assignment on Moodle.

September 1

- Complete Reading Assignment 4 on the Runestone site. This involves reading certain sections from chapter 6 (functions) and completing the activies/questions on those pages.
- Complete Homework 3. Upload your solution file to the Homework 3 assignment page on Moodle.

September 3

*Thursday group meets in RNS 203, wearing masks; Tuesday group joins via the usual Zoom link*

- Complete Reading Assignment 5 on the Runestone site. This involves reading certain sections from chapters 6 (functions) and 7 (selection) and completing the activies/questions on those pages.
- Complete Quiz 1 on Moodle. After you start the quiz, you will have one hour to finish. The St. Olaf Honor Code applies to the quiz.
- Complete Homework 4. Upload your solutions to the Homework 4 assignment on Moodle.

September 8

- Review the problems and solutions from class today (see notes posted after class).
- Complete Reading Assignment 6 on the Runestone site. This involves reading certain sections from chapter 8 (More about Iteration) and completing the activies/questions on those pages. These must be completed before class and will not be accepted late.
- Complete Homework 5. Upload your solutions to the Homework 5 assignment on Moodle.

September 10

- Review the problems and solutions from class today (see notes posted after class).
- Complete Reading Assignment 7 on the Runestone site. This involves reading certain sections from chapter 9 (Strings) and completing the activies/questions on those pages. These must be completed before class and will not be accepted late.
- Complete Homework 6. Upload your solutions to the Homework 6 assignment on Moodle.

September 15

- Review the problems and solutions from class today (see notes posted after class).
- Complete Reading Assignment 8 on the Runestone site. This involves reading the rest of chapter 9 (Strings) and completing the activies/questions on those pages. These must be completed before class and will not be accepted late.
- Complete Homework 7. Upload your solutions to the Homework 7 assignment on Moodle.

September 17

- Complete Quiz 2 on Moodle. After you start the quiz, you will have 80 minutes to finish. The St. Olaf Honor Code applies to the quiz.
- Complete Homework 8. Upload your solutions to the Homework 8 assignment on Moodle.
- Complete Reading Assignment 9 on the Runestone site. This involves reading sections from chapter 10 and completing the activities/questions on those pages.

September 22

- Review the problems and solutions from class today (see notes posted after class).
- Complete Homework 9. Upload your solutions to the Homework 9 assignment on Moodle.
- Complete Reading Assignment 10 on the Runestone site. This involves reading sections from chapter 10 and completing the activities/questions on those pages.

September 24

- Complete Homework 10. Upload your solutions to the Homework 10 assignment on Moodle.
- Complete Reading Assignment 11 on the Runestone site. This involves reading Chapter 11 (files) and completing the activities/questions on those pages.
- Please complete the Week 5 Survey. Answers are voluntary and anonymous.

September 29

- Complete Homework 11. Upload your solutions to the Homework 11 assignment on Moodle.
- Complete Reading Assignment 12 on the Runestone site. This involves reading Chapter 12 (dictionaries) and completing the activities/questions on those pages.

October 1

- Review the problems and solutions from class today (see notes posted after class).
- Complete Quiz 3 on Moodle. After you start the quiz, you will have 80 minutes to finish. The St. Olaf Honor Code applies to the quiz.
- Complete Homework 12. Upload your solutions to the Homework 12 assignment on Moodle.
- Complete Reading Assignment 13 on the Runestone site. This involves reading Chapter 13 (exceptions) and completing the activities/questions on those pages.

October 6

- Complete Homework 13. Upload your solutions to the Homework 13 assignment on Moodle.
- Complete Reading Assignment 14 on the Runestone site. This involves reading Chapter 16 (recursion) and completing the activities/questions on those pages.

October 8

- Complete Homework 14. Upload your solutions to the Homework 14 assignment on Moodle.
- Read the NumPy Introduction at w3schools.com. Click on "
**Next**❱" to continue reading until you read the NumPy Array Iterating page. (There are no reading questions for next week.)

October 13

- Finish working through the Practice with NumPy notebook, if you haven't done so already. See the solutions posted after class, but realize there are many ways to do each task. You don't have to turn in your work today.
- Read the remaining pages about Python NumPy at w3schools: NumPy Array Join through NumPy Random.
- Read Array vs. List in Python — What's the Difference?.

October 15

Extra credit opportunity: attend Explore MSCS on Thursday, Oct. 15, 4:00–5:00pm to earn 2 extra-credit points for your homework grade.

- Complete Quiz 4 on Moodle. After you start the quiz, you will have 80 minutes to finish. The St. Olaf Honor Code applies to the quiz.
- Complete Homework 15. Submit either a Python file containing your code and a file containing your output, or a link to a Google Colab notebook containing your code and output.
- Read Introduction to Matplotlib in Python and the Pyplot tutorial.
- Look through the Matplotlib pyplot documentation. This documentation contains a lot of information—note that it is a good reference for the possible parameters of the plot function and examples of plots.

October 20

- Complete Homework 16. Submit either a Python file containing your code and a file containing your output, or a link to a Google Colab notebook containing your code and output.
- Look through these Matplotlib tutorials. Note the variety of plots you can create using Matplotlib.

October 22

- Complete Homework 17. Submit either a link to your Colab notebook or file containing both your Python code and your output.
- Complete Reading Assignment 15 on the Runestone site. This involves reading Chapter 17, Classes and Objects - the Basics, and completing the activities/questions on those pages.

October 27

- Complete Homework 18. Submit your work to the Homework 18 assignment on Moodle.
- Complete Reading Assignment 16 on the Runestone site. This involves reading Chapter 18, Classes and Objects - Digging a Little Deeper, and completing the activities/questions on those pages.

October 29

- Complete Quiz 5 on Moodle. After you start the quiz, you will have 80 minutes to finish. The St. Olaf Honor Code applies to the quiz.
- Complete Homework 19. Submit your work to the Homework 19 assignment on Moodle.
- Complete Reading Assignment 17 on the Runestone site. This involves reading Chapter 19, Inheritance, and completing the activities/questions on those pages.

November 3

- Complete Homework 20. Submit your work to the Homework 20 assignment on Moodle.
- Read the Final Project Info. Think about what you would like to do for your final project and (optionally) who you would like to work with. Talk with Prof. Wright if you have questions.
- Read HTML Basics, HTML Elements, and HTML Attributes, HTML Styles - CSS, and CSS Syntax.

November 5

MSCS Colloquium: "Sharing Secrets" on Monday, November 9, 3:30–4:30pm

- Complete Homework 21. Submit your HTML file to the Homework 21 assignment on Moodle.
- Re-read the Final Project Info and decide what you would like to do for your project. Submit your Final Project Proposal on Moodle.

November 10

- Complete Homework 22. Submit your HTML file to the Homework 22 assignment on Moodle.
- Work on your final project.

November 12

- Complete Quiz 6 (classes and objects, HTML and CSS) on Moodle. After you start the quiz, you will have 80 minutes to finish. The St. Olaf Honor Code applies to the quiz.
- Work on your final project. Submit your Final Project Status Update on Moodle.
- Complete the Course Evaluation. Responses are anonymous and will not be seen by the professor until after the semester is over.

November 17

- Submit your final project files to the Final Project link on Moodle.
- Complete the Self and Peer Evaluation for the Final Project on Moodle.
- Be prepared to present your project on Saturday. Presentations will occur on Zoom, and should be at most 4–5 minutes per person.

November 21

2:00 – 4:00pm