Object-oriented Programming thru Video Games
TIDE 1840, Fall 2012

Day and time: T 5-6:15, Newcomb 405
Professor Harry Howard
Office hours: MW 12-1, T 4-5 & by appointment
322D Newcomb Hall



Today’s students have grown up in a multimedia world – and to motivate them, instructors must relate students’ classroom experience to that world. The Alice 3D programming environment is a teaching tool for such students. It uses 3D graphics and a drag-and-drop interface to teach introductory object-oriented computer programming with a more engaging, less frustrating experience. It makes it easy to create an animation for telling a story, playing an interactive game, or a video to share on the web. In Alice, 3D objects (e.g., people, animals, and vehicles) populate a virtual world, and the student's task it to create a program to animate the objects. With Alice's interactive interface, students can drag and drop graphic tiles to create a program, where the instructions correspond to standard statements in a production oriented programming language, such as Java, C++, and C#. Alice allows students to immediately see how their animation programs run, enabling them to easily understand the relationship between the programming statements and the behavior of objects in their animation. By manipulating the objects in their virtual world, students gain experience with all the programming constructs typically taught in an introductory programming course.

Learning objectives

For the student to learn the basic principles of object-oriented computer programming using Alice.


For you to demonstrate your attainment of the objectives of the course, you will perform the following tasks:

  1. Class discussion. Because the TIDE course meets only once a week, you are expected to attend every session and to come to class prepared to go over the reading and programming assignments. (50%)
  2. Final project. On the last day of class you will present to the class a project that shows what you have learned during the course. (50%)

Code of Academic Conduct

“The integrity of Newcomb-Tulane College is based on the absolute honesty of the entire community in all academic endeavors. As part of the Tulane University community, students have certain responsibilities regarding work that forms the basis for the evaluation of their academic achievement. Students are expected to be familiar with these responsibilities at all times. No member of the university community should tolerate any form of academic dishonesty, because the scholarly community of the university depends on the willingness of both instructors and students to uphold the Code of Academic Conduct. When a violation of the Code of Academic Conduct is observed it is the duty of every member of the academic community who has evidence of the violation to take action. Students should take steps to uphold the code by reporting any suspected offense to the instructor or the associate dean of the college. Students should under no circumstances tolerate any form of academic dishonesty.” For further information, point your browser at http://college.tulane.edu/code.htm.

Violations of the Academic Honor Code will not be tolerated in this class. I will rigorously investigate and pursue any such transgression.

Students with disabilities who need academic accommodation should:

Fall 2012 Schedule

Text: Learning to Program with Alice, Third Edition.
Wanda P Dann, Stephen Cooper, and Randy Pausch (2012) Pearson Education
You should bring a laptop to class in order to run Alice on.

ppt mp3
Aug 28
class canceled due to Hurricane Isaac    
Sept 4
Introduction to the course; §I.1 Getting started with Alice
Sept 11

Discussion of Nine Lives by Dan Baum
Nine Lives: A Musical Story of New Orleans @ 7:00 PM at Dixon Hall. You must register for a ticket at http://ninelives-tulane.eventbrite.com

Sept 18
§I.2 Program design and implementation
Sept 25
Yom Kippur, no class    
Oct 2

§I.2 A first program
Keynote Address with Author Dan Baum @ 6:00pm in Freeman Auditorium

Oct 9
§I.3 Programming: Putting the pieces together
Oct 16
§II.4 Classes, objects, methods and parameters
Oct 23
§II.5 Interaction: Events and event handling
Oct 30
§III.6 Functions and if/else
Nov 6
Elections - I am poll commissioner
Nov 13
§III.7 Repetition: Definite and conditional loops    
Nov 20
§III.8 Repetition: Recursion + §IV.9 Lists and list processing
Nov 27
Presentation of final project

Go back to Harry Howard's home page

Started 9-Sept-2008; last update 13-Nov-2012 . HH