CAPP 30122 - Computer Science with Applications 2
This course expands upon the computational thinking & skills taught in 30121, with a focus on applications to real world problems in policy-adjacent spaces. It consists of lectures, discussion sections, and programming assignments. The course culminates in a final project built on a team -- expanding & demonstrating the programming & data skills built through the first two quarters.
Prerequisite: CAPP 30121 or approved equivalent course.
Course Goals
- Continue building general programming skills. Includes object-oriented programming, the structure of Python applications, and data structures.
- Learn to work with real data: including APIs and web scraping.
- Learn techniques & tools for data cleaning, merging, analysis, and visualization.
- Gain experience building a project from scratch and working on a project as part of a team.
Course Staff
Instructor: James Turk
Email: jturk@uchicago.edu
Office: JCL 398E
Teaching Assistants
- Caitlin Pratt
- Daniel Muñoz Batista
- Gregory Mitchell
- Hieu Nguyen
- Stacy George
Office Hours
(TA Hours start in Week 2, James' in Week 1)
Who | Where | When |
---|---|---|
Stacy George | JCL Common Area 2A | Monday 1pm-3pm |
James Turk | JCL 398E | Tuesday 3pm-5pm |
James Turk | JCL 398E | Wednesday 11am-noon |
Caitlin Pratt | JCL Common Area 3A | Wednesday 1:30pm-3:30pm |
Hieu Nguyen | JCL Common Area 3A | Thursdays 3-5pm |
James Turk | JCL 398E | Thursdays 2-3pm and 5-6pm |
Gregory Mitchell | JCL Common Area 2A | Friday 11am-1pm |
Daniel Muñoz Batista | JCL Common Area 2A | Friday 3pm-5pm |
Schedule
Schedule subject to change, major changes will be announced in class and on Ed Discussion.
Week | TA Session | Topics | Assignments |
---|---|---|---|
1 |
Install Party / PA #1: Debugging & Testing |
|
|
2 |
PA #2: Application Structure & Data Formats |
|
PA #1 Due - Friday, Jan 17 @ 11:59pm Project Milestone #1 Due - Sunday, Jan 19 @ 11:59pm |
3 |
PA #3: Web Scraping |
|
PA #2 Due - Friday, Jan 24 @ 11:59pm |
4 |
PA #4: Data Structures |
|
PA #3 Due - Friday, Jan 31 @ 11:59pm
Project Milestone #2 Due - Sunday, Feb 2 @ 11:59pm |
5 |
PA #5: GIS |
|
PA #4 Due - Friday, Feb 7 @ 11:59pm |
6 |
PA #6: Record Linkage |
|
PA #5 Due - Friday, Feb 14 @ 11:59pm |
7 |
PA #7: Graphs |
|
PA #6 Due - Friday, Feb 21 @ 11:59pm
Project Milestone #3 Due - Sunday, Feb 23 @ 11:59pm |
8 |
Project Check-Ins |
|
PA #7 Due - Friday, Feb 28 @ 11:59pm |
9 |
TBA |
|
|
10 |
Project Fair - Monday, Mar 10 @ 2pm-4pm in JCL 390
Final Commits Due - Tuesday, Mar 11 @ 11:59pm |
Meeting Times
Each section will meet for lectures two days a week and with a teaching assistant for a discussion section one day a week.
Section | Time | Location |
---|---|---|
#1 | Tue/Thu 11:00am-12:20pm | Ryerson 277 |
#2 | Tue/Thu 12:30pm-1:50pm | Ryerson 277 |
Section | Time | Location | Instructor |
---|---|---|---|
1L01 | Tue 10-10:50am | Ryerson 277 | Daniel Muñoz Batista |
2L01 | Tue 10-10:50am | Saieh 242 | Caitlin Pratt |
1L02 | Tue 2:10-3pm | Ryerson 178 | Stacy George |
2L02 | Tue 2:10-3pm | Ryerson 176 | Gregory Mitchell |
Readings
There is no dedicated textbook for this course.
Each week I will share recommended readings & in some cases required readings that will be needed to supplement the content we can cover in class.
If you ever feel like additional outside content would be helpful, please ask on Ed and I am glad to find additional high-quality resources.
Server Environment
We have custom VMs for this course with the required version of required tools.
Please use these in lieu of the linux.cs.uchicago.edu servers to ensure assignments work as expected.
Pick your server based on the first letter of your CNetID:
First Letter | Server |
---|---|
A, B, C, D, E | capp30121-0.cs.uchicago.edu |
F, G, H, I | capp30121-1.cs.uchicago.edu |
J, K | capp30121-2.cs.uchicago.edu |
L, M, N, O | capp30121-3.cs.uchicago.edu |
P, Q, R, S | capp30121-4.cs.uchicago.edu |
T, U, V, W, X, Y, Z | capp30121-5.cs.uchicago.edu |