Skip to main content

Course Syllabi, Spring 2026

Section 4 MATH170 - Introduction to Mathematical Software Programming

This course introduces students to computational thinking in mathematics and the basics of computer programming.

Subsection 4.1 Course Outline

This course is organized around the development of programming skills and their application to mathematical algorithms. We will begin by introducing core programming structures and practicing their use in mathematically motivated tasks. Once these foundations are in place, we will transition to a brief introduction to the mathematical typesetting (mark-up) language LaTeX, the standard tool for professional communication in mathematics and many scientific disciplines.
After gaining familiarity with both programming fundamentals and LaTeX, students will identify a longer-term project centered on mathematical software. Suggested topics will be provided, but students are also encouraged to propose their own ideas if they have a particular area of interest. Because each topic may be selected by only one student, you will submit and rank 3–4 possible project ideas.
The remainder of the course will be devoted to project development. Projects may follow a more code-focused pathβ€”implementing mathematical ideas with a concise written summary in LaTeXβ€”or a more research-oriented path, featuring substantial mathematical exposition with carefully formatted typesetting and a smaller programming component. In either case, the goal is to integrate computational thinking with clear mathematical communication.
A more detailed (but tentative) schedule is provided here:
  1. Getting Started with MATLAB
  2. Getting Started with Vectors
  3. Fun with Functions
  4. Conditional Statements
  5. Basics of Recursive Logic
  6. More Recursive Logic
  7. Final Recursive Logic and some Challenge Review
  8. Introduction to Iteration and Numerical Integration
  9. More Advanced Numerical Integration
  10. Root-finding Algorithms
  11. Introduction to LaTeX
  12. Project Proposals
  13. Project Work Week 1
  14. Project Work Week 2
  15. Project Work Week 3

Remark 4.1.

Please note, this is my first time teaching this particular course, so more details will be added or revised as needed. Please don’t hesitate to ask questions or provide feedback on what would be helpful to include in this document for this and future semesters.

Subsection 4.2 Prequisites

Formally, being enrolled in MATH170 requires having passed MATH121 with a ’C’ or better, or explicit consent of the instructor. Any student being found not to meet these requirements will automatically receive a failing grade at the end of the semester.
In practice, this course requires a willingness to experiment and learn through asking questions, discussing work and ideas with classmates, and reading documentation.

Subsection 4.3 Learning Outcomes

Upon successful completion of this course, students will be able to:
  1. Use computational experimentation to formulate hypotheses for mathematical problems.
  2. Use software to visualize, describe, and implement mathematical algorithms.
  3. Describe and implement algorithmic concepts such as iteration, recursion, and conditionals.
  4. Communicate mathematical reasoning clearly and effectively, both verbally and in writing, using appropriate terminology and notation.
  5. Collaborate effectively with peers in group settings to explore ideas, solve problems, and achieve common learning goals.
  6. Gain confidence in using mathematics to model, analyze, and solve problems in science, engineering, and other fields.

Subsection 4.4 Course Assessments

Your final grade in this course will be based on your demonstrated understanding of the course learning outcomes, as shown through a variety of assessments. The table below shows each assessment type along with its weight toward your final grade. Descriptions for each assessment follow the table.
Assessment
Weight
Description
Class Attendance
10%
Class sessions will require active participation. Attendance is required and incorporated into your course grade.
Weekly(ish) Reports
50%
Short technical reports on work done in and out of class. I expect these will be assigned each 2-3 class periods.
Group Participation
10%
Active participation and engagement in class group tasks.
Final Project
30%
Algorithmic Art project using OpenProcessing.org. Full requirements will be posted 3-4 weeks before finals.
Assessments in this class will be focused on developing knowledge and habits for success in computational thinking and mathematics. In real-world problem solvingβ€”especially in STEMβ€”understanding the process is often more important than getting the "right" number. That is why this class will focus on process-thinking and developing strategies for success more often than short assignments with a "right" answer. Often, there will be many "right" ways to approach a problem, and being will to explore, question, and communicate your own process will be a large component of this course.
My goal is to help you build both confidence and competence in mathematical and computational thinking. These are lifelong skills with value across all scientific and technical fields.

Subsection 4.5 Earned Letter Grades

You will earn the following letter grade based on the calculation of your weighted course average based on your demonstration of course learning objections through course assessments.
Letter Grade
Weighted Average
Letter Grade
Weighted Average
Letter Grade
Weighted Average
A [93,100] B- [80,83) D [60,65)
A- [90,93) C+ [77,80) D- [50,60)
B+ [87,90) C [70,77) F [0,50)
B [83,87) D+ [65,70)
For a general interpretation of grade letters and how they are designed to reflect your understanding of the material and preparedness for future courses, see SubsectionΒ 6.2.