Jay Pantone

Assistant Professor
Marquette University

jay.pantone@marquette.edu


Math 6931 – Special Topics in Scientific Computing

Spring 2021, Marquette University

Foundational methods and techniques of scientific computing in the mathematical and statistical sciences. This course will cover fundamental computational algorithms aimed toward applications in science and engineering. Students will implement algorithms, and visualize and validate their outcomes. Further, students will be introduced to and implement best programming practices. Prereq: MATH 2450 or equiv. or consent of instructor; MATH 1700 or equiv. introductory statistics course or consent of instructor, and programming competency in a high-level language.

  • Lectures:
    M, W, F 12:00pm - 12:50pm
    Cudahy Hall 131
  • Office Hours:
    Monday, 2:30pm - 3:30pm
    Microsoft Teams Tuesday, 1:00pm - 2:00pm
    and by appointment

Course Information

The official syllabus is available here.

 
Announcements

Textbook

Important Dates
Mon, Jan 25 Classes begin
Tues, Feb 2 Last day to add/drop classes or request CR/NC option
Tues, Feb 9 Mental Health Day, no classes
Wed, Mar 10 Mental Health Day, no classes
Mon, Mar 15 — Fri, Mar 19 Midterm exams
Fri, Apr 2 Good Friday, no classes
Tues, Apr 20 Mental Health Day, no classes
Fri, Apr 23 Last day to withdraw from classes
Wed, May 5 Mental Health Day, no classes
Fri, May 7 Last day of classes

Daily Calendar
# Date Topics Announcements / Homework
Week 1
1 Mon, Jan 25 Syllabus
Installing Python
2 Wed, Jan 27 The "pip" package manager
Quick introduction to Python (started)
Lecture Recording
3 Fri, Jan 29 Quick introduction to Python (finished)
ProjectEuler practice problems #1 and #2
Homework 1 assigned (due Fri, Feb 5; see D2L)
Lecture Recording

Jupyter Notebook file
(pdf version)
Week 2
4 Mon, Feb 1 List/Set/Dict Comprehensions and any/all functions
ProjectEuler practice problem #5
Unix command line (started)
Lecture Recording
5 Wed, Feb 3 Unix command line (finished)
Greedy algorithms (started)
Lecture Recording — sound cuts out halfway through :(
6 Fri, Feb 5 Python Tip of the Day #1: Functions, Lambda Functions, and Sorting Keys
Greedy algorithms (continued)
Lecture Recording

Python TotD #1 (Functions) - Jupyter Notebook file
(pdf version)
Week 3
7 Mon, Feb 8 Greedy Algorithms (continued) Lecture Recording
8 Wed, Feb 10 Greedy Algorithms (continued) Lecture Recording

Interval Scheduling implementation - Jupyter Notebook file
(pdf version)
9 Fri, Feb 12 Greedy Algorithms (finished!)
Homework 2 Assigned (see D2L Dropbox)
Lecture Recording (no sound again)

Weighted Interval Scheduling implementation - Jupyter Notebook file
(pdf version)
Week 4
10 Mon, Feb 15 Search Spaces and Brute Force Lecture Recording (no sound again, IT is working on it)
11 Wed, Feb 17 Divide-and-Conquer (started) No lecture recording today. Still working with IT.

Python TotD #2 (List Slicing) - Jupyter Notebook file
(pdf version)

Python TotD #3 (Recursion) - Jupyter Notebook file
(pdf version)
12 Fri, Feb 19 Divide-and-Conquer (finished) Lecture Recording - still sound problems

Merge Sort - Jupyter Notebook file
(pdf version)
Week 5
13 Mon, Feb 22 Class cancelled today.
14 Wed, Feb 24 Backtracking (started) Lecture Recording

Sudoku Demo
Slowed Down Sudoku Demo
15 Fri, Feb 26 Backtracking (finished)
Branch and Bound (started)
Lecture Recording (WITH SOUND!)
Lecture Notes

Weighted Interval Scheduling backtracking implementation - Jupyter Notebook file
(pdf version)
Week 6
16 Mon, Mar 1 Branch and Bound (continued) Lecture Recording
Lecture Notes
17 Wed, Mar 3 Branch and Bound (continued) Lecture Recording
Lecture Notes
18 Fri, Mar 5 Branch and Bound (continued) Lecture Recording
Lecture Notes
Week 7
19 Mon, Mar 8 Branch and Bound (finished)
Dynamic Programming (started)
Lecture Recording
Lecture Notes
Wed, Mar 10 Mental Health Day — No lecture or office hours.
20 Fri, Mar 12 Dynamic Programming (continued) Lecture Recording
Lecture Notes
Week 8
21 Mon, Mar 15 Dynamic Programming (continued) Lecture Recording
Lecture Notes
22 Wed, Mar 17 Dynamic Progamming (finished)
Object-Oriented Programming (started)
Lecture Recording
Lecture Notes

Object-Oriented Programming - Jupyter Notebook file
(pdf version)
23 Fri, Mar 19 Object-Oriented Programming (finished)
Introduction to Metaheuristics (started)
Lecture Recording
Lecture Notes
Week 9
24 Mon, Mar 22 Introduction to Metaheuristics (finished)
Hill Climbing (started)
Lecture Recording
Lecture Notes
25 Wed, Mar 24 Hill Climbing (continued)

Demos:
» CNS Func #1 - Random Search
» CNS Func #1 - Hill Climbing

» CNS Func #2 - Random Search (Min)
» CNS Func #2 - Random Search (Max)
» CNS Func #2 - Hill Climbing (Min)
» CNS Func #2 - Hill Climbing (Max)

» TSP - Random Search
» TSP - Steepest Ascent (swap 2 cities)
» TSP - Steepest Ascent (reverse block)
» TSP - Hill Climbing (swap 2 cities)
» TSP - Hill Climbing (reverse block)
Lecture Recording
Lecture Notes
26 Fri, Mar 26 Hill Climbing (finished)
Simulated Annealing (started) Demos:
» CNS Func #1 - Hill Climbing with Random Restarts
» CNS Func #1 - Simulated Annealing

» CNS Func #2 - Hill Climbing with Random Restarts (Min)
» CNS Func #2 - Hill Climbing with Random Restarts (Max)
» CNS Func #2 - Simulated Annealing

» CNS Func #3 - Hill Climbing
» CNS Func #3 - Hill Climbing with Random Restarts
» CNS Func #3 - Simulated Annealing

» TSP - Simulated Annealing (swap 2 cities)
» TSP - Simulated Annealing (reverse block)
Lecture Recording
Lecture Notes
Week 10
27 Mon, Mar 29 Simulated Annealing (continued) Lecture Recording
Lecture Notes
28 Wed, Mar 31 Simulated Annealing (finished) Lecture Recording
Lecture Notes

Spring Design demo - Jupyter Notebook file
(pdf version)

Knapsack demo - Jupyter Notebook file
(pdf version)

Fri, Apr 2 Good Friday — No lecture or office hours.
Week 11
29 Mon, Apr 5 Tabu Search (started)
Demos:
» TSP - Tabu Search
Lecture Recording
Lecture Notes
30 Wed, Apr 7 Class cancelled today.
31 Fri, Apr 9 Tabu Search (finished)
Demos:
» TSP - Tabu Search with fast scoring
Lecture Recording
Lecture Notes
Week 12
32 Mon, Apr 12 Particle Swarm Optimization (started) Lecture Recording
Lecture Notes
33 Wed, Apr 14 Particle Swarm Optimization (finished)
Neighborhoods in Continuous Space (started)
Demos:
» Continuous Function #1 - PSO
» Continuous Function #5 - PSO
Lecture Recording
Lecture Notes
34 Fri, Apr 16 Neighborhoods in Continuous Space (finished)
Firefly Search and Cuckoo Search (started)
Demos:
» Picking Points Uniformly
» Walks in Space
Lecture Recording
Lecture Notes
Week 13
35 Mon, Apr 19 Firefly Search and Cuckoo Search (finished)
Demos:
» Continuous Function #1 - Firefly
» Continuous Function #5 - Firefly
Lecture Recording
Lecture Notes
36 Wed, Apr 21 Variations on Local Search (started) Lecture Recording
Lecture Notes
37 Fri, Apr 23 Variations on Local Search (finished)
Demo:
» TSP - Variable Neighborhood Search
Lecture Recording
Lecture Notes
Week 14
38 Mon, Apr 26 Greedy Randomized Adaptive Search Procedures (GRASP)
Demo:
» TSP - GRASP
Lecture Recording
Lecture Notes
39 Wed, Apr 28 Evolutionary Strategies and Genetic Algorithms (started) Lecture Recording
Lecture Notes
40 Fri, Apr 30 Evolutionary Strategies and Genetic Algorithms (continued) Lecture Recording
Lecture Notes
Week 15
41 Mon, May 3 Evolutionary Strategies and Genetic Algorithms (continued) Lecture Recording
Lecture Notes
Wed, May 5 Mental Health Day — No discussion or office hours.
42 Fri, May 7 Evolutionary Strategies and Genetic Algorithms (finished) Lecture Recording
Lecture Notes