We have seen some "programming" (via the
code.org course), discussed what programming is, and created a story telling program in Scratch. There are a variety of other things you (or your students) can do with Scratch—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 UNI's initials and, if you wish, your own.
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 UNI and 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 (those in red (the first 5) should be considered as required, not optional).
When you are finished with your program you will want to share it with the class by placing it in our studio. That process involves:
I think the following approach works
It should show our class studio (PEEE_fall17) as a link and a checkmark (also as a link)
It should turn green.
You should be able to see that your project has been added to the studio.
That should be all it takes to "submit" the program. Whichever partner submitted the program should have the other partner sign in to Scratch and double check that the project is available in the studio. Don't forget that both partners need to individually complete the PAC assignment for this activity.
Note that you should always be able to get back to the project page or to the Scratch programming environment from which you can access the project page. If you joined Scratch, your projects should all be available and be saved regularly by the system.
I will be checking the programs to see if they meet the specifications (noted above). A program that minimally meets the required specs is at least "okay" (will get a C or better). Better programs will go beyond the the minimal specs, e.g., include more/harder initials, control the timing of the drawing, have commented code, appear well planned rather than the result of guess and check coding, use additional Scratch features in reasonable/appropriate ways, etc.
There are at least two ways to approach this kind of drawing: 1) relative—control movement via move __ steps and point in direction __ blocks (the first script image) and 2) absolute or using coordinates— use go to :__ y:__ and/or the glide __secs to x:__ y:__ blocks for movement and drawing (the second script image). Both illustrate having made use of building of one's own blocks. Both also illustrate controlling the timing of movement so some are not instantaneous and others not (slow in comparison).
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 direction before or after some movement. (the first script)
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. (the second script)
The examples show blocks that I produced for my particular initials. You don't see how that was done but you do see how that blocks exist. (Make sure I show you the process in class :-) The process starts by clicking Make a block in the More Blocks palette. When you click on Make a block a window comes up and allows you to name the block and identify any parameters you want/need. A hatted/definition block gets created and you place your script code beneath it. Then you use the new action block in the More Blocks palette in other scripts that need the action of the block.
Recall that sprites move instantaneously. However, drawing curves requires explicit repetition which slows things down. A nice program does not have slow parts and fast parts; rather the sprite moves around at a relatively constant speed (for the drawing parts at least). Try to control the timing so the sprite's movement can be followed is is relatively consistent for all parts of the drawing.
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, guess and check, etc. but, do not spend more than 15-30 minutes trying to overcome a particular error or problem.
Also, using pair programming helps to reduce the amount of time spent banging one's head on the wall. Remember, one person types and the other person watches and corrects, questions, etc. After a bit (at most 30 minutes) you change roles.