Final Projects

Lecture: Tuesday, May 3, 2016

First round of project presentations -- final project presentations are on Monday, May 9, 8:00am - 11:00am.


Extra office hours for the final project

Wade will have two extra office hours for the final projects:

  1. Thursday, May 5, 1:30pm - 3:30pm+ (2215 Siebel)
  2. Friday, May 6, 11:30am - 1:30pm+ (2215 Siebel)

CS 205: Project Presentations (during final exam period)

Final project presentations will be held during the final exam period for CS 205. That is: Monday, May 9, 8:00am - 11:00am.

Make sure to commit all code for your final project before coming to the final exam period. You can do this by running the following commands in your CS 205 Workbook directory:

git add -A
git commit -m "All files"
git push origin master

Experience 13: Pixels, Clustering, and Distance Metrics

Lecture: Tuesday, April 26, 2016

  1. Merge today's branch (exp_colorFreq):
    • git fetch release
      git merge release/exp_colorFreq master -m "merge"
  2. Lecture Slides: Web Technologies (Google Slides)

Lecture: Tuesday, April 28, 2016

  1. Merge today's branch (exp_clustering):
    • git fetch release
      git merge release/exp_clustering master -m "merge"
  2. Lecture Slides: Clustering (Google Slides)

Weekend Homework (complete before 10:30am before lecture on Tuesday)

  1. Final Project - completed, without polish: You have already created a first draft of your final project. By Tuesday, you should have aim to complete the visualization of your data. You'll spend the six days between the last day of class and the final polishing the visualization and getting ready to present it!

Final Project Presentations

The CS 205 final exam period is Monday, May 9, 8:00am - 11:00am in 1105 Siebel Center. We'll use this time to present your final projects!

Experience 12: Images!

Lecture: Tuesday, April 19, 2016

  1. Cinda's lecture on functional Python and images

Lecture: Thursday, April 21, 2016

  1. Merge today's branch (exp_colorFreq):
    • git fetch release
      git merge release/exp_colorFreq master -m "merge"

Weekend Homework (complete before 10:30am before lecture on Tuesday)

  1. Final Project: By Tuesday, complete an initial visualization for your final project. Merge the project_final branch and make sure to commit your final project into the project_final folder.

Experience 11: Towards Geographical Data

Lecture: Tuesday, April 12, 2016

  1. Merge today's branch (exp_cumtd_gmaps):
    • git fetch release
      git merge release/exp_cumtd_gmaps master -m "merge"
  2. Lecture Handout (PDF)

Mid-week Homework (complete before 10:30am before lecture on Thursday)

  1. Final Project Proposal: Complete a proposal for your final course project. Your final project is a solo project and should be specific to your field, personal interest, or your favorite area covered in CS 205. The only requirement is that it must involve some form of data processing and must have a d3.js visualization. The proposal should be at least half a page and printed out, to be handed in at the beginning of class on Thursday.

Lecture: Thursday, April 14, 2016

  1. Merge today's branch (exp_olympics):
    • git fetch release
      git merge release/exp_olympics master -m "merge"
  2. Lecture Handout (PDF)

Experience 10: Graphs II and Google Maps

Lecture: Tuesday, April 5, 2016

  1. Merge today's branch (exp_tsp):
    • git fetch release
      git merge release/exp_tsp master -m "merge"
  2. Lecture slides: Traveling Salesman (Google Slides)

Lecture: Tuesday, April 7, 2016

  1. Merge today's branches (exp_tsp2 and exp_cumtd):
    • git fetch release
      git merge release/exp_tsp2 master -m "merge"
      git merge release/exp_cumtd master -m "merge"

Weekend Homework (complete before 10:30am next Tuesday)

  1. Make CUMTD Awesome: We finished on Thursday with a simple display of all the upcoming bus departures from the Illini Union. This weekend, modify the visualization to add something, anything else. Make it awesome!

Experience 9: Graphs w/ Tic-tac-toe

Lecture: Tuesday, March 29, 2016

  1. Merge today's branch (exp_tictactoe):
    • git fetch release
      git merge release/exp_tictactoe master -m "merge"
  2. Lecture slides: Tic-tac-toe and Graphs

Mid-week Homework (complete before 10:30am before lecture on Thursday)

  1. Update compute.py in today's demo to generate a tree that stops generating children once a winning move is reached.

Lecture: Thursday, March 31, 2016

  1. Merge today's branch (exp_tictactoe2):
    • git fetch release
      git merge release/exp_tictactoe2 master -m "merge"
  2. Lecture slides: Depth First and Breadth First Search

Experience 8: Document Simularity

Lecture: Tuesday, March 15, 2016

  1. Merge today's branch (exp_POSNER):
    • git fetch release
      git merge release/exp_POSNER master -m "merge"
  2. Lecture slides: NLP: Part of Speech and Named Entity Recognition (Google Slides)

Mid-week Homework (complete before 10:30am before lecture on Thursday)

  1. Text analysis project proposal: Before coming to class on Thursday, ensure you have a proposed project for text analysis that you are ready to discuss with the class. In this proposal, make sure to have both an idea of your data source as well as the analysis you wish to do on the data source. This should be done by everyone (eg: not in the teams from Project #1).

Lecture: Tuesday, March 17, 2016

  1. Merge today's branches (exp_peopleInHungerGames and exp_wordnet):
    • git fetch release
      git merge release/exp_peopleInHungerGames master -m "merge"
      git merge release/exp_wordnet master -m "merge"
  2. Lecture slides: NLP: Sentiment Analysis and Word Nets (Google Slides)

Have a great Spring Break!

  1. After break, we will start exploring geographical data sets.
  2. Project #2 will involve text or graph-based data, to be done over the next three weeks.

Experience 7: Document Simularity

Lecture: Thursday, March 10, 2016

Project presentations

Lecture: Thursday, March 10, 2016

  1. Merge today's branch (exp_documentSim):
    • git fetch release
      git merge release/exp_documentSim master -m "merge"
  2. Lecture slides (con't from Thursday): "Introduction to NLTK" (Google Slides)
  3. Lecture slides: "Text Similarity" (Google Slides)

Experience 6: Natural Language Processing (NLP)

Lecture: Tuesday, March 1, 2016

  1. Complete project commit:
    • git add -A
      git commit -m "All files"
      git push origin master
  2. Lecture slides: "Introduction to NLTK" (Google Slides)

Mid-week Homework (complete before 10:30am before lecture on Thursday)

  1. Narrating your visualization: Add a short narrative to your visualization, describing the data and interesting results from your visualization. The visualization should start telling a story and the narrative should complete the story.

Lecture: Thursday, March 3, 2016

  1. Lecture slides: "Introduction to NLP" (Google Slides)

Weekend Homework (complete before 10:30am next Tuesday)

  1. Project #1's final product: Based on the feedback from class and your own ideas, polish your visualization and narrative to provide a complete story about a Illinois-based dataset. You will present this at the start of class on Thursday, March 8.

Experience 5: Project w/ UIUC Data

Lecture: Tuesday, Feb. 23, 2016

  1. CS 205 Workbook branch: exp_footballScores2
    • You can merge this branch into your workbook via the following commands in your CS 205 workbook directory:
      git fetch release
      git merge release/exp_footballScores2 master -m "merge"
  2. Lecture handout: Download (PDF)

Mid-week Homework (complete before 10:30am before lecture on Thursday)

  1. As part of Project #1, create a hand-drawn prototype visualization with your team. This drawing should be well thought-out and somewhat polished (eg: colors, some degree of accuracy of data, etc). You will present this at the start of class on Thursday, Feb. 25.

Lecture: Thursday, Feb. 25, 2016

  1. CS 205 Workbook branches: exp_footballScores2, project_uiuc
    • You can merge these branches into your workbook via the following commands in your CS 205 workbook directory:
      git fetch release
      git merge release/exp_footballScores2 master -m "merge"
      git merge release/project_uiuc master -m "merge"
  2. Lecture handout: Download (PDF)
  3. Finalized footballScores visualization

Weekend Homework (complete before 10:30am next Tuesday)

  1. Using your draft visualization and the feedback from class on Thursday, create an initial d3.js visualization of your idea. This will likely require both some pre-processing of the data in Python as well as new visualization techniques in d3.js. You will present this at the start of class on Tuesday, March 1.
  2. Make sure you commit your work in the project_uiuc folder inside of your CS 205 workbook.

Experience 4: Data Visualization

Lecture: Tuesday, Feb. 16, 2016

  1. Lecture slides: Google Slides

Lecture: Thursday, Feb. 18, 2016

  1. CS 205 Workbook branch: exp_footballScores
  2. Lecture handout: Download (PDF)
  3. Lecture slides: Google Slides

Weekend Homework (complete before lecture next Tuesday)

  1. In lecture, you were introduced to the historic Illini football scores data set, a collection of every Illini football game from 1894-2014. For Tuesday, draw a visualization using this data.
    • At a minimum, this should be hand-drawn on paper. You can use the data as-is (eg: one or two visual elements per game) or assume that processing has been done on the data (eg: statistics on entire seasons).
    • You should come to class ready to talk about your visualization.

Experience 3: The Hardest Class at UIUC

Data Source: Historic grade data at UIUC

This data set was gathered by the University of Illinois in response to a Freedom of Information Act (FOIA) request by Austin Walters. All files are in Excel (.xlsx) format:


Lecture: Tuesday, Feb. 9, 2016

  1. Lecture handout: Download (PDF)
  2. Lecture slides: Google Slides

Mid-week Homework (complete before 10:30am before lecture on Thursday)

  1. Complete Puzzle #3 on Tuesday's handout. This puzzle requires you to calculate the data for a histogram in Python and write that code out to a JSON file. You can test that you have done this successfully when you see a histogram appear in the visualization for exp_historicGrades.
  2. Make sure to turn it in by running the commands:
    • git add -u
    • git commit -m "(any message inside quotes)"
    • git push origin master

Lecture: Thursday, Feb. 11, 2016

  1. Lecture slides: Google Slides

Weekend Homework (complete before lecture next Tuesday)

  1. Complete the visualization shown in Slide #2 of the lecture slides by exporting JSON in the format described by Slide #4.
  2. Make sure to turn it in by running the commands:
    • git add -u
    • git commit -m "(any message inside quotes)"
    • git push origin master

Experience 2: CS 205 Workbook

Lecture: Tuesday, Feb. 2, 2016

  1. Lecture slides: Google Slides
  2. CS 205 Guidebook: Installing git
  3. CS 205 Guidebook: Setting up gitlab

Mid-week Homework (complete before lecture on Thursday)

  1. Sketch a visualization of the diversity data we have explored since last week that is NOT a bar chart. This is only a sketch, so it is not required to be pretty/fancy/completely accurate, but should clearly convey a new visualization of the data. On Thursday, you'll be sharing it with the group (and possibly the class) so you should be prepared to talk about your work.
  2. Make sure you can launch the CS 205 workbook on your computer. I believe everyone in class was setup by the end, but we will start getting into d3.js on Thursday.

Lecture: Thursday, Feb. 4, 2016

  1. Lecture slides: Google Slides: Overview of d3.js
  2. Today's workbook branch: exp_diversity2
  3. CS 205 Guidebook: Boilerplate Code in d3.js
  4. CS 205 Guidebook: Scales in d3.js
  5. CS 205 Guidebook: Axes in d3.js

Weekend Homework (complete before lecture next Tuesday)

  1. See the Experience 2 Homework here.

Experience 1: Majors at UIUC

Data Source

The data source for this week is the UIUC demographics for all of the different majors across campus, ranging from 2005 to 2015.


Lecture: Tuesday, Jan. 26, 2016

  1. Lecture handout: Download (PDF)

Mid-week Homework (complete before lecture on Thursday)

  1. Complete the first lesson on codecademy.com Python tutorial, Unit 5: "Lists & Dictionaries"

Lecture: Thursday, Jan. 28, 2016

  1. Lecture handout: Download (PDF)
  2. Jupyter Notebook Download (.ipynb)

Experience 0: Welcome to CS 205!

Lecture: Tuesday, Jan. 19, 2016

  1. Lecture handout: Download (PDF)
  2. Let us get to know each other: Google Sheet
  3. The first tool we will be using is the Python programming language and Jupyter:

Mid-week Homework (complete before lecture on Thursday)

  1. Make sure your laptop has Python installed and is able to run a Jupyter notebook.
  2. Complete the codecademy.com Python lesson on "Python Syntax" (located under the Unit 1: Python Syntax):

Lecture: Thursday, Jan. 21, 2016

  1. Lecture handout: Download (PDF)
  2. Data Set: "Getting to know each other"
  3. CS 205 Guidebook: Reading a CSV File (Python)

Weekend Homework (complete before lecture next Tuesday)

  1. Complete the first lessons (~15-20 programming problems each) in the following units in the codecademy.com Python lessons:
  2. Find a CSV data set related to your major, read it in using Python, and find at least one frequency or similarity between records. Let us know what you did by writing up a half-page on what data you found, what frequency/similarity you found, and any struggles you had in doing the assignment.
    • Print out your write-up; bring it to class on Tuesday.

Reflection

Lecture slides: