Skip to content

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

Note

James is also available by appointment:

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
  • Course Intro
  • Packages & Tools
  • Testing & Debugging
2
PA #2: Application Structure & Data Formats
  • Data Formats
  • HTTP & APIs
PA #1 Due - Friday, Jan 17 @ 11:59pm
Project Milestone #1 Due - Sunday, Jan 19 @ 11:59pm
3
PA #3: Web Scraping
  • Web Scraping
PA #2 Due - Friday, Jan 24 @ 11:59pm
4
PA #4: Data Structures
  • Complexity
  • Data Structures
PA #3 Due - Friday, Jan 31 @ 11:59pm
Project Milestone #2 Due - Sunday, Feb 2 @ 11:59pm
5
PA #5: GIS
  • Object-Oriented Programming
  • GIS
PA #4 Due - Friday, Feb 7 @ 11:59pm
6
PA #6: Record Linkage
  • Regular Expressions
  • String Metrics
  • Record Linkage
PA #5 Due - Friday, Feb 14 @ 11:59pm
7
PA #7: Graphs
  • Graphs
PA #6 Due - Friday, Feb 21 @ 11:59pm
Project Milestone #3 Due - Sunday, Feb 23 @ 11:59pm
8
Project Check-Ins
  • Data Visualization
  • Automation
  • Data Pipelines
PA #7 Due - Friday, Feb 28 @ 11:59pm
9
TBA
  • Application Architecture
  • Conclusion
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