Math 157 - Intro to Mathematical Software

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.

See this page for announcements.

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 involve guided experimentation and discovery. 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, other mathematical software (Mathematica, Maple, Matlab, etc.), or computer programming will be assumed.

This course is based on the cloud computing platform CoCalc (formerly SageMathCloud). 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.

Officially, this course is being offered for the first time. However, a pilot version of the course was offered during winter 2017 as Math 152: Applicable Math and Computing (based on a course taught by William Stein at University of Washington). Here are the syllabus from that course, the lecture materials, and the CAPE report. (If you took my Math 152 course, please do not not register for Math 157!)

Although Math 157 has been permanently added to the course catalog, 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.

Since Math 157 is new, it may not yet appear in the list of approved courses for certain majors. I have confirmed that Math 157 is now an approved List B/C elective for Mathematics-Computer Science (MA30) majors and an approved upper-division elective for Probability and Statistics (MA35) majors. If you are interested in the course but are unsure whether it will count for your major, please contact me for guidance.

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


Lectures: MWF 2:00-2:50pm in HSS 1330. No lectures on Monday, January 15 or Monday, February 19 (university holidays). There is a class participation component that contributes to the course grade; see below.

Discussion sections: Tuesday 6:00-6:50pm (Wear), 7:00-7:50pm (Wear), 8:00-8:50pm (Grubb), 9:00-9:50pm (Lau) in APM 6402. Beware that the exterior doors to APM are locked each weekday after 9:20pm.

Office hours:

In addition, we will be conducting "virtual office hours" Friday 3-7pm: 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.

Prerequisites: Math 20D, plus any one of Math 18 or Math 20F or Math 31AH. As usual, these can be waived by the instructor, but I will be pretty strict because I have already made a substantial effort to keep the prerequisites low to begin with.

Homework: Weekly problem sets, due Fridays at 8pm (one each 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. For security reasons, grades will not be posted within CoCalc; check TritonEd for those.

Midterms: None.

Final exam: None. Instead, there will be a final project due on the last day of classes (Friday, March 16). This will include an in-class component on March 12 and March 14.


Since these parameters have been chosen to be somewhat forgiving, no additional excuses will be granted (not even for waitlisted students). 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.

For future reference, the final conversion was made as follows:
Percentage 97 93 90 87 83 78 75 69 63
Letter grade A+ A A- B+ B B- C+ C C-

Academic Integrity:

Topics calendar:

Some adjustments may be made as the term progresses.