CS 320n - Visual Programming
Schedule

Date Topic Reading and Events
Reading Assignments with a cited chapter are from the required textbooks, Learning to Program with Alice, Final Version. ISBN: 0-13-187289-3, Publisher: Prentice Hall
Wed. January 21 Class Introduction. Syllabus

Lecture Notes 0

Read Syllabus

Demos from class:
Alice: Ball Rolling
LabVIEW: Image Manipulation

Fri. January 23 Introduction to Alice
Lecture Notes (1-1)

Alice concepts
Objects in Alice
What is interactivity?
Lecture notes (1-2)

Reading: (Learning to Program with Alice), Chapter 1

Exercises: Complete Appendix A, Part 1: Using Alice

Sample Worlds used in Lecture:

* Movie Demo (Octopus)
* Interactive Demo (Skater)
Exercises: Alice Tutorials 1 - 4 and Appendix A, Part 2 Using Pop up menus to create an initial scene.

Mon. January 26 Animation programs: scenarios & storyboards
Creating your own animation (part 1)
Storyboards
Lecture notes (2-1).
Reading Text: Chapter 2, Section 1

Assignment 1 out

Wed. January 28

Creating an animation program
Creating your own animation (part 2)
Initial Scene
Code generation
Lecture notes (2-2)

Sample World used in Lecture:
* Snowman meets snow woman
* Snowman meets snow woman (with comments) 

Reading: Chapter 2, Section 2

Class work.
Exercises: 2.4 (Circling Fish), 2.5 (TortoiseGetsCookie).

Fri.. January 30 Classes, objects, & world-level methods
Creating your own methods
Lecture notes (4-1)

Sample Worlds used in Lecture:
* snowman meets snowwoman 

Text: Chapter 4, Section 1

Class work
Exercises: 4.2 (Confused Kanga), 4.4 (Helicopter Flight)

Mon. February 2 Parameters
Passing parameters to methods
Types
Lecture notes (4-2)

Sample Worlds used in Lecture:
*Starting bug band. Use this one to follow along during class.

* The bug band
* The bug band (with lyrics instead of sound) 

Class work

Reading: Chapter 4, Section 2
Exercises: 4.5 (Beetle Band Duet), 4.7 (Magic Act)

Wed. February 4

Class-level methods and inheritance - Part 1
Class-level methods
Creating your own, more powerful classes
Inheritance
Lecture notes (4-3-1)

Sample Worlds used in Lecture:
* Initial Skater
* clever skater character 

Class work

Reading: Chapter 4, Section 3, Tips & Techniques 4

Assignment 2 out

Fri. February 6 Class-level methods and inheritance - Part 2
Class-level methods continued
Using object parameters with class-level methods
Lecture notes (4-3-2)
Sample Worlds used in Lecture:
* Modified Skater 

Class work

Exercises: 4.9 (Enhanced Clever Skater), 4.11 (Funky Chicken Dance)

Assignment 1 Due by 11 pm

Mon. February 9 Interactive programming
Events and event handlers
Lecture notes (5-1)

Sample Worlds used in Lecture:
* Biplane - simple flight simulator 

Reading: Chapter 5, Section 1

Class work

Exercises: 5.1 (Flight Simulator Completion), 5.3 (Robot Remote Control)

Wed. February 11 Parameters & event handler methods
More on interactivity
Passing parameters to event-handlers
Lecture note (5-2)

 

Sample Worlds used in Lecture:
* Save the people
* the fire truck
* Zeus world 

Class work

Reading: Chapter 5, Section 2, Tips & Techniques 5
Exercises: 5.14 (Penguin Slide), 5.15 (Hockey)

Assignment 3 Out

Fri. February 13 Questions

Built-in questions
Creating your own questions

Lecture notes (6-1)

Sample Worlds used in Lecture:
* Ball bouncing over tennis net
* Ball rolling 

Class work

Reading: Chapter 6, Section 1
Exercises: 6.2 (Rotating Tires), 6.3 (Bee Scout)

Assignment 2 Due

Mon. February 16

Execution control with If/Else & boolean questions - Part 1
Decisions
Boolean expressions
If statements

Lecture notes (6-2-1)

Sample Worlds used in Lecture:
* Avoiding a collision 

Reading: Chapter 6, Section 2

 

Wed. February 18 Execution control with If/Else & boolean questions - Part 2
More with If statements and decisions

Lecture notes: (6-2-2)

Sample Worlds used in Lecture:
* Revisiting the Zeus world - 1
* Revisiting the Zeus world - 2
* Revisiting the Zeus world - 3
* Revisiting the Zeus world - 4 

Reading: Chapter 6, Section 2
Exercises: 6.6 (Modifications to the Zeus World), 6.12 (Switch)

Fri. February 20 Random numbers and random motion

Lecture notes: (6-T&T)

Problem Solving Case Study
Lecture Notes

Sample Worlds used in Lecture:
* Random motion 

Reading: Chapter 6, Tips & Techniques

 

Mon. February 23 Repetition: definite loops
Introduction to repetition

The counted loop
Nested loops

Lecture notes (7-1)

 

Sample Worlds used in Lecture:
* Bunny in garden
* Infinite Carousel
* Ferris Wheel
* Loop with a question 

Reading: Chapter 7, section 1
Exercises: 7.2 (Square Bunny Hop), 7.3 (Saloon Sign)

Wed. February 25 While: The indefinite loop
Using random motion

Lecture notes (7-2)

Sample Worlds used in Lecture:
* Shark Chase 

Text: Chapter 7, Section 2, Tips & Techniques 7
Exercises: 7.5 (Frog and Ladybug), 7.6 (Bumper Cars)

Assignment 4 out

Fri. February 27 Time to work on Assignment 3 in class Time to work on Assignment 3 in class
Mon. March 2 In class presentations of Assignment 3 Assignment 3 due in class
Wed. March 4 In class exam 1 In class exam 1
Fri. March 6 No class, CS320N No class, CS320N
Mon. March 9 Recursion
Introducing Recursion
Comparisons with While

Lecture notes (8-1)

Sample Worlds used in Lecture:
* Horse race 

Text: Chapter 8, Section 1
Exercises: 8.1 (Modified Horse Race)

Assignment 4 due
Assignment 5 out

Wed. March 11 More about recursion
Structural recursion
The Towers of Hanoi

Lecture notes (8-2)

Sample Worlds used in Lecture:
* Towers of Hanoi 

Text: Chapter 8, Section 2
Exercises: 8.2 (Skeleton reversal), 8.5 (Towers of  Hanoi), 8.6 (Towers of Hanoi modified)

Class work

Fri. March 13 Lists

Lecture Notes

Chapter 9, section 1.

Class work

March 14 -  March 22 Spring Break Spring Break
Mon. March 23 Lists

Lecture Notes

Whack a Mole Game (Alice World)

Assignment 6 out

Wed. March 25 In class work on assignment 5 and 6 In class work on assignment 5 and 6

Assignment 5 due

Fri. March 27 Introduction to LabVIEW

Lecture notes

 
Mon. March 30 The LabVIEW Environment

Lecture notes

 
Wed. April 1 LabVIEW Foundations

Lecture notes

Class work for the day.
Fri. April 3 LabVIEW Foundations II

Lecture notes

Assignment 7 out
Mon. April 6 In class work on assignment 6 In class work on assignment 6
Wed. April 8 In class presentations of Assignment 6 Assignment 6 due in class
Fri. April 10 No class, CS320N No class, CS320N
Mon. April 13 Control Structures in LabVIEW I

Lecture Notes

Assignment 7 due
Assignment 8 out
Wed. April 15 Control Structures in LabVIEW I

Lecture Notes

 
Fri. April 17

Lab Work

Lecture Notes

 
Mon. April 20 Lots of Data: Arrays and Clusters I

Lecture Notes

 

Link to LabVIEW program for classwork.

Wed. April 22 Lots of Data: Arrays and Clusters II

Lecture Notes

UT Tower Image

Google Image Labeler

Fri. April 24 Application: Image Manipulation

Lecture Notes I
Lecture Notes II

Assignment 8 due
Assignment 9 out

Mon. April 27 Application: Image Manipulation  
Wed. April 29 Application: Image Manipulation  
Fri. May 1 Other Visual Programming Environments  
Mon. May 4 Class Evaluations Assignment 9 due
Wed. May 6 In class exam 2. In class exam 2.
Fri. May 8 No class, CS320N.