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

  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. Email Eric at edarsow@ccac.edu with a URL to your current respository for posting on our course website
DAT-129 Wed

Dictionaries, JSON, and git

git branching, forking, and pull requests

Implement code modularity suggestions in a peer's project

  1. 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.
  2. 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

File i/o, JSON, and git

  1. Review modularity of code concerning Icon processing
  2. Git merging, conflict resolution, forking, pull requests
  3. Reviewing essential text file processing: dictionary traversals
  4. File processing examples
  1. Complete our icon project with as many transformations as possible
  2. Make sure to have it pushed to your git repo and have emailed Eric the link and Be sure to have reviewed a peer's project
  3. Explore the city of Pittsburg's capital projects on the WPRDC and answer a question by processing the dataset as a CSV
DAT-129 Wed

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

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

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 tutorial for next week

DAT-129 Wed

Burst peer-teaching round robins

None! Relax if you're all caught up.

DAT-129 Wed

Rescheduled "spring break"

DAT-129 Wed

MtngID: 614 961 8122
Ph:+1 646-558-8656

Web fundamentals & scraping

DAT-129 Wed

MtngID: 614 961 8122
Ph:+1 646-558-8656

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

MtngID: 614 961 8122
Ph:+1 646-558-8656

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

MtngID: 614 961 8122
Ph:+1 646-558-8656

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

MtngID: 614 961 8122
Ph:+1 646-558-8656

Visualization with matplotlib

Final project design

DAT-129 Wed

MtngID: 614 961 8122
Ph:+1 646-558-8656

Database connectivity

Final project design consultations

DAT-129 Wed

MtngID: 614 961 8122
Ph:+1 646-558-8656

Final grade proposals

Note: Attendance at final session and sharing of fully-baked final project is required to sufficiently justify a grade proposal of A or B except for pre-approved absences and “urgent, incidental, overriding life events”

Final project Sharing