MAD 2502 — Computational Mathematics with Python
Developed at the University of Florida by Jason Harrington
MAD 2502 introduces students to computational mathematics through the Python programming language. The course is designed for mathematics students who want to learn how computation can extend the range of mathematical problems they are able to investigate and solve.
I proposed and piloted MAD 2502 in 2020 as part of UF’s growing emphasis on computational mathematics, data science, and programming. The course became a regular UF offering in 2021 and has continued to evolve as Python, data science, and artificial intelligence have changed the way mathematical computation is taught and practiced.
Course Philosophy
The goal of MAD 2502 is not simply to teach Python syntax. Instead, students learn how programming can be used as a mathematical tool for experimentation, problem solving, visualization, and computation.
The course assumes no prior programming experience. Students begin with the fundamentals of Python and gradually use those tools to investigate problems from areas such as number theory, combinatorics, algebra, linear algebra, numerical analysis, probability, and data analysis.
A central theme of the course is learning to move between a mathematical idea and its computational implementation: understanding the problem, designing an algorithm, writing code, testing the result, and interpreting what the computation means mathematically.
What Students Learn
- Use Python to solve mathematical and computational problems.
- Work with variables, data types, functions, conditionals, loops, recursion, and common Python data structures.
- Translate mathematical algorithms into working computer programs.
- Use computation to explore problems from several areas of mathematics.
- Read, test, debug, and improve existing Python code.
- Evaluate computer-generated results rather than treating the computer as a mathematical black box.
- Develop the programming foundation needed for more advanced work in computational mathematics, numerical analysis, data science, and related fields.
Course Design
MAD 2502 has been continually redesigned as computational tools have changed. Rather than relying primarily on traditional lectures and examinations, the course combines mathematical discussion with live programming, interactive examples, computational assignments, and larger projects.
- Interactive Python lectures. Course notes combine mathematical exposition with executable Python examples so that ideas can be tested and explored during class.
- Open-source tools. The course emphasizes freely available software and resources so that students can continue using the computational tools they learn after the semester ends.
- Active learning. Students regularly work through conceptual and computational questions during class rather than only watching code being demonstrated.
- Artificial intelligence and code evaluation. Assignments include opportunities to examine and debug AI-generated code. The goal is to teach students to use AI critically as a tool while still understanding the mathematics and algorithms themselves.
- Capstone project. Students complete a larger computational project that gives them an opportunity to explore a mathematical or data-oriented topic in greater depth.
Python
Python is used because it is readable, widely used in mathematics, science, data science, and artificial intelligence, and is freely available on all major computing platforms.
Visit the official Python website
Prerequisite
MAC 2311 or MAC 3472 with a minimum grade of C.
Course Resources
- Current and previous MAD 2502 syllabi in Simple Syllabus
- Supervillain Statistics Playground — an interactive computational example developed for exploring statistics.