Assignment 5 -- Scratch + SL Object Creation
Total Points: 100
Due Date: October 29, 12:00
noon EST
The Scratch part of this problem set is adapted from the Scratch problem
set used in CSCI S-1 and CSCI S-111a by instructors Henry Leitner and
David
Malan.
I take
full responsibility for all errors in it (and any pain and suffering
caused to my students while doing it!)
A Little More Scratch
30 points
Perhaps as important as an ability to write
one’s own code is
an ability to understand another programmer’s code (or your own
code months after you wrote it!). Quite simply, the more readable your
code is, the more maintainable it is by others (and you). For this problem,
not only will you take Scratch out for one more spin, you’ll also
experience what it’s like to work with
another programmer’s code.
Here’s what we want you to do:
either introduce yourself to another student in this class (either in
RL or in SL), and have him or her show you their Scratch project
(their firstname_lastname.scratch). You can, of course, have them explain
to you any details of the code to help you understand how their project
works. Alternatively, simply download one of your classmate's projects
from the course's gallery at http://scratch.mit.edu/galleries/5368.
Your task is to implement “version 2.0” of your classmate’s
project, saving your version of the project as theirlastname-yourlastname.scratch,
where theirlastname is your fellow student’s last name and yourlastname
is your last name.
Perhaps you’d like to change how it works. Perhaps
you’d
like to enhance it with new features. Perhaps you’d simply like
to make it better, fixing any bugs along the way. Whatever your goal,
your job for this problem is simply to build upon the work of another
student. We expect, quite simply, that your final product will be on
the order of 50% different from your fellow student’s original
version. In other words, it should be quite clear to the staff that you
did more than change a few puzzle pieces. If you suspect your version
might fall short of our expectations, feel free to ask us for our opinion
prior to submitting.
If, after making friends with someone in the class, you find that you
would rather not modify his or her project, feel free to introduce yourself
to someone else and work on their Scratch project.
- Once you are done modifying the project, "Share" it/upload it to
your Scratch account, and add it to the class gallery at http://scratch.mit.edu/galleries/5368.
- Write a few paragraphs explaining precisely what changes did you
make to
your
fellow
student’s
project and why.
Second Life Object Creation
60 points The idea of code as law becomes a lot more concrete (virtually, that
is...) in the world of Second Life. Here you can create objects that
behave in certain ways. The code of those objects dictates how
avatars in Second Life can interact with them. Now that you've got a
little programming experience under your belt, it's time to try applying
it in the Second Life context.
This week you had a tutorial on creating objects in Second Life. Use
what you learned in that tutorial to build an original object of your
own choosing. Your object should:
- Have a meaningful name that includes your avatar name so we can find
it in our inventories.
- Contain at least 3 primitive shapes
- Use at least 2 different textures or colors
- Have at least 1 behavior, such as responding to avatars coming near
it, responding to a voice command, responding to being touched, etc.
- Your object should be somewhat more complex than the simple, short
examples that we created in our tutorial.
Feel free to look around in SL for editable objects that you can use
for inspiration, but your own project should not be terribly similar
to any
of them. Try
to think of an idea on your own, and then set out to implement it. If,
along the way, you find it too difficult to implement some feature, try
not to fret: alter your design or work around the problem. If you set
out to implement an idea you find fun, you should not find it hard to
satisfy this problem’s requirements.
Many of the avatars who spend a lot of time in the Berkman Sandbox on
Berkman Island are very experienced builders and friendly people. They
can be a good resource for ideas and help. However, they are not paid
staff so please be respectful of them and their time. There are also
others in the Berkman Sandbox from time to time who may not be so friendly
-- if you encounter such an avatar, don't sweat it just move on.
There are lots of free building classes all over SL. They vary greatly
in their level and their quality. If you feel that you need more help
learning to build you can try out some of these classes. You may find
the people and the help available at Dreams to be useful.
If you suspect your object might fall short of our expectations,
feel free to ask for our opinion prior to submitting. All right,
off you go. Impress
us! Once you have completed your object:
- Give a copy of your object to Rebecca Berkman, AmarBerkman Beaumont,
and EricR Infinity.
- Send a copy of your .sb files to e4staff@gmail.com and to eric_r@mit.edu.
- Write a short paragraph explaining what your object is and what it does.
- Write a few short paragraphs explaining how you created it and how
it works.
Evaluate Your Experience
10 points
Create a text file (using NotePad on Windows, or TextEdit on Mac) called
questions.txt. Place your answers to the following questions in that
text file and submit it as an attachment with your homework submission.
- Roughly how much time did you spend your object?
- Did you base your object on some other object(s) that you found in
SL? If so, which ones and where did you find them?
- In one or two short paragraphs, tell us what you think of SL object
creation. Do you like it? What’s good about it? What’s
bad about it? Did you enjoy creating your object?
- In a short paragraph, what do you feel you learned by creating an
object in SL?
- In implementing your object, with what concepts or
implementation details did you struggle? Why?
- In one or two short paragraphs, tell us what you think of Scratch
for Second Life (please report bugs or installation problems separately
to us by email; these questions are meant to help us with
the design of the software, not fixing bugs):
What was enjoyable about it? What was frustrating? What was easy to
understand? What was confusing? What could we change to make it better?
- What are your ideas for features we could add to Scratch
for Second Life? Since the software is still in an early stage, your
feedback could have a big impact!
- How was using Scratch for Second Life
similar to and different from using Scratch?
|