Course Materials
Physics 129 Course Information
Homework Guidelines Handout
Project Guidelines Handout
Please note: the recorded lectures, and in some cases the lecture notes, are several years old. While the content they contain is still useful, you must refer to the course web page for the current versions of due dates, assignment guidelines, and course rules and procedures.
Slides
Probability distributions
Finite difference method
Laplace's equation
Unpack your Raspberry Pi
Configure your RPi and install the Phys 129 software
Password security
Homework overview
Course philosophy and computer history
Numbers and files
The shell and some common commands
Files, processes, and more about the shell
Formatting and mounting a flash drive
Processors, languages, and Python
Programming in Python, part 1
Programming in Python, part 2
Programming in Python, part 3, process control, and links
Command line arguments This is a short excerpt from
next week's first lecture that you will need to solve
the Fibonacci Numbers problem.
In the lecture on sampling, convolution, and Fourier transforms, there is a mistake in the convolution and signal recovery illustration starting at 9:08. I left out a factor of π in the argument of the sine function and the denominator of g(τ). You may wonder how the signal recovery worked so well even though I did this. It turns out that although most people define the sinc function as sin(x)/x, some use a normalized sinc function, which is sin(πx)/(πx). The NumPy library happens to use the normalized version, so when I called np.sinc(τ/T), I got sin(πτ/T)/(πτ/T), which is the correct function. It is easier to use np.sinc() than np.sin(x)/x, since np.sinc() will prevent division by zero if x = 0. You can see the corrected illustration by running this program.
Homework 1 — problems due Saturday, January 13, at 11:55 PM via Gradescope.
Homework 2 — problems due Saturday, January 20, at 11:55 PM via Gradescope.
Homework 3 — problems due Saturday, January 27, at 11:55 PM via Gradescope.
Homework 4
— problems due Saturday, February 3,
at 11:55 PM via Gradescope.
Homework 5
— problems due Saturday, February 10,
at 11:55 PM via Gradescope.
Homework 6
— problems due Saturday, February 17,
at 11:55 PM via Gradescope.
Email to Prof. Lipman due Friday, February 16.
Homework 7
— problems due Saturday, February 24,
at 11:55 PM via Gradescope.
Homework 8
— problems due Saturday, March 2,
at 11:55 PM via Gradescope.
Homework 9
— problems due Saturday, March 9,
at 11:55 PM via Gradescope.
Homework 10
— problems due Saturday, March 16,
at 11:55 PM via Gradescope.
Jason will hold lab/office hours in Broida 5223.
Attendance in lab is optional, and you are welcome at any
time.
Jason's hours will be as follows:
Tuesday–Friday from 3:30–4:45 PM
Please note that the lab will not be staffed on Mondays. This
enables us to have Friday hours, just before the homework is due
on Saturday.
Raspberry Pi installation (txt)
Flash drive procedures (txt)
I2C wiring procedures
Contents
Tutorial
Library Reference
Matplotlib
Requests library
Beautiful Soup
The Linux Command Line, Fifth Internet Edition
by William E. Shotts, Jr.
PostScript Language Tutorial and Cookbook
PostScript Language Reference Manual
Julian day handout
Raspberry Pi GPIO pin diagram
Raspberry Pi 5 I2C wiring photo
Raspberry Pi 400 I2C wiring photo
MCP9808 wiring diagram