Spring 1999 CS302 Assignment #7
by Dan Garcia (ddgarcia@cs.berkeley.edu)
1. Identify activities among those you have designed already that would
be appropriate for doing in a group, and explain why students would learn
more with partners than by themselves.
CS5 is primarily a group-project
oriented course. All of the assignments are done in groups,
except for four: the post-it flipbook, final project story idea, forward
kinematic walks, and the hierarchical figure design. The remaining assignments:
- stick figure animations
- simple Infini-D tasks
- morphing
- hierarchical figure animation
- textures, lighting and camera positioning
- final project
- models
- sounds
- first draft of animation and camera motion
- final draft of animation and camera motion
- lighting and rendering
- compositing
are all 2-person group projects (aside from the final project, which
3-5 students complete). In addition, we have a weekly group critique of
the students' work in which the whole class participates. Many of the grouped
assignments still require two projects to be handed in with a single person
responsible for each. In this sense, the students do not necessarily need
to work in a group, but do so because they're told it's required.
In general, the reasons we have students work in groups is:
- To foster a sense of community
- So that no student feels overwhelmed with an assignment if they're
computer novices (we usually group students so that there's a balance of
expertise)
- They learn shortcuts and animation tricks and pass them on to their
partner, and they're required to switch partners every assignment (up until
the final project). This way useful information passes quickly around the
class. As well, students have some time in lab section to announce to the
class any cool tips they've learned which haven't been covered.
- It's fun to work with another person to bounce ideas off of and to
ask for help when stuck. The overhead of scheduling time together seems
a worthwhile tradeoff for the students.
- To simulate what happens in real animation houses - folks never work
alone, they always work in a team.
- So they can complete larger projects. Using a software analogy, it's
not necessarily as instructive or interesting for the students if everyone
were to write quicksort in a software engineering course. Grouping them
allows them to write more complex and fun projects.
- So that there are fewer assignments to grade, thus freeing up time
for more detailed grading comments and analysis.
- Limited computing resources. We only had four fast Macs and there were
more than 16 students.
2. Design activities that would facilitate group productivity.
- Have students spend lots of early time in ice breaking activities,
getting to know each other as people. One way is to have students create
web pages of their interests and include a mini-bio. Another is to put
photos online so that names and faces are never a reason folks don't make
an effort to connect.
- Provide tutorial time in lab sessions for advanced group members to
teach group members with less experience / skill and bring them up to speed.
- Short activities like those in "team building ropes courses"
in which they compete against other groups to get the whole group past
some finish line.
- A "hands on" approach from the TA and undergraduate lab TAs
in which they meet with each group on a regular basis to solve problems
before they grow big.
- Give the students the chance to anonymous feedback as to whether they
feel each person in the group is pulling their own weight.
- Make the course graded rather than pass / fail. Some students use the
pass / fail nature to slough off at the end.
3. Design an exam problem that would be appropriate for group solution,
and justify your design.
Professor's note
The following exam problem is a computer-based exam problem for a group
of 4-6 students who are familiar with all the animation tools used in the
course. This would be a little different from an oral exam, since the grader
would quietly sit in and listens to the group process, and watch the creation
unfold. The students would work together much like folks do for the ACM
programming contests. They would take the exam in the same team they worked
in for their final project. This way students who have been sliding and
not pulling their share will stand out and those who had been doing most
of the work and know the tools will become apparent and credited appropriately.
They would then be graded on several components:
- The final product (include a large disincentive for not completing
the work, emphasize the importance of meeting deadlines and not biting
off more than they can chew)
- The design decisions the group makes throughout the process
- Group efficiency; the effectiveness of their time (how well did they
parallelize the work and account for data dependencies)
- How much their past work is reused by other groups. This is like getting
credit every time someone references a paper of yours in the bibliography.
It's also like spending a lot of time and energy to own Boardwalk and Park
Place, then everyone has to "pay" you in small credit amounts
when their wheelbarrow lands on it. The amount of points they get is nominal
- it's mostly like getting gold stars from their fellow students.
- How well they make use of existing objects and textures. If they reinvent
the wheel they will be penalized. They've seen all that was created by
other groups / students in the group critiques.
- The individual contributions to the project.
Justification:
- The problem is tractable. It is one that had been
given in several semesters prior to this one, but usually in the middle
of the course. If this exam problem were given near the end of the course,
the students would be familiar with the tools which would not serve as
a challenge. Therefore they won't get mired in implementation. Past students
commented that this was a relatively easy and fun assignment.
- The problem decomposes well. Students are directed
to complete tasks in parallel, which is easy with shared disk space and
files, as is present in the animation lab. They are also graded on how
well they decompose the project.
- The problem encourages software reuse. Always a good
thing, as long as credit is given to the original artist. Here, the students
will reuse objects / textures from everyone's earlier projects, and there
is an underlying understanding that what they create in the course can
be reused by others.
- The grading method allows the Professor / TA to see the entire
process, and each student's contribution, as well as the final product.
Unfortunately, this comes at a pretty high cost (time), but an alternative
option would be to work in a larger lab and have all the groups work simultaneously.
This affords less time per group, but the tradeoff may be worth it. My
gut feeling is that I wouldn't choose this tradeoff, simply because groups
can "steal" ideas from other groups (like in Pictionary) by overhearing.
A solution may be to have the four groups work on separate exam problems
(like having different exam versions). There's still the problem that
there may not be enough time for the grader to pay attention to all the
groups at once during the crucial initial design phase.
- The problem uses group rewards and individual accountability,
as shown to be effective by Slavin in "When Does Cooperative Learning
Increase Student Achievement?"
Design a Rube Goldberg Animation
Your animation team has been hired to design a Rube Goldberg animation.
If you create something satisfactory, you'll get the big contract,
and all your financial woes will be gone. Rube Goldberg creations usually
involve several very complex componets linked together in a cause-and-effect
way to solve a very simple problem, such as turning off a light. There are
several examples of Rube Goldberg humorous ideas in the handout (one is
shown below). Your goal is to create a clean, humorous, interesting animation
complete with sound. By now you are familiar with the process of creating
an articulated figure. You may create any simple new articulated figure
you wish, or you may re-use (and modify) any of the articulated figures
that were created for the earlier assignments. Don't reinvent the wheel;
make use of existing material if it is appropriate. You won't have to render
the project, so work in wireframe for the motion and simple gouraud shading
for any textures you wish to add.
You have three hours for this exam. This should be enough time to create
a simple design with several components. After working on the computer,
you'll descibe what your contribution to the product was. You will be given
a group and an individual grade based on several factors (include the
grading criterea listed above) . It is more important to choose a small
project and do it well than to choose a large project and not finish.
Since efficiency is a component, you may want to sit for a few minutes
and sketch an graph of what needs to be done and the order in which it needs
to be finished. Don't get stuck in bottlenecks, parallalize the whole process
as much as you can. Have one person search for sounds while the others set
up the lights and objects. Even the compositing can be done in parallel,
since different people can work on different shots.
Good luck, we're all counting on you.
WWW Maven: Dan
Garcia (ddgarcia@cs.berkeley.edu)
Send me feedback