We have seen some "programming" (via the
code.org course), discussed what programming is, and created a story telling program in Snap!. There are a variety of other things you (or your students) can do with Snap!—more involved animation, games, trivia/quizzing, etc. Another is drawing. And, the complexity of the drawing can vary a lot. For this assignment a modest amount of complexity is expected—you just need to draw your initials or, if you wish, UNI's initials.
The first step in this assignment is to consider what you want you initials to look like: How big? Where placed? What color?. Whether you will try to do initials for all partners? Some additional planning considerations are provided below.
The program you plan and implement should meet as many of the expectations below as is reasonable.
To make this a bit less scary I have provide some examples and a little discussion.
There are at least two ways to approach this kind of drawing: 1) relative—control movement via move __ steps and point in direction __ blocks and 2) absolute or using coordinates— use go to :__ y:__ and/or the glide __secs to x:__ y:__ blocks for movement and drawing. Examples of both are available. An additional example is included to illustrate the building of ones own blocks.
Things happen based on where you are. You (the sprite) might go to a particular location but the actions then move from that position to another to another, etc. One might turn or face a particular direct before or after some movement. See the relative movement example.
Things happen based on the coordinate system. You (the sprite) goes to a particular location then goes to a different location, then a different location, etc. The pen would need to be raised and lowered depending on whether drawing while moving was desired. See the absolute movement examples.
One example uses blocks that I produced for my particular initials. You don't see how that was done but you do see how the blocks are used. The process starts by selecting the Make a block in the Variables palette. When you click on Make a block a window comes up and allows you to name the block and indicate which palette it should be placed in. To place code in the block you right click on it's block (which I saved in the Motion palette) and select "edit". See example of blocks use.
Remember the "pair programming" process as you work. One person types and the other person watches and corrects, questions, etc. After a bit (at most 30 minutes) you change roles. I encourage to try to impress me (better yet, impress yourselves).
This activity is for you to learn, so it is not graded. The learning will be inferred in the PARR (Programming Activity and Reflection Report) document you (eventually) submit and in one of the in-term exams.
If you have questions about the assignment send me an e-mail or drop by my office. If you have a question while working on the assignment do the same. Keep in mind that when you encounter something you can't figure out you can/should think, explore, seek answers on google, etc. but, do not spend more than 15-30 minutes trying to overcome a particular error or problem.
The syllabus noted a couple ways you might earn extra credit. One is to share some aspect(s) of programming or Snap! you think others might not have experienced. You should annotate your program using the program notes (File icon | Program notes) and/or comments blocks (see p.68 of the Snap! Reference Manual. The annotation should describe or explain the learning/insight(s) you want to share. The partnership could also suggest additions to our how to do it page. You might suggest a revision to clarify (or finish) something that is there already or an entirely new topic. Please indicate how/why you think the would be helpful. Be sure you fully and clearly describe what you are talking about.
Submitting something for either kind of extra credit is as simple as sending an e-mail message. The message should: