{"id":342,"date":"2021-01-06T13:56:26","date_gmt":"2021-01-06T18:56:26","guid":{"rendered":"https:\/\/people.clas.ufl.edu\/mathguy\/?page_id=342"},"modified":"2026-09-14T11:16:29","modified_gmt":"2026-09-14T15:16:29","slug":"mad-2502","status":"publish","type":"page","link":"https:\/\/people.clas.ufl.edu\/mathguy\/courses\/mad-2502\/","title":{"rendered":"MAD 2502"},"content":{"rendered":"\n<section class=\"fullwidth-text-block\">\n<div class=\"container px-0\">\n<div class=\"row align-items-start\">\n<div class=\"col-12\">\n\n\n<h1 class=\"wp-block-heading\">MAD 2502 \u2014 Computational Mathematics with Python<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Developed at the University of Florida by Jason Harrington<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\nMAD 2502 introduces students to computational mathematics through the Python programming language.\nThe course is designed for mathematics students who want to learn how computation can extend the\nrange of mathematical problems they are able to investigate and solve.\n<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\nI proposed and piloted MAD 2502 in 2020 as part of UF&#8217;s growing emphasis on computational\nmathematics, data science, and programming. The course became a regular UF offering in 2021\nand has continued to evolve as Python, data science, and artificial intelligence have changed\nthe way mathematical computation is taught and practiced.\n<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Course Philosophy<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\nThe goal of MAD 2502 is not simply to teach Python syntax. Instead, students learn how\nprogramming can be used as a mathematical tool for experimentation, problem solving,\nvisualization, and computation.\n<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\nThe course assumes <strong>no prior programming experience<\/strong>. Students begin with the\nfundamentals of Python and gradually use those tools to investigate problems from areas such as\nnumber theory, combinatorics, algebra, linear algebra, numerical analysis, probability, and data analysis.\n<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\nA central theme of the course is learning to move between a mathematical idea and its\ncomputational implementation: understanding the problem, designing an algorithm, writing code,\ntesting the result, and interpreting what the computation means mathematically.\n<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">What Students Learn<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n\n<li>Use Python to solve mathematical and computational problems.<\/li>\n\n\n\n<li>Work with variables, data types, functions, conditionals, loops, recursion, and common Python data structures.<\/li>\n\n\n\n<li>Translate mathematical algorithms into working computer programs.<\/li>\n\n\n\n<li>Use computation to explore problems from several areas of mathematics.<\/li>\n\n\n\n<li>Read, test, debug, and improve existing Python code.<\/li>\n\n\n\n<li>Evaluate computer-generated results rather than treating the computer as a mathematical black box.<\/li>\n\n\n\n<li>Develop the programming foundation needed for more advanced work in computational mathematics, numerical analysis, data science, and related fields.<\/li>\n\n\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Course Design<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\nMAD 2502 has been continually redesigned as computational tools have changed. Rather than\nrelying primarily on traditional lectures and examinations, the course combines mathematical\ndiscussion with live programming, interactive examples, computational assignments, and larger projects.\n<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n\n\n<li>\n<strong>Interactive Python lectures.<\/strong>\nCourse notes combine mathematical exposition with executable Python examples so that ideas\ncan be tested and explored during class.\n<\/li>\n\n\n\n<li>\n<strong>Open-source tools.<\/strong>\nThe course emphasizes freely available software and resources so that students can continue\nusing the computational tools they learn after the semester ends.\n<\/li>\n\n\n\n<li>\n<strong>Active learning.<\/strong>\nStudents regularly work through conceptual and computational questions during class rather\nthan only watching code being demonstrated.\n<\/li>\n\n\n\n<li>\n<strong>Artificial intelligence and code evaluation.<\/strong>\nAssignments include opportunities to examine and debug AI-generated code. The goal is to\nteach students to use AI critically as a tool while still understanding the mathematics and\nalgorithms themselves.\n<\/li>\n\n\n\n<li>\n<strong>Capstone project.<\/strong>\nStudents complete a larger computational project that gives them an opportunity to explore\na mathematical or data-oriented topic in greater depth.\n<\/li>\n\n\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Python<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\nPython is used because it is readable, widely used in mathematics, science, data science,\nand artificial intelligence, and is freely available on all major computing platforms.\n<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\n<a href=\"https:\/\/www.python.org\/\">Visit the official Python website<\/a>\n<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Prerequisite<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">MAC 2311 or MAC 3472 with a minimum grade of C.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Course Resources<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n\n<li>\n<a href=\"https:\/\/ufl.simplesyllabus.com\/en-US\/syllabus-library\">\nCurrent and previous MAD 2502 syllabi in Simple Syllabus\n<\/a>\n<\/li>\n\n\n\n<li>\n<a href=\"https:\/\/people.clas.ufl.edu\/mathguy\/supervillain-statistics-playground\/\">\nSupervillain Statistics Playground\n<\/a> \u2014 an interactive computational example developed for exploring statistics.\n<\/li>\n\n\n<\/ul>\n\n\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":634,"featured_media":0,"parent":8,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"featured_post":"","footnotes":"","_links_to":"","_links_to_target":""},"class_list":["post-342","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/people.clas.ufl.edu\/mathguy\/wp-json\/wp\/v2\/pages\/342","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/people.clas.ufl.edu\/mathguy\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/people.clas.ufl.edu\/mathguy\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/people.clas.ufl.edu\/mathguy\/wp-json\/wp\/v2\/users\/634"}],"replies":[{"embeddable":true,"href":"https:\/\/people.clas.ufl.edu\/mathguy\/wp-json\/wp\/v2\/comments?post=342"}],"version-history":[{"count":10,"href":"https:\/\/people.clas.ufl.edu\/mathguy\/wp-json\/wp\/v2\/pages\/342\/revisions"}],"predecessor-version":[{"id":478,"href":"https:\/\/people.clas.ufl.edu\/mathguy\/wp-json\/wp\/v2\/pages\/342\/revisions\/478"}],"up":[{"embeddable":true,"href":"https:\/\/people.clas.ufl.edu\/mathguy\/wp-json\/wp\/v2\/pages\/8"}],"wp:attachment":[{"href":"https:\/\/people.clas.ufl.edu\/mathguy\/wp-json\/wp\/v2\/media?parent=342"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}