Summer 2009 Syllabus

Date Morning Afternoon
Monday, July 6

Introduction to Alice

  • Review of class expectations
  • Ergonomics of computer use discussion
  • Survey: Thoughts and attitudes surrounding computer science

Text: Alice: Chapter 1; Appendix A

Lab: Computer accounts/Alice setup.

Alice concepts

  • Objects in Alice
  • What is interactivity?

Text: Alice: Chapter 1

Lab: Work through Appendix A, parts 1 and 2, and assigned problems in Chapter 1.

Homework: Finish reading chapter 1 and appendix A, if you have not already. Read chapter 2, sections 1 and 2.

Tuesday, July 7

Animation programs: scenarios & storyboards

  • Creating your own animation (part 1)
  • Storyboards

Text: Chapter 2, Section 1

Lab: Create your own storyboards.

Creating an animation program

  • Creating your own animation (part 2)
  • Initial Scene
  • Code generation

    Text: Chapter 2, Section 2

    Lab: Use Alice to animate storyboards created in the morning.

    Homework: Read chapter 3, sections 1 and 2.

Wednesday, July 8

Programming: Putting together the pieces

Built-in functions and expressions

  • Instructions
  • Control structures
  • Functions
  • Expressions
  • Text: Chapter 3, Section 1

    Lab: Practice using built-in functions and expressions.

Programming: Simple control structures, Conditional execution

  • If/else
  • Nested Ifs
  • Relational operators

Project 1 is assigned

Text: Chapter 3, Section 2

Lab: Practice using simple control structures.

Homework: Read Chapter 4, sections 1.

Thursday, July 9

Field Trip to San Diego Supercomputer Center (10:00) SDSC website

Classes, objects, & world-level methods

  • Creating your own methods

Text: Chapter 4, Section 1

Lab: Practice using methods. Start on project 1.

Homework: Read Chapter 4, Sections 2 and 3. Continue thinking about the story for your first project.

Friday, July 10

Parameters

  • Passing parameters to methods
  • Types

Text: Chapter 4, Section 2

Lab: Practice using parameters. Continue working on project 1.

Class-level methods and inheritance

  • Class-level methods
  • Creating your own, more powerful classes
  • Inheritance

Text: Chapter 4, Section 3

Lab: Practice creating your own classes. Present ideas for design of project 1.

Designs due for project 1

Homework: Read Chapter 4, Tricks and Techniques. Read Chapter 5, section 1.

Monday, July 13

Object Visibility

  • Completion of discussion of class-level methods and parameters
  • Object visibility using isShowing and Opacity

Text: Tips & Techniques 4

Lab: Work on completing old labs; work on project 1.

Interactive programming

  • Events and event handlers

Lab: Practice using event handlers. Finish project 1.

Project 2 is assigned

Homework: Read chapter 5, section 2 and Tips and Techniques. Read Chapter 6, section 2. We're skipping Chapter 6, section 1, but you are welcome to read it to review functions (first discussed in chapter 3). Start thinking about your storyboards for project 2.

Tuesday, July 14

Parameters & event handler methods

  • More on interactivity
  • Passing parameters to event-handlers

Text: Chapter 5, Section 2, Tips & Techniques 5

Lab: Practice using mouse event handlers. Finish project 1. Begin storyboard design for project 2.

Execution control with If/Else & boolean functions - Part 2

  • More with If statements and decisions

Text: Chapter 6, Section 2

Lab: Practice using boolean functions with if/else control.

Project 1 is due

Homework: Read Chapter 6, Tips and Techniques. Read Chapter 7, section 1.

Wednesday, July 15

Random numbers and random motion

Text: Chapter 6, Tips & Techniques

Lab: Student presentations for project 2 design. Practice using random numbers in a program.

Design for project 2 due

Repetition: definite loops

  • Introduction to repetition
  • The counted loop
  • Nested loops

Text: Chapter 7, section 1

Lab: Practice using loops. Start programming project 2.

Homework: Read Chapter 7, section 2 and Tips and Techniques. Read Chapter 8, section 1.

Thursday, July 16

While: The indefinite loop

  • Random Motion

Text: Chapter 7, Section 2, Tips & Techniques 7

Lab: Practice using while loops. Continue work on project 2.

Recursion

  • Introducing Recursion
  • Comparisons with While

Text: Chapter 8, Section 1

Lab: Practice using recursion. Continue work on project 2.

Homework: Read Chapter 8, Section 2.

Friday, July 17

More about recursion

  • Structural recursion
  • The Towers of Hanoi

Text: Chapter 8, Section 2

Lab: More practice with recursion. Finish project 2.

Project 3 (competition final project) is assigned

Project 2 due

  • Present Project 2
  • Start on Project 3
  • Catch up on assigned reading and problems

Homework: Read Chapter 9, sections 1 and 2. Start thinking about design for final project.

Monday, July 20

Lists

  • Introduction to lists
  • Iterating through lists in order
  • Iterating through lists simultaneously

Text: Chapter 9, Section 1

Lab: Practice using lists. Work on design for final project.

List search

  • Whack-a-mole example

Text: Chapter 9, Section 2

Lab: Practice using list search. Present design for final project.

Student designs due for final project.

Homework: Read Chapter 10, Section 1.

Tuesday, July 21

Variables & inheritance - Part 1

  • Introduction to variables
  • Revisiting Inheritance

Lab: Work on final project.

Field Trip: Tour of HP. Meet at 1pm to leave in vans. Note: This means you need to finish lunch EARLY! HP Website

Homework: Read Chapter 10, section 2.

Wednesday, July 22

Variables & inheritance - Part 2

  • Continued work with variables

Text: Chapter 10, section 1

Lab: Practice using variables. Continue working on final project.

Arrays and array visualization

  • Introducing arrays
  • Creation and access

Text: Chapter 10, Section 2

Lab: Practice using arrays. Continue working on final project.

Homework: Read Chapter 10, Tips and Techniques.

Thursday, July 23

Debugging - watch and text output

  • Allowing variables to be watched
  • Work on last class's lab

Text: Chapter 10, Tips & Techniques

Lab: Finish final project.

Present final project. Start planning posterboard for final project (all images/text you want printed MUST be submitted before the end of class). Finish previous labs if needed.

Friday, July 24

Create final project storyboards (class meeting location TBA)

Finish final project presentations, voting, and awards. End of course survey. Rehearsal of Closing Day Ceremony.

E-mail Me! Last updated: 7-1-09