Course Syllabus
Computer Programming for Lawyers TuTh 3:35 PM - 5:25 PM Instructor: Chris Hoofnagle Office Hours: Wednesday, 10:30-11:30. Tutoring Sessions: Mondays (Lydia) 5:15-7:15 in Simon 486 & Zoom Zoom Link: Zoom Rooms for Class and Tutoring |
Course Description | Attendance | Assessment | Collaboration policy
Course Schedule
CPL | TuTh 3:35-5:25 | ||
From January 11, 2022 | |||
To April 22, 2022 | |||
Class | Date | Topics/Assignments | |
OH | Week of Dec. 27, 2021 | I'll do special office hours over the holidays on Zoom for those interested in getting an early start! | |
OH | 10-Jan at 10:30-11:30, 1:30-2:30 | Special office Hours. You must participate in this session if your Jupyter environment is not working | |
1 | 11-Jan |
|
|
Before first class material e.g. Read Chapters 1, 3, and 4 (skip sections 4.2, 4.3.1, 4.3.2, and 4.4) in Ohm & Frankle | |||
Actions | |||
and complete Problem Set 0 | |||
Download Problem Set 0. | |||
2 | 13-Jan | Please attempt PS1 before lab. | |
TUTORING | 17-Jan | Lydia will host a special session 2-4 | |
3 | 18-Jan | Week 2: Conditionals and While-Loops | |
PS1 due before class. Submit via bcourses | |||
Read Chapters 5 and 6 in Ohm & Frankle | |||
4 | 20-Jan | Please attempt PS2 before lab | |
TUTORING | 21-Jan | Aahay's weekly Friday tutoring session is from 12-2 | |
5 | 25-Jan | Week 3: Lists and Iteration I | |
PS2 due before class. | |||
Please Read Chapters 7, 8, & 9 in Ohm & Frankle | |||
6 | 27-Jan | Please attempt PS3 before lab | |
7 | 1-Feb | Week 4: Lists and Iteration II | |
PS3 due before class | |||
Review chapter 8, read chapter 10.1-10.3 plus the cheatsheet | |||
8 | 3-Feb | Please attempt PS4 before lab | |
9 | 8-Feb | REVIEW WEEK | |
10 | 10-Feb | REVIEW WEEK | |
11 | 15-Feb | Week 5: Datastructures | |
Please read Chapter 4.4 (text files), review Chapter 8.4 (lists and text files) | |||
Please read Chapter 10.4-10.6 | |||
12 | 17-Feb | Please attempt PS5 before lab | |
13 | 22-Feb | Week 6: Functions I | |
We're going to have less material this week as part of a catch up and synthesis effort | |||
PS5 due before class | |||
14 | 24-Feb | Please read Chapter 11.1-11.2. | |
Please attempt PS6 before lab | |||
15 | 1-Mar | Week 7: Functions II | |
PS6 due before class | |||
Please review Chapter 11.1-11.2 and read 11.3-end of chapter | |||
16 | 3-Mar | This week we will work our problem set in class. | |
17 | 8-Mar | Week 8: Files and Directories | |
Please read Chapter 12 | |||
Please attempt PS8 before lab | |||
18 | 10-Mar | ||
19 | 15-Mar | Week 9: Regex | |
Please read Chapter 13 | |||
20 | 17-Mar | For Problem Set 9, we'd like you to practice your Regex skills using RegexOne. Spend some time on the tutorial (15 lessons) and the problems (9). Don't worry about donating--I've already done so on your behalf :) You need only look over this for lab. But please complete all the lessons and problems by Week 10's lecture. | |
Spring Break | 22-Mar | ||
Spring Break | 24-Mar | ||
21 | 29-Mar | Week 10: Regex II, PDF, and Excel | |
PS9: due (survey) | |||
Please read Chapters 14 and 15 | |||
22 | 31-Mar | Please attempt PS10 before lab | |
23 | 5-Apr | Week 11: Web Scraping I | |
PS10 due before class | |||
Please read Chapter 16 | |||
24 | 7-Apr | Please attempt PS12 before lab (to keep up with numbering, we're not using PS #11) | |
25 | 12-Apr | Week 12: Web Scraping II and JavaScript 101 | |
PS12 due before class | |||
Please review Chapter 16; other reading TBD | |||
26 | 14-Apr | Please attempt PS 13 before lab | |
27 | 19-Apr | Week 13: APIs | |
PS13 due before class | |||
Please read Chapter 17 | |||
28 | 21-Apr | We will work APIs in class | |
Before the first class: Install Anaconda: https://www.anaconda.com/products/individual Use the latest version (Python 3.9) This manages "Jupyter Notebook" If you are a Windows user, choose to *also* install **Anaconda Prompt** -- this will be your terminal from which you will activate virtual environments and access your labs. On windows, Anaconda may prompt you to "Add Anaconda3 to my PATH environment variable. Please selection this option. Watch the Introduction to Jupyter Video (in Files>Videos) and spend some time playing with Jupyter Notebook. You'll want to download this video because bCourses reduces its resolution if you watch it through the website. Read Chapters 1, 3, and 4 (skip sections 4.3.1, 4.3.2, and 4.4) in Ohm & Frankle. The textbook is in Files >. Starting with Chapter 3, please create a Jupyter notebook for the chapter. Please type in every line of code that is given as an example in Ohm & Frankle (with certain exceptions). For instance, in section 3.1, the textbook asks you to enter 2 + 2 and evaluate the expression in a program called "IDLE." We'd like you to test those expressions, but instead of entering them into IDLE, evaluate them in Jupyter Notebook. Exceptions: The Ohm textbook is based on using a text editor to compose code and Terminal/PowerShell to execute it, whereas we will be using Jupyter for both composing and execution. Code examples with a "$" symbol denote a command line argument. In Jupyter, those examples must be preceded by a "bang" (an exclamation point), as in !ls or !pwd The exercise of typing in the code examples may seem tedious, but you will find that learning Python is like learning a foreign language. You can read examples and "get it," but you will be unable to "speak it" without actual practice. Complete Problem Set 0 and submit it via bCourses. Register for Piazza: https://piazza.com/berkeley/spring2022/law27634sem001/home and introduce yourself on Piazza.