Spring 1999 CS302 Assignment #12

by Dan Garcia (ddgarcia@cs.berkeley.edu)

Find several examples of innovative technology (hardware or software) that have the potential of significantly improving the amount students learn in your course, and describe the potential impact of each.

Smart Animation Assistant and Tutorial

A "talking paperclip" ala the Office suite would be quite useful. This exists for many programs, but not for the animation tools I've seen and that cs5 students would be using. I'd love it if many of the early mistakes the students made were screened early by the program itself! (e.g., geometry that has cracks, impossible hierarchies, etc.) The animation assistant should be smart enough to hide complicated features until it sensed the user needed it, and add them one by one. Also, as the assistant sensed the user was a power user, it could point out shortcuts, and explain how to use advanced features. What makes this assistant unique is that it would have several "modes" (novice, intermediate, advanced intermediate, etc.), and have a tutorial built in.

Most tutorials are books (and code / project fragments) that the novice user reads, loads and configures. The program is the same dumb program, and doesn't know if the user is an expert or novice. This smart assistant would have audio, video, and interface animation and would know at what level the user was working. It general, it would have more user-centric smarts, as the user would "log in" to the program, and the configuration settings for that particular student would be loaded.

The impact is that users could get help directly from the computer - it would act as a front line filter for common problems and questions the students have. Also, the interface and system would be tuned to the specific level the student was working on, so that it would suggest context-appropriate shortcuts.

Animated online case studies

Along the same lines, it would know about the standard knowledge blocks new users would be learning (modeling first, then creating hierarchies, etc) and gear the tutorial towards the particular project that week. In essence, it'd have the same content the tremendous book "Digital Character Animation" book has, but the material would be integrated into the program itself (and not just a companion CDROM) through online case studies.

The impact here is that the users would have all the benefits of case studies, but in an interactive environment.

All-in-one online homework / grading / TA help session environment (like Fuse-N)

Seth Teller's Fuse-N: A Platform for Collaborative Pedagogy is an amazing Java-based environment for teaching computer science (All of their modules to date were for computer graphics, but more modules could be written for other disciplines). It allows the students to work online, try solutions, check against the answer, have the TAs look at their code, submit code, and have TAs grade and comment online. The demo shown at Siggraph '99 was outstanding - I envision something similar which would allow the students to ask for help from remote TAs who could provide help just as if they were in the room. The students' workspace would be available to a remote TA who could help debug and / or offer suggestions. The impact here is that the number of seats and computers in the animation lab is no longer a bottleneck for the number of students who could be taught and the number of students who could work at one time; students could work from home.

Freeware high quality animation packages

Another constraint forcing students to work in the animation lab is that the software we use is not free. If a very high quality animation package were available, students could run it on their PCs from home.

Video-on-demand and fast, cheap net connections for all students

For students to be able to work from home they'd have to have a fast, cheap net connection. Cheap cable modems and DSL seem to be the wave of the future, and I welcome it. Video-on-demand would allow students to watch lectures (or lab tutorials) over and over again to understand a certain point. The video server would also have archives of all of the old work and lectures from past years that students would be able to access.

Parallel rendering

If the infrastructure were in place, students would be able to render their entire animation in the same amount of time it takes them now to render a single frame (by sending a different frame to every computer). That would remove a major bottleneck in creating interesting and high quality animations: rendering time. This would allow the students to try different techniques they normally wouldn't have time to try. Imagine if the compile - link - run process for a software engineering project took five hours. There wouldn't be much chance to get a polished project, since students would be lucky to get a version that didn't crash out the door before the deadline. This is what I feel happens to my students near project deadlines. If their final render took on the order of minutes, they'd have the opportunuty to have much higher quality for their animations.

WWW Maven: Dan Garcia (ddgarcia@cs.berkeley.edu) Send me feedback

Teaching cs302