Welcome to Physics 307!
3 December agenda
- Touch base with everyone on Project 7
- Introduce what we’re doing for the rest of the semester, posted at Project 8
- New notes:
7 November agenda
- Introduce Project 7b (note the link update)
- Talk about the connection between microscopic and macroscopic properties of the vibrating string model
- Talk about the expected small-amplitude behavior of the vibrating string
31 October agenda
- Introduce Project 7 and start on Project 7a (the first part of the vibrating string project)
- Introduce the idea of arrays in Python (used for things other than Cartesian vectors) and C, used to store large collections of numbers that are referenced by index
New notes:
24 October agenda
- Teach computers to do vector math:
- in Python, by using NumPy “arrays” to emulate vector math – see the notes on vectors in Python
- in C, by using a vector library that creates a new data type – see the notes on vectors in C
- Introduce Project 6
17 October agenda
- Discuss simulating motion in two dimensions
- Discuss simulating orbital motion
- Look at a few anim tricks to make this pretty
- Introduce Project 5
8 October agenda
- Talk about measuring the period of a pendulum
- Here’s an example of a well-written Project 2 report if you’d like to take a look.
3 October agenda
- Discuss an approach to solving second-order differential equations, discussed in the previous not
- Introduce how to make animations
- Introduce Project 4
- Discuss the small-angle analytical solution to the swinging pendulum
24 September agenda
- Introduce the numerical solution of differential equations
- Introduce Project 3
- Have a quiz (possibly)
19 September agenda:
Today’s agenda will involve a bit of looking back:
- Touch base after the class I missed while sick and see how you’re doing
- Talk about how to write a good report
- Talk about the schedule going forward a bit
… but mostly looking forward:
- Introduce the numerical solution of differential equations
- Introduce Project 3
17 September agenda:
I am home sick with COVID. This means that Jada and Nico will be running class today. However, I’ll be at home (grading your projects, since I feel well enough to do that now), and can give instant answers to anything on Discord or Slack or by email. I can also talk to anyone on the phone/Zoom who wants.
All I was planning on doing today is working on Project 2. This is the sort of thing where you should work on your own code and data and ask questions as you have them. However, I’ve written a detailed set of notes that outlines a framework for you to work in, and has some common “Why do my data look like this?” scenarios.
Here are the Notes on Project 2.
I suggest you read sections 1 and 2, then hack on your code; if you see something weird in your data, look in Section 3 to see if there’s a discussion of it.
I hope I’ll be back Thursday! Note: I am delaying the due date of Project 2 until before class next Tuesday, but I expect that you will be done with everything except your writeup by class Thursday. We’ll discuss how to do a good project report in class Thursday; then you have all weekend to write it up.
12 September agenda:
- Recap Project 1
- Introduce Project 2
- Talk about perturbative analysis of integration methods
10 September agenda:
- Introduce Project 2 very briefly for those who are ready to start it
- Talk about log-log plots
- Finish Project 1 and/or start Project 2
5 September agenda:
- Introduce the idea of functions (see the notes on functions)
- Talk about how to do the “prime number counter” part of Project 1
- Introduce the idea of modularity
- Do an in-class pair programming exercise applying the idea of modularity to Project 1. This exercise will be worth a small amount toward your grade.
3 September agenda:
- discuss Project 0 and any issues that came up
- talk more about variable types, how assignment and math works, and conditionals
- get started on Project 1
29 August agenda:
- talk about the syllabus a bit, since we didn’t do that before :)
- talk about how to graph functions: see the notes
- introduce Project 0
27 August agenda:
- talk briefly about what this class will be, and what you can expect
- introduce you to the folks teaching this class
- get everyone set up in a terminal environment on their own computer to work in this semester
- introduce some basic Linux commands and the C and/or Python programming languages
- guide everyone through writing their first program!
In more detail, here are the instructions for the first day:
- Get your computers set up to do computational physics:
- Set up a terminal environment to program in
- Install the software we’ll be using for our class (a tool to make plots)
- Join the Slack channel at suphysics.slack.com or the Discord server and send memes/say hi
- Get started writing code in C, Python, or both:
- You can find notes about both C and Python on the notes page, along with a comparison of the two. I’ll also demonstrate both.