- Syllabus (with References) (on physics.stmarys-ca.edu)
- Weekly Schedule
- Daily Schedules by Week
- Final Projects
- Bonus Notebooks
- Physics & Math: The Description of Motions of Objects in 1-D including Coordinates, Units, Speed, Velocity, and Acceleration.
- Computer Science: Jupyter Notebooks. Documentation in Markdown. Elements of Python including Expressions, Statements, Variables and Assignments, Types (Lists, Tuples, and Ranges), Control Flow (While and For loops), and introducing Functions.
- Physics & Math: The Description of Motions of Objects in 2-D. Projectile Motion. Two-Dimensional Acceleration. Newton's Universal Theory of Gravitation
- Computer Science: Continue Discussion of Functions, Scope and Lifetime of Variables. Libraries. Testing. Debugging. Dot Notation for Library Functions and Object Methods.
- Physics, Math & Applications: Circular and Elliptical Orbits. Modeling Battery Charging. Modeling Economic Growth. Kepler's Laws. Energy Conservation.
- Computer Science: Numpy. Mutability, Assignment, and Performance of Python Lists and Numpy Arrays. Second Order Runge-Kutta and Midpoint Method Improvememts to Euler and Euler-Cromer Update Methods. Data Visualization with Pandas.
- Final Project: Planning, Selection, Work, and Presentations.
During the coronavirus on-line courses period, these notebooks were developed as one alternative to continuing the normal introductory physics labs:
- Bonus Notebook 1: RL Circuit, Launch with Binder, Launch with Google Colab.
- Bonus Notebook 2: Coulomb Repulsion, Launch with Binder, Launch with Google Colab.
Instead of using these notebooks, we ended up sending the students kits to perform Physics 4 labs at home, but they might still be useful starting points, so I'll leave them up.
- Physics and Math Day 1-1: Speed; Velocity; Definitiions; Coordinates; Units of Position and Velocity; Velocity from Position.
- Physics and Math Day 1-2: Position from Velocity. Indices. Summations. Relationship to Derivatives and Integrals.
- Physics and Math Day 1-3: Physics Laws. Acceleration. Newton's Three Laws. Units of Acceleration. Constant Acceleration.
- Physics and Math Day 1-4: Air Glider on Spring Demonstration. Amplitude. Period. Frequency. Spring Constant. Mass. Sign of Acceleration. Comparing Position, Velocity, and Acceleration Graphs. Adding Damping to Air Glider. Adding Wind Resistance to Drag Racer.
- Worksheet 1: Velocity from Position (Lionel Messi Run).
- Worksheet 2: Position from Velocity (Lionel Messi Run).
- Worksheet 3: Steady Acceleration with Graphs (Drag Racer).
- Computer Science Day 1-1: Markdown. Statements. Expressions. Variables and Assignments. Types.
- Computer Science Day 1-2: Comparisons; While Loops; Lists; Lists vs. Arrays.
- Computer Science Day 1-3: Tuples; Unpacking Tuples; Ranges; For Loops; Compare and Contrast Lists, Tuples, and Ranges.
- Computer Science Day 1-4: Introduce Function Definitions (Power-of-Two Implementation), Function Usage (Call Sites), Scope of Variables. Lifetime of Variables. Pass-by-Value Example (Alternate Power-of-Two Implementation). Pass-by-Reference Example (Add-to-Roster).1
- Jupyter Notebook 1-1: Python Building Blocks (for the first week, we will run the notebooks online using Binder — starting in the second week, see Directions for Using Jupyter Locally on the Lab iMacs)
- Jupyter Notebook 1-2: Lionel Messi Run
- Jupyter Notebook 1-3: Drag Racer
- Jupyter Notebook 1-4: Air Glider
- Homework 1 (assigned 2020-01-10, due 2012-01-13): Adding Damping to the Air Glider. Adding Wind Resistance to the Drag Racer.
- Physics and Math Day 2-1: Lengths; Angles; Position, Velocity, and Acceleration in 2-D; Similar Triangles; Getting Components of Vectors from Lengths and Angles; Newton's Laws in 2-D, Vector Form, Component Form.
- Physics and Math Day 2-2: Getting Lengths and Angles from Components of Vectors; Air Resistance in 2-D. Rocket Thrust in 2-D.
- Physics and Math Day 2-3: Newton's Universal Theory of Gravitation.
- Physics and Math Day 2-4: Midterm at this time.
- Computer Science Day 2-1: Directions for Using Jupyter Locally on the Lab iMacs. If Statements and Variants, If/Else, If/Elif, and If/Elif/Else.
- Computer Science Day 2-2: Libraries; Import Statements; Dependencies and Backtraces (see last section of Jupyter Notebook 2-2).
- Computer Science Day 2-3: Unit Testing (see examples in Jupyter Notebook 2-3) and Debugging with the PDB Commands (excerpted from the Python 3.7 reference)
- Computer Science Day 2-4: Matrices and the numpy library. Objects. Methods. Libraries. Library Functions.
- Jupyter Notebook 2-1: Knocking the Ball out of the Park (see directions for Using Jupyter Locally on the Lab iMacs) (solved Notebook).
- Jupyter Notebook 2-2: Home Run with Air Resistance (solved Notebook).
- Jupyter Notebook 2-3: Newton's Cannon — Introducing
unittest
(solved Notebook). - Jupyter Notebook 2-4: Introduction to Numpy.
- Homework 2 (assigned 2020-01-14, due 2012-01-16): Turning the Baseball into a Rocket. Replacing Drag with Thrust. HW2 Solution.
- Physics & Math Day 3-1: First Order Differenential Equations. Charging a Battery. Charging a Capacitor (see Homework 3). Viral Exponential Growth.
- Special Economics Day 3-2 with Prof. Margitay-Becht: Solow-Swan Economic Growth Model.
- Physics & Math Day 3-3: Elliptical Orbits. Kepler's Laws.
- Physics & Math Day 3-4: Transfer Orbits. Energy Conservation.
- Computer Science Day 3-1: Mutability, Assignment, and Performance of Python Lists and Numpy Arrays.
- Computer Science Day 3-2 with Prof. Margitay-Becht: Multi-Function Plots.
- Computer Science Day 3-3: Improving on the Euler and Euler-Cromer Update Methods with 2nd Order Runge Kutta.
- Computer Science Day 3-4: Data Visualization with Pandas.
- Jupyter Notebook 3-1: Litihium-Ion Battery Charging (solved Notebook).
- Jupyter Notebook 3-2 with Prof. Margitay-Becht: Solow-Swan Economic Growth Model (solved Notebook).
- Jupyter Notebook 3-3: Elliptical Orbits and Second-Order Runge-Kutta (solved Notebook).
- Jupyter Notebook 3-4: Transfer Orbits, Energy Conservation, Pandas.
- Homework 3 (Assigned 2020-01-22, due 2020-01-24): Exponential Decay — Charging a Capacitor. HW3 Solution.
- Start Final Project Planning on Day 3-4.
- Final Project Preparation Day 4-1: Class-time devoted to preparing final projects. Short progress presentations.
- Final Project Preparation Day 4-2: Class-time devoted to preparing final projects. Short progress presentations.
- Final Project Preparation and Presentations Day 4-3: 2/3 of class time devoted to preparing final projects; 1/3 devoted to first 3 final project presentations.
- Final Project Presentations Day 4-4: Remaining eight final project presentations.
- Homework 4 (Assigned 2020-01-22, due 2020-01-27): Correct Missed Problems on Midterm.
1: For students who had an easy time accepting the pass-by-value and pass-by-reference rules, here is a good-quality and patient explanation of how those somewhat contradictory rules are actually highly compatible: Is Python pass-by-reference or pass-by-value? The bottom line is Python is indeed pass-by-value, but a list is an object — we haven't learned about objects yet! — and for objects the variable and the function argument are references to the object, not the object itself. This means that the function body gets a copy of the reference to the list, and the copy of the reference still refers to the original list.