Math 157 - Intro to Mathematical Software (Winter 2021)

Information appearing below is subject to revision until the first lecture. Some additional information, particularly on the use of CoCalc, will be given in the first lecture; CoCalc also provides a tutorial for students.

Thank you to Kiran Kedlaya and Peter Wear, who have taught this course in several forms since 2017. Much of the material appearing below (and throughout the course) will be derived from their course materials and plans. One may find various past versions of the course by Googling ''Math 157 UCSD.''

Course description: Math 157 is an introduction to mathematical computation and the use of mathematical software. This course will introduce students to a broad but coherent collection of open-source software tools, and to diverse examples of their use in mathematical study and research. The course will be taught in a hands-on fashion, and will encourage student experimentation. Lectures will consist of interactive demonstrations, while assignments will combine conceptual questions with hands on problem solving. We will make extensive use of the Python programming language, the Jupyter notebook system, and the SageMath computer algebra system; however, no prior exposure to these tools will be assumed.

This course is based on the cloud computing platform CoCalc. More details on how CoCalc is to be used will be given in the first lecture. There will be no use of either TritonEd or Canvas for this course. In order to follow along with the course (and complete homework assignments) students will need ready access to an internet connection and some form of computer, tablet, etc. The technology does not have to be fancy, as all computations will be cloud based. In particular, no software has to be downloaded or installed.

Although Math 157 has been taught in some form since 2017, it remains highly experimental in both its use of new technology and the approach to pedagogy. This is especially true during the time of COVID. In addition to the final course evaluations, there will be several opportunities to submit feedback during the course; please take advantage of this!

Note on Concurrent Enrollment/Public Viewing: This class is open for concurrent enrollment. Email me if you would like to do this. Additionally, due to the virtual nature of this class it will be ostensibly possible to follow along throughout the quarter, even if you are not officially enrolled in the course (no guarantees!). If you are interested in doing this, email me.

Instructor: Tom Grubb, tgrubb [at] ucsd [etcetera].


Lectures: Lectures will occur on Mondays, Wednesdays, and Fridays from 4:00 - 4:50 PM Pacific Time. They will be hosted on the Zoom room 96121091451. Lectures will also be recorded and made available for asynchronous viewing on Canvas.

Discussion sections: Sections run on Tuesdays. Feel free to attend the one that is most convenient for your schedule.

Office hours:

In addition to the listed office hours, the class Zulip Chatroom will be monitored on Thursdays from 2-6 pm: Click here for the chatroom.

Textbook: None. In lieu of purchasing a textbook, students will need to create a free account on CoCalc in order to complete and submit assignments. (It is not necessary to pay for an upgraded account; equivalent functionality will be provided to enrolled students.) If you do not use your official UCSD email address to create the account, please provide the instructor with the address you used in order to gain access to the course materials.


Homework: Weekly problem sets, due Thursdays at 8pm (one each due during Weeks 2-9). All assignments will be assigned, completed, submitted, evaluated, and returned using CoCalc; the process will be explained in the first lecture.

Quizzes: There will be two "take home" quizzes that will occur on January 25th and February 22nd. The quizzes will work as follows: at any point during a specified 24 hour period, you may choose to start the quizzes. Once you start the quiz, you will have ~1 hour to complete the questions. These will be "open-book" (in a sense to be made explicit) but must be completed individually. The time limit for this process is readily enforcible via Cocalc's "Time Travel" functionality.

Final exam: None. Instead, there will be an open-ended final project due during finals week (TENTATIVELY March 18). Details about this will be given no later than the beginning of Week 9.


Since these parameters have been chosen to be somewhat forgiving, no additional excuses will be granted (not even for students joining the course late). No exceptions.

For the conversion of raw scores into letter grades, the following minima are guaranteed:
Percentage 97 93 90 87 83 80 77 73 70
Minimum grade A+ A A- B+ B B- C+ C C-
Additionally, any score in at least the 85th percentile or higher is guaranteed an A grade, while any score in the 65th percentile or higher is guaranteed a B grade.

Accommodations: No accommodations are available for homework assignments since two of them will be dropped (see above). Accommodations for the exam or final project will be made only in cases mandated by university policies.

All accommodation requests must be made with sufficient advance notice, preferably by the end of week 1.

Academic Integrity:

Tentative Topics Calendar:

Some adjustments may be made as the term progresses.