Schedule Spring 2012

This is the schedule for University of San Francisco's CS107-01, spring 2011. The schedule is subject to change, so please check back regularly. 

The midterms and final dates are set. Here they are:
Midterm 1: Thursday, March 1 
Midterm 2: Thursday, May 3
Final Presentations: Tuesday, May 15, 2012  10AM - 12PM

Module 1: Programming Event-Driven Apps

An introduction to event-driven programming. You'll learn that an app is something that responds to events such as the user clicking a button or an SMS text being received. You'll learn about the architecture of an app including its components, properties, behaviors, function calls, and parameters, and you'll create your first apps including a soundboard app and an app where you can paint on a photo you take.

Week In-Class Reading and Assignments
 1/24Day 1 Agenda
Introduction to App Inventor
Create Portfolios

Getting Started: Hello Purr Tutorial

by classtime, 1/26:
  1. Complete: What is App Inventor? 
  2. Check out your device from library 
by classtime 1/31
  Read AI BOOK :
  Foreword, Preface, Ch 14. App Architecture
 1/31Day3 Agenda
Create an App Page
Post-Hello-Purr Worksheet

Day 4 Agenda
Working with Audio & Video
Conditionals and Randomness

by classtime 2/2
    Read AI Book, ch 16. Variables
by 2/8, 11:59 pm
   Creative Project: MediaBoard app
   Checklist 1 due at that time as well
 Read: chapter : Conditional Blocks
    An App is a set of Event Handlers
    Conditionals and Randomness
    Coordinate System

Module 2: Building Games
An introduction to animation-- activity executed in response to the passing of time. You'll learn about canvases, sprites, and timer events, and you'll create some 2D games like MoleMash and a simple Space Invaders. You'll also learn how to program objects that move smoothly over time and how to specify conditional blocks.

Week In-Class Reading, Video and Assignments
 2/7Day 5 Agenda
Introduction to Canvas
PaintPot Tutorial

Work on Projects

Day 6 Agenda
PaintPot Textbox refinements

Checklist 1  DUE 2/8  2/12 11:59 pm

By classtime, 2/9
  Read AI BOOK:
    Ch 17. Creating Animated Apps 
    Ch 18. Conditional Blocks (ch 18)

   Watch Video:

Diagonal Movement  pt2
Animation Video
Back and forth video

PaintPot pt1 pt2 pt3 pt4 pt5

 2/14Day 7 Agenda
Post-PaintPot worksheet
Usability Testing
Introduction to Animation

Molemash tutorial
Post-MoleMash worksheet

Day 8 Agenda

Ch 21. Procedures
Ch 22. Sensors (section on orientation sensor)

Tutorial for home: Ch 5: Ladybug Chase
Spaceship shooter video

Project: Game, DUE MONDAY 2/27

 2/21Day 9 Agenda
 Animation Discussion

Final Project Brainstorming with GREEN MEDIA + ENV. POLICY
 Programming Space Invaders
Checklist2 Due Monday, 2/27 11:59 pm


Module 3: Building High-Tech Apps
You'll learn how to program some of the phone's advanced technology: responding to SMS texts, making use of location sensors, scanning barcodes, and voice-to-text and text-to-voice. You'll also learn some  software engineering and debugging techniques.

Week In-Class Reading, Video and Assignments
3/6Love Notes, Texting, and Persistence
Tutorial: No Texting While Driving

Ch 15. Engineering and Debugging
Ch 22. Sensors (section on Location)
Augmented Reality
GPS Worksheet
Begin "Android Where's My Car?"

Day 12 Agenda

Where's My Car Quiz
Location-Aware apps and maps
Pen and Paper Programming

Project: High Tech Communication App
Tutorial for home: 
   Chapter 7. Android Where's My Car? 

Creative Project 3: Communication and Location DUE WED. 3/28 11:59 pm
             FRIDAY 3/30 11:59 pm

Module 4: Creating Quizzes and other Informational Apps
An introduction to list data and using an index to traverse a list. This module presents a significant conceptual hurdle as the apps you create will be more abstract in nature.

Week In-Class Reading, Video and Assignments
 3/27List and Index worksheet
Introduction to lists and indexes
Quiz Tutorial
Post-Quiz Tutorial Worksheet

Ch 19. Programming Lists, through p. 273


Checklist 3 Due  Wed. 4/4 11:59 pm
 4/3A NoteTaking app.

Chapter 9: Xylophone
Chapter 19: Lists, p. 273-
Chapter 20: Iteration

Module 5: Creating apps with data
An introduction to apps with data, including those that allow the user to input data through input forms and those that access data from APIs Such apps present a significant challenge to the beginning programmer.

Week In-Class Reading, Video and Assignments
 4/10Web Database and note sharing
Iteration (foreach)

Chapter 11: Broadcast Hub
Chapter 22: Databases

 4/17broadcast hub contest v.2
Final Project Ideas
Final Project, getting started

Final Project, deliverables 1

Do the BroadcastHub tutorial of ch. 11.
 4/24project work day
List data worksheet  (now part of
midterm review)
URLs and the Google Chart API
Data APIs: Stock Quote
Checklist 4 Due Monday 4/30 11:59 pm
Chapter 24: Talking to the Web
Chapter 13: Amazon

5/1 MIDTERM WEEK, midterm 2


Final Projects

Week In-Class Reading, Video and Assignments

Final Presentations 5/15, 10-12 AM

CHECKLIST 5  including final project deliverables
DUE 5/14 Midnight (the night before final presentations)