There's some reading and preparation as part of this assignment, but for the main active part, part (d), you will work with a partner. We'll try to set aside a little time for choosing partners in Thursday's class, but in general it will be your responsibility to pair up with someone for each assignment. You can read more about working in pairs on the assignment page. Working in pairs is required, not optional; not having a partner for an assignment will affect your class participation score.
To help you find partners and register those partnerships, you will use the ICS 10 Partner App (at http://ics10-partner-app.appspot.com). It should be ready for use by the end of the first week. The Partner App lists everyone in the class; you can modify your profile to control how you appear. It lets you send "partner requests" to other students and to accept (or reject or ignore) requests from other students. And it records who's partnered with whom (and who hasn't partnered).
If you haven't read the homework advice on the class assignment page, now's the time to do it. And if you agreed on the partnership face to face, don't forget to use the Partner App so your partnership is officially recorded.
A certain amount of frustration is inherent in working with computers; think of all the cartoons you've seen whose theme is frustrated computer users. People are complex (and diverse, messy, and not well understood) and computers, fundamentally, are mechanical and simplistic; we're not yet at the point when we can count on computer systems always to do what we expect. For most people, the satisfaction of completing a computing task makes up for the frustration experienced along the way and we hope that's the case for you. To keep your frustration level manageable, make a point of starting on each assignment early. That way, you have time to ask questions that will help you past any rough spots.
Complete the ICS 10 Questionnaire and do the other items on the syllabus under "What to do to get started …" Be sure you've read the rest of the syllabus, too.
Read the appendix of Blown to Bits, which describes how the internet works.
Using and understanding computer systems often involves mastering a lot of details. Good system design (using good abstractions) can help keep those details manageable, but stilll, it can seem overwhelming. Consider, for example, the number of buttons on the typical TV remote conntrol, or all the different features in Microsoft Word.
You'll also find a lot of details in the readings we assign. One of the goals of this course is to help you learn to navigate through detailed technical material. On the other hand, for this course you don't need the same level of detail as you'd need if you were planning on a career as a computer professional. Even though it may still seem very detailed to you, we've tried to hit an appropriate level in the readings and assignments we've chosen.
This guideline may help you determine which details in the assigned readings are important for you to learn: If concepts or terms we mention in class occur in the readings, you're responsible for them. But if the readings mention terms or concepts that we do not mention in class, we won't expect you to know them. In other words, when we write exam questions we're not going to go looking through the readings for topics we haven't already mentioned in class.
This quarter we're going to build some animations and simulations using a tool called Snap (related to tools called BYOB and Scratch). This is actually a form of programming, but it's not the painstaking, heavy-duty, industrial-strength, text-based programming you'd learn in ICS 31. Nor is our goal to turn you into programmers, even in Snap/Scratch; we just want you to have some experience with describing procedures that a computer can carry out. And besides, this kind of programming is fun.
Here's some more precise background: The original Scratch tool was developed at MIT; its home page is scratch.mit.edu. BYOB was a version of Scratch developed at Berkeley. BYOB stands for "build your own blocks"; it contains a few useful capabilities that original Scratch doesn't. Snap is the current, web-based version of BYOB that doesn't require you to install anything on your computer.
With your partner, do the following:
hw1d4-johnz-janex
. Snap will add the ".xml
" suffix). To test that your export worked correctly, open a new Snap window, and import the file you just exported.hw1d7-johnz-janex
) and submit it, following the instructions above. The same partner must submit both parts of the assignment on Checkmate; this helps us keep track of who does what.Our TAs will hold lab hours this week in the third-floor ICS lab, room 364 ICS. Stay tuned for details. You can also get brief questions answered on Piazza (see the syllabus).
Have fun!