techred home > python 2 session schedule

Course concept progression

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

Intro to course and data structure exercise

Icon project Overview

Icon project Overview

  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

SP'21 Session Recordings

git essentails

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

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

Process a csv and compute summary stats

Either building on Eric's sample with TRI Water or your own chosen CSV/tabular data set, identify a inquiry question and write a python script to iterate over each record, assembling data bits in a master data container of your own design.

Prepare a somewhat clean output of your tabulations which relate to your inquiry question. Prepare to share in small groups next week.

DAT-129 Wed

Session Recording

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

Document and Clean up work

Take the week to clean up your Icon and CSV processing files and create markdown readme files to share your screen shots of the programs working with the world!

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

Session Recording

Application programming interfaces 2

Prepare peer tutorial for next week

Prepare peer tutorials

DAT-129 Wed

Undertake peer teaching

  1. Modules: Paige, Katie
  2. Comprehesions: Alissa, Monica
  3. Generator functions: Virginia
  4. Regexps: Carl, Kamala
  5. Object Python: Shane K., Evan B.
  6. Exceptions: Jon, Matthew
  7. Function magic (functions as objects): Leon
  8. Lambda Functions: Timothy, Rachael

Continue Peer Challenges

Choose one of your peer topics to test on your own by baking in one of the peer topics into an existing python project you've made so far.

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.
  2. Prepare a mini-share to show off your API work with your peers next week, before Spring break.
DAT-129 Wed

Share API Mini-Projects and implement peer teaching topic

Mop up peer teaching

If you didn't get a chance to share your peer lesson last week, please target to share this week.

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

Implement peer topic in your API projecect and push to git

Choose a topic presented by one of your peers (not your own) and make use of niftiness in your API project. Log the topic you implemented, notes about how and why you did so, and a link to a git repo that contains a pushed version of your code whose commit message contains the text "peer topic". Log your work in the sky-blue sheet/tab of the tracker spreadsheet called "API_implement_peer_topic"

DAT-129 Wed

Spring Break!

DAT-129 Wed

Web fundamentals & scraping

Use beautifulsoup4 to extract basic data from a website's HTML

  1. Choose a website to scrape and do a little coding to see if you can get at least a piece of information out of the HTML. Prepare to flesh out your project next week.
DAT-129 Wed

Session Recording

Web scraping project fleshout

  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


Database interactivity

Practice DB inserts & selects

Choose a data source, either a CSV related to your project or from your API calls: create a table of appropriate column types, write inserts to store the data, and demonstrate that you can extract data with the cursor.extractall() function. Enjoy

DAT-129 Wed

Session Recording

Mop Up Databases

Final project

Begin your final project

Make an entry in our master tracker spreadsheet

DAT-129 Wed

OS & file tree traversals

Visualization with matplotlib

Final project design

Fully bake final project and prepare for sharing

See sample git repo with screen shots and conclusions written in markdown

Use our master markdown tutorial to create a readme.md

DAT-129 Wed

Session Recording

Eric will have Office Hours starting at 1700h/5:00pm

Rest of group will start at 7:00 pm!
  • Grade proposal cards
  • Two small groups for project sharing (review guide)