Course Schedule

Physics On the Computer: Introduction to using computers for solving problems in physics: differential equations, matrix manipulations, simulations and numerical techniques, nonlinear dynamics.


Summary:

This notebook outlines the full archive of materials used for PHYS 202 at Cal Poly San Luis Obispo in Spring Quarter 2014. Students were provided all materials through the Cal Poly Learning Management System "PolyLearn", a customized Moodle implementation.

Materials created and curated by J.L. Klay, with help and suggestions from B. Granger and J. Frederic.

References and attribution for borrowed elements are included at the top of each page. They should be mostly accurate and complete, but please report any omissions and they will be corrected.

All content is under a modified MIT License, and can be freely used and adapted. See the full license text here.


Course Materials:


Schedule:


Week 1: Programming Bootcamp

Learning Objectives Covered: LO1, LO2, LO3, LO4

Materials:

Day By Day:

Due dates:

  • Finish first seven modules of the Codecademy Python track by start of class on Thursday, April 3.
  • Finish next eight modules of the Codecademy Python track by start of class on Tuesday, April 8.

Week 2: Programming Bootcamp

Learning Objectives Covered: LO1-4, LO11

Materials

Day by Day:

Installfest! (Friday, 10am-2pm, Monday, 1pm-4pm, 180-620)
Drop in to my office with your laptop and I will help you get iPython and git installed and running.

Due dates:

  • The Codecademy Python track should be fully complete by start of class on Tuesday, April 15.
  • Battleship with ipythonblocks due on Wednesday, April 16, 11:59pm.

Week 3: Intro to NumPy/SciPy, Data I/O

Learning Objectives Covered: LO1-4, LO9, LO11

Materials:

Day by Day:

Due Dates:

  • Project Euler Problem 2 is due by 11:59pm on Sunday, April 20.
  • NumPy Exercises, Data I/O Exercises, Counting Stars Exercises are due by 11:59pm on Wednesday, April 23. extended to 11:59pm on Friday, April 25.

Week 4: Graphics/Widgets/Animation, Error handling

Learning Objectives Covered: LO1-4, LO5, LO6, LO11

Materials:

Day by Day:

Due Dates:

  • Project Euler Problem 16 is due by 11:59pm on Sunday, April 27.
  • Graphics and Error Handling Exercises are due by 11:59pm on Wednesday, April 30.

Week 5: Midterm, Projects, Program Design

Learning Objectives Covered: LO1-4, LO5, LO6, LO9

Materials:

Project Euler: Problem 31 - Coin Sums

Day by Day:

Due Dates:

Project Euler 6 and 31 are due by 11:59pm on Sunday, May 4.


Week 6: Interpolation and Differentiation

Learning Objectives Covered: LO1-4, LO5, LO6, LO7, LO8, LO11

Materials:

Day by Day:

Due Dates:

  • Project Euler 19 due by 11:59pm on Sunday, May 11.
    Note: Implement the full logic without using the built-in datetime library. (Use datetime to check the solution.)
  • Interpolation and Differentiation Exercises due by 11:59pm on Wednesday, May 15.

Week 7: Numerical Integration and Differential Equations

Learning Objectives Covered: LO1-4, LO5, LO6, LO7, LO8, LO11

Materials:

Day by Day:

Due Dates:

  • Project Euler 25 due by 11:59pm on Sunday, May 18.
  • Integration and ODE Exercises are due by 11:59pm on Wednesday, May 21. extended to 11:59pm on Friday, May 23.

Week 8: Random Numbers and Monte Carlo Methods

Learning Objectives Covered: LO1-4, LO5, LO6, LO7, LO8, LO11

Materials:

Day by Day:

Due dates:

  • Project Euler 17 due by 11:59pm on Sunday, May 25.
  • MC Integration, Random Numbers and MC Simulation Exercises are due by 11:59pm on Wednesday, May 28. extended to 11:59pm on Friday, May 30.

Week 9: Linear Regression and Optimization

Learning Objectives Covered: LO1-11

Materials:

Day by Day:

  • Day 17: No class Tuesday, May 27 due to Memorial Day holiday
  • Day 18

Due dates:

  • Project Euler 20 due by 11:59pm on Sunday, June 1.
  • Optimization Exercises due by 11:59pm on Wednesday, June 4.

Week 10: Symbolic Analysis and Project Hack-a-thon!

Learning Objectives Covered: LO1-4, LO5, LO6, LO11

Materials:

Day by Day:

Extra office hours: Friday 12-3pm (180-272), Monday 12-4pm (180-272)

Due dates:

  • Project Euler 4 due by 11:59pm on Sunday, June 8.
  • Finished project notebooks are due by 11:59pm on Friday, June 6. extended to 11:59pm on Monday, June 9.
  • SymPy Exercises are due by 11:59pm on Friday, June 8. extended to 11:59pm on Friday, June 13.

Finals Week: Project Demos


During the final exam period, each student makes a 5-7 minute demo presentation to the rest of the class on their project.

Exams:

  • Section 02: Tuesday, June 10, 13:10 - 16:00, 180-272
  • Section 03: Tuesday, June 10, 16:10 - 19:00, 180-272

Peer Evaluation:

Project demos evaluated by all audience members using this presentation evaluation form.


All content is under a modified MIT License, and can be freely used and adapted. See the full license text here.