Math 157 - Intro to Mathematical Software (Winter 2020)

During winter 2021, this course will be taught by my student Thomas Grubb. See here.

Course description: Math 157 is an introduction to the use of mathematical software. Although mathematics is still largely taught as a pencil-and-paper (and chalk) subject, this approach ignores the fundamental role played by computing technology in the process of mathematical reasoning and discovery. 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; lectures will consist of interactive demonstrations, while assignments will combine conceptual questions with guided experimentation and discovery. We will make extensive use of the Python programming language (and to a lesser extent the Julia 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. As one component of the course grade is in-class participation, students are required to bring a laptop or large tablet to lectures; however, the only local software installation required is a web browser. 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.)

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. In addition to the final course evaluations, there will be several opportunities to submit feedback during the course; this feedback will help me evaluate some of the experiments and plan modifications for future iterations of the course.

This class is open for concurrent enrollment. I will sign enrollment petitions after the first lecture, or at that day's office hours.

Instructor: Kiran Kedlaya, kedlaya [at] ucsd [etcetera].


Lectures: MWF 1:00-1:50pm in Center Hall 119. No lectures on Monday, January 20 or Monday, February 17 (university holidays).

This class includes a participation component which factors into the course grade (see below). In order to participate fully, students are expected to bring a laptop or large tablet with keyboard, equipped with Internet access and a web browser. If you cannot fulfill this requirement, do not enroll in the course!

In-class participation will typically include interaction with Jupyter notebooks in CoCalc, use of the chat room in CoCalc, and online research. As a courtesy to fellow students, please keep other online activity to a minimum during lecture, and do not do anything that causes your device to produce audible output.

Discussion sections:

Office hours:

In addition, we will be conducting "virtual office hours" Wednesdays 3-7: during this time, the course staff will be monitoring the course chatroom on CoCalc to answer any questions that may arise.

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 Wednesdays 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.

Midterms: One in-class midterm on Monday, March 9 (week 10). This will be a traditional on-paper exam focusing on concepts, with no outside references (or use of CoCalc) permitted.

Final exam: None. Instead, there will be an open-ended final project due on Friday, March 20. Details about this will be given by the beginning of week 9. (Due to a clerical error, the registrar lists a final exam for this course; there is none.)


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:

Topics calendar:

Some adjustments may be made as the term progresses.