back to syllabus

HCDE310: Interactive Systems Design & Technology - Schedule - A20

WeekDatesTopicSuggested Reading
(complementary in parens)
Homework
1 Sept 30

Introduction to the Course, Computers, & Python.

Zelle ch 1
(Downey ch 1)

Downey ch 2, 6-7
Zelle ch 2, 4.1-4.4, 4.6, 3
Zelle 11.2 — 11.2.2

On the Value of Command-Line “Bullshittery” (Eytan Adar)

HW0: SW installation; basic string operations

2 Oct 5, 7

Operations on strings and lists. Iteration on sequences. File operations. Version control.

Zelle ch 3
(Downey ch 6 & 7)

Zelle ch 7
Downey ch 4

Zelle 11.6;
Zelle 4.5
(Downey ch 5)

HW1: Count chars, words, lines in a file. File operations.

3 Oct 12, 14

Conditionals

Dictionary data structure

Functions. Parameter passing and returning values

Mashups & APIs

Zelle ch 3
(Downey ch 6 & 7)

Zelle ch 7
Downey ch 4

Zelle 11.6;
Zelle 4.5
(Downey ch 5)

P0: Find an interesting API

HW2: Contributor counts

4 Oct 19, 21

Indefinite iteration; nested data structure, and nested iteration

JSON processing

Introduction to Objects

Ideation & Prioritization

Zelle ch 6
(Downey ch 6 & 7)

“The Art of Brainstorming”

HW3: Do more than HW2, with less. Output as .csv files; generate charts in Google Docs, Excel, or D3

P1: Adding value to data

5 Oct 26, 28

Objects and Classes

URL lib; Try/except;

Zelle ch 8

Zelle ch 10
(Downey chapters 15-18)

Tutorial on urllib;
Zelle 7.4

HW4: Calculate likes and comment frequencies from a JSON feed, use classes
6 Nov 2, 4

2 Nov: REST APIs

4 Nov: Lab time

HW5: Fetching and processing a live feed.
7 Nov 9, 11

9: Sorting & List Comprehensions

11: No class. Veteran's Day.

Sorting tutorial

List comprehensions: Wikipedia; another explanation w/ nice examples

8 Nov 16, 18

16 Nov: Jinja Templates & Flask

18 Nov: HTML & CSS (briefly), Deploying Flask apps to App Engine.

HTML tutorial

CSS tutorial

Getting started with App Engine and Python 3

Quickstart with App Engine and Python 3

HW6: APIs, Sorting, more data processing.

9 Nov 23, 25

23 November: Working with forms for user input in Flask.

25 November: Work day?

P2: Project proposal.

10 Nov 28, 30

28 Nov: App Engine & OAuth; App Engine Datastore

30: Location & maps (brief); project time

TBD

11 Dec 7, 9

7: Project time

9: Map-Reduce (brief); project time

Map-Reduce: tutorial (don't worry too much about the syntax), App Engine Overview

7 Dec: HW7: App Engine & APIs due

9 Dec - R1: Resource writeup

F Dec 11
15 Dec - P3: Final projects due
back to syllabus