techred home > python 2 session schedule

Course concept progression

The following table maps course session dates, lesson topics, references, and content links for ATE-252, a cross-disicplinary exploration of issues in transportation analytics.

course date wk no. session links learning objectives out-of-class work
DAT-129 Wed

Intro to course and data structure exercise

link to youtube recording of session

Icon project Overview

link to youtube recording of session
  1. Complete phase 1 specification in the icon moudle
  2. Update or create a git respository to house your work in this classs. Setting up GIT tutorial
  3. Once your git repo is setup, make an entry in the git repo tracker for python 2
DAT-129 Wed

git essentails

link to youtube recording of session

git branching

Implement code modularity suggestions in a peer's project

  1. Continue your icon project to a fully-baked state for week 3. Use git on the command line to make commits during your work sessions.
  2. Take a stab at one or all of the warm-up exercises posted at the top of the dictionaries module.
  3. [Optional] Clone down a peer's git repository from last week. Create a new branch from their primary work branch on which you can make adjustments without interfering with their workflow.
  4. [Optional] Implement functionality to allow for display of an icon written to a text file. The program should ask the user for the name of the file (assuming it's in script's directory) AND the character used to represent no shading and the character used to represent shading.
DAT-129 Wed

Session Recording

video link

File i/o, JSON, and git

Book resources (Dietel)

  1. 9.5: Serialization with JSON
  2. 9.12: Working with CSV
  3. Chapter 6: Dictionaries and sets
  1. Dowload the geojson file for the Pittsburg's capital projects on the WPRDC and make a good faith effort at the mini tasks 1,2,and 3 listed after the warm-up in the module page.
DAT-129 Wed

Session Recording

video link

Query spec building in JSON; advanced git

Deitel textbook: Chapter 9, special focus on 9.5

Clone, push to, pull from, and make pull requests to remote git repos

Encode and decode JSON files in Python

  1. Create a .json file which encodes a search criteria for capital projects in Pittsburgh. Write python code which ingests that JSON file and uses it when iterating over the capital projects file, creating an output file featuring only projects that match your criteria.
  2. Create a markdown file in your capital projects work folder that details how to use your JSON file to encode a search criteria. Include at least three different criteria in your search.
  3. Push your changes to your own github repository
DAT-129 Wed

Session recording

vieo link

Application programming interfaces 1

Encode a query in a URL and demonstrate its use by making a URL-encoded query against a remote API compouter

Write python to make HTTP requests using the requests library

  1. Study the supplies resources in the api module, familiarizing yourself with the API process by completing the in-class exercise with Donors Choose or NHTSA recalls
  2. Find an API of your choosing using Api directory at Programmable Web related to a data domain of interest which returns results in JSON (or, if you're ambitious, XML). Secure an API key if needed, and make an initial call to your server to demonstrate a working skeleton in class next week.
  3. When you have decided on an API, please make an entry in our tracker spreadsheet
DAT-129 Wed

Application programming interfaces 2: Share mini-projects

Prepare peer tutorial for next week

Wrap-up API proj

  1. Complete thorough documentation of your API project in readme.md files and push to git. Include screen shots of your output and links to any API resources you used along the way.

Prepare peer tutorials

DAT-129 Wed

Video recording

video link

Check-in on peer teaching-

Visualize API Data

Prepare your peer mini-lessons and reference sheets for next week

Attempt a rudimentary contiainerization and visualization of your API data for the 28th of October.

DAT-129 Wed

DAT Planning Survey

Burst peer-teaching round robins

  • Object-oriented python: Thomas, Joanne
  • Function/Lambda: Rob, Paul
  • Exceptions: Steve, Chelsea
  • Regexps: George, Jill
  • Functions (generator, etc. object-oriented function use): Cliff
  • Comprehensions (list, dictionary): Rachel R.

Tidy up and fully-bake API project for "formal" sharing next week before Scraping soup madness!

DAT-129 Wed

Formal API sharing

Prepared 5-minute overview of your process, data, conclusions, and ideas for future work. Prepare to field questions from other students.

Web fundamentals & scraping

DAT-129 Wed

Scraping mini project sharing

Plan on having your scraping project pushed to git by the start of class so a peer can clone and test your project

ToDo for wrap-up of scraping

  1. Get working code that scrapes an HTML page
  2. Optional: Add one embellishment to your code: database interaction, pandas vis, link-following
  3. Describe your project in a readme.md file and include a screen shot of both your output and the HTML your BeautifulSoup scrapes. See this sample markdown file with an image; just include the image file in the same directory as your markdown file
  4. Push your completed project to your github and insert link in our master tracker
DAT-129 Wed

Slack connect


For those who didn't share a mini-lesson, please plan to host a small group via zoom next week. In queue we have argparse (Joel) and recursion (Zach) and any others who didn't share on our scheduled day


Introduction to pandas visualization

DAT-129 Wed

Secondary mop up of peer teaching

  • Eric M. (Comprehensions
  • Alex H. (Comprehensions)
  • Eric W. (Regexp)
  • Drew (Regexp)

OS & file tree traversals

Choose one or both of these:

  1. Implement a substantial attempt at solving a mini-project proposed by one your peers' mini projects
  2. Endeavor to quantify and visualize an aspect of a file tree using os and shutils and perhaps mapplotlib
DAT-129 Wed

Turkey day; no class all week

DAT-129 Wed

Visualization with matplotlib

Final project design

DAT-129 Wed

Database connectivity

Final project design consultations