python_2025


https://people.sc.fsu.edu/~jburkardt/classes/python_2025/python_2025.html

python_2025 is the home page for the class:
MATH 2604: Advanced Scientific Computing 4,
"Mathematical Programming with Python,"
University of Pittsburgh,
Monday/Wednesday/Friday, 1:00-1:50pm,
Instructor: John Burkardt,
Spring Semester 2025.


This course teaches you how to write computer programs in the Python language that can represent, illustrate, or solve various common mathematical problems. You will write and run many programs on your personal laptop. The emphasis will be on learning the numpy numerical library and the matplotlib graphics system. We may also work with a few functions from graphviz (for visualizing a mathematical graph), pandas (a statistics and data library), PIL (the Python image library), scipy (scientific Python library), and sympy (for symbolic calculations). These tools will be used on various simple examples of mathematical questions.

No previous computing experience is required. The mathematics will be at an introductory level, and all details will be explained, so students from other scientific disciplines should also be able to handle the matrieral.

A problem list will be assigned each week, and you will select three to work on. By the end of the semester, you will also have created and presented a programming project based on some topic of interest to you. Your grade will be based on the assignments and the project. There will be no other quizzes, tests, or exams.


Date Topic Assignment
     
  Course syllabus  
  Week 1  
Wed 08 January 2025 Access to Python  
Fri 10 January 2025 Basic arithmetic operations  
  Week 2  
Mon 13 January 2025 Making decisions with if() statements  
Wed 15 January 2025 How to loop for() a while()  
Fri 17 January 2025 Creating new functions Assignment #1 due
  Week 3  
Mon 20 January 2025 No class! Assignment #1 solutions
Wed 22 January 2025 Making lists of data  
Fri 24 January 2025 Prime numbers  
  Week 4  
Mon 27 January 2025 Catchup (Say It Again)  
Wed 29 January 2025 The Collatz sequence  
Fri 31 January 2025 Vectors Assignment #2 due
  Week 5  
Mon 03 February 2025 Plotting with matplotlib Assignment #2 solutions
Wed 05 February 2025 Matrices  
Fri 07 February 2025 Linear Algebra Assignment #3 due
five_letters.txt
magic_matrix.py
  Week 6  
Mon 10 February 2025 A Linear Model for Migration Assignment #3 solutions
Wed 12 February 2025 The PageRank algorithm  
Fri 14 February 2025 Beat the (Linpack) Benchmark! Assignment #4 due
  Week 7  
Mon 17 February 2025 Random numbers Assignment #4 solutions
Wed 19 February 2025 Simulation  
Fri 21 February 2025 Spatial simulation on grids Assignment #5 due
  Week 8  
Mon 24 February 2025 Euler's ODE solver  
Wed 26 February 2025 Solving systems of ODEs  
Fri 28 February 2025 No class! Project proposal due
  Spring Break  
Mon 03 March 2025 No class!  
Wed 05 March 2025 No class!  
Fri 07 March 2025 No class!  
  Week 9  
Mon 10 March 2025 Clustering scattered data  
Wed 12 March 2025 Grids  
Fri 14 March 2025    
  Week 10  
Mon 17 March 2025    
Wed 19 March 2025    
Fri 21 March 2025    
  Week 11  
Mon 24 March 2025    
Wed 26 March 2025    
Fri 28 March 2025    
  Week 12  
Mon 31 March 2025    
Wed 02 April 2025    
Fri 04 April 2025    
  Week 13  
Mon 07 April 2025    
Wed 09 April 2025    
Fri 11 April 2025    
  Week 14  
Mon 14 April 2025    
Wed 16 April 2025    
Fri 18 April 2025 Project presentations.  


Choice of future topics:

You may design a project based on your own ideas and interests. But if you can't think of one, here are some suggestions. If you choose one of these, let me know so I can reserve it for you.

Links:


Last revised on 14 February 2025.