131B
Write useful programs in the object-oriented language Python (SLOs). Use Severance’s “Python for Everybody” and the official documentation. Watch the captioned orientation video. See the course policies. The instructor is Aaron Brick. Our section and CRN are 931/32675 & 932/34875 & 933/34876. Full details appear below as time passes.

1/29 – 2/4
2822
Background See Course philosophy & Course policies & Video briefing & Instructor’s Notes #1.
2/5 – 2/11
2823
Server See Kevin Heard’s UNIX Tutorial 1 through 5 & Peter J. Denning’s Can Generative AI Bots Be Trusted? & Video briefing & Instructor’s Notes #2. Write a program that prints nothing, but contains a single comment identifying what, in your opinion, is the best song of all time due 2/11.
2/12 – 2/18
2824
Interpreter See Severance 1 & Video briefing & Instructor’s Notes #3. Write a program that prints out the name of your representative in the California Assembly & peer review, both due 2/18.
2/19 – 2/25
2825
Objects See Severance 2 & Video briefing & Instructor’s Notes #4. Write a program to determine what portion of the global population has permanent representation on the United Nations Security Council. Make sure to cite the sources of the figures you use & peer review, both due 2/25.
2/26 – 3/3
2826
Math See Video briefing & WikiBooks Python Programming’s Basic Math & Instructor’s Notes #5. Write a program that calculates and displays how many times more people each Los Angeles County Supervisor represents than each San Francisco Supervisor. Make sure to cite the sources of the figures you use & peer review, both due 3/3.
3/4 – 3/10
2827
Containers I See Severance 6, 8, and 10 & Video briefing & Instructor’s Notes #6. Write a program that prints out the exact command line arguments it receives, unchanged, but reordered from last to first & peer review, both due 3/10.
3/11 – 3/17
2828
Containers II See Severance 9 & Video briefing & Instructor’s Notes #7. Write a program that prints all the unique command line arguments it receives in alphabetical order, avoiding any duplication & peer review, both due 3/17.
3/18 – 3/24
2829
Conditionals See Severance 3 & Video briefing & Instructor’s Notes #8. Write a program that simulates throwing a 9-sided die and a 9000-sided die, once each, and indicates whether or not the sum of the results is a multiple of three & peer review, both due 3/24.
3/25 – 3/31
2830
Repetition See Daw-Ran Liou’s You (Probably) Don’t Need For-Loops & Video briefing & Instructor’s Notes #9. Adapt the previous assignment to expect a command line argument indicating how many times to roll both dice, and print the percentage of the time that the sum of the results was a multiple of three & peer review, both due 3/31.
4/1 – 4/7
2831
Exceptions See Aaron Maxwell’s Exceptional Logging of Exceptions in Python & Video briefing & Instructor’s Notes #10. Write an adder program that prints the sum of all the integer command line arguments passed, ignoring any non-integers that may be mixed in & peer review, both due 4/7.
4/8 – 4/14
2832
Files See Severance 7 & Video briefing & Instructor’s Notes #11. Write a program that estimates the number of unique words in the text whose pathname is passed as argument. Test with /users/abrick/resources/urantia.txt & peer review, both due 4/14.
4/15 – 4/21
2833
Functions See Severance 4 & Video briefing & Instructor’s Notes #12. Write a program that shows ten unique random words, all over ten characters long, that occur in the text whose pathname is passed as argument. Test with /users/abrick/resources/urantia.txt & peer review, both due 4/21.
4/22 – 4/28
2834
Regex Homework & peer review, both due 4/28.
4/29 – 5/5
2835
Objects Homework & peer review, both due 5/5.
5/6 – 5/12
2836
Web client Homework & peer review, both due 5/12.
5/13 – 5/19
2837
Peer review due 5/19.