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.
Module 2: Building Games |
| Week | In-Class | Reading, Video and Assignments |
| 2/7 | Day 5 Agenda Introduction to Canvas PaintPot Tutorial Work on Projects Day 6 Agenda PaintPot Textbox refinements | Checklist 1 DUE By classtime, 2/9 Read AI BOOK: Ch 17. Creating Animated Apps Ch 18. Conditional Blocks (ch 18) Watch Video: Variables Diagonal Movement pt2 |
| 2/14 | Day 7 Agenda Post-PaintPot worksheet Usability Testing Introduction to Animation Molemash tutorial Post-MoleMash worksheet Day 8 Agenda | Reading: 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/21 | Day 9 Agenda Animation Discussion Final Project Brainstorming with GREEN MEDIA + ENV. POLICY Programming Space Invaders | Checklist2 Due Monday, 2/27 11:59 pm |
2/28 MIDTERM WEEK, midterm 1 THURSDAY MARCH 1
Worksheet solutions
Midterm Topic List
Midterm Study Questions sample blocks
MIDTERM is THURSDAY 3/1
Midterm Topic List
Midterm Study Questions sample blocks
MIDTERM is THURSDAY 3/1
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/6 | Love Notes, Texting, and Persistence Tutorial: No Texting While Driving | Ch 15. Engineering and Debugging Ch 22. Sensors (section on Location) |
| 3/13 | SPRING BREAK | |
| 3/20 | Video documentation of game app Augmented Reality GPS Worksheet Day 12 Agenda 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 |
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/27 | Introduction to lists and indexes Quiz Tutorial | Ch 19. Programming Lists, through p. 273 Video: Checklist 3 Due Wed. 4/4 11:59 pm |
| 4/3 | Lists, part 2 Procedures, revisited |
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/10 | Final Project Ideas Post-Quiz Tutorial Worksheet A NoteTaking app. Agenda notes Iteration (foreach) Final Project, getting started | Chapter 9: Xylophone Chapter 19: Lists, p. 273- Chapter 20: Iteration |
| 4/17 | More on lists: broadcast hub contest broadcast hub contest v.2 Final project deliverables Final Project Listing 1 Web Databases | Chapter 11: Broadcast Hub Chapter 22: Databases |
| 4/24 | project work day List data worksheet 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
MIDTERM 2 is 5/3
Final Projects
An introduction to web enabled apps. You'll learn about application programmer interfaces (APIs) and how to communicate with them, as well as techniques for processing the data you receive.
| Week | In-Class | Reading, Video and Assignments |
| 5/8 | WORK ON FINAL PROJECTS | |
| 5/15 | FINALS WEEK Final Presentations 5/15, 10-12 AM Agenda | CHECKLIST 5 old evals |
