Monday 21 September 2015

Week13

This week is an extension on the Italian game we started last week.  This week the focus is on using spoken words and matching images to the spoke words.  A simple version of he progrma is shown here. https://scratch.mit.edu/projects/77639592/ 
The Italian teacher has provided some basic italian words to use.
Grade 3 students are working animals, so some animal words are here:
Grade 4 students are working on objects in the house with some words found here
Grade 5 and above are working on clothing, with some words here
And some motivational phrases like "hurray" and "Try again" here.

Don't Forget to click on the "Week13" link Text above and leave a comment - I have now enabled anonymous posting of comments

Week 12

This week we're trying to connect Italian classes to programming, but creating a game that has students matching objects to Italian words.  Check out : https://scratch.mit.edu/projects/76524776/

The goal of the projects is to select the correct translation for the center “card”, repeating for each possible entry. This  puts quite a few of the previous lesson's knowledge into a single program which some students completed in the 1.5 hours of the session.  If you having completed it yet, keep going as the Italian teacher is really keen to have games made by her own stduents.

Week 11

Delayed in getting this out.  In week 11 we got our new Uni-students to start running the club sessions while I and other parents looked on.  I think having young adults run these sessions is perhaps more inspiring that having an old foggy like me.  We're also starting to share projects that each session is based on.  This weeks session is about angles and flipping.  We're using right and left arrows to rotate a central object and space bar to fire some object see: https://scratch.mit.edu/projects/74621572/
the stuents are encouraged to change the central chaarcter and what is being fired to customize the game.  then maybe add some objects coming in from the side.  This is the basis for an old asteriod style game, see:  https://scratch.mit.edu/projects/73867726/

Then we looked at a spinnign wheel game, where the the trick is to have a message that says where it lands (in what quadrant) to do this you need to understand where is 0->90, 90->180 etc to identify what quadrant you are in see:  https://scratch.mit.edu/projects/74620612/

Angles are really important in later schooling both for maths as well as gaming
Good luck

Tuesday 25 August 2015

Week10

Want to post a comment ? - click on the "Week10" link Text above and a comment box will appear at the bottom of the screen

Tuesday 11 August 2015

Week 9 (11 Aug)

This week we discussed scrolling games.  Such games are particularly important for platform based games which many students are familiar with.  We had a demonstration of a great "potato" run game and then discussed the basics of scrolling in Scratch.  The key concepts are:
1) a backgound is not used, instead a whole screen is used as a sprite that can be moved
2) the player is basically stationary, but that the screen sprite moves to the left or right
3) multiple scren sprites can be used to may a very long scrolling game, but you need to be carful to match the items and color of each screen sprite used

The basic process is demonstarted below that was shown to the stduents this week.  Students were actively involved with many starting , and some completing a basic game in under an hour.  We even had someone scrooling up and down !!!.  Keep going and let me know what your create .  Please post comments.
Scrolling game concepts.  See Figure 1,2 and 3 for an outline to creat a basic scrolling game.  I have used the Cat and changed the costume to make him look like he is moving , but only when the arrow keys are pressed.  Create a ScrollX variable.  This is used to set the current location of the screen sprite.  Change the ScrollX variable by a NEGACTIVE number when moving to the right and a POSITIVE number when moving to the left
Figure 1: Sprite 1 (The cat or other object moving through the scene).  The blocks are shown to the right.  

Figure 2 shows the Screen Sprite and the blocks required in this sprite.  By setting the x-position of the screen sprite to ScrollX, the Screen Sprite moves in the OPPOSITE direction to the direction the arrow key is pressed !!  This gives the illusion that the cat is moving.
Figure 2.  Left most Screen Sprite (Sprite4) and the blocks required in this sprite.  
Figure 3 shows the 2nd Screen Sprite (Sprite3) and the blocks required in this sprite.  In this code 480 is added to the ScrollX value.  Note the 480=2*240, which is the entire with of the screen.  So when the ScrollX value reaches say -490 (because you pushed the right array key many times), the Sprite3 is now centered at x=-490 + 480 = -10.  This is on the screen and very near the enter, so the 2nd Screen Sprite (Sprite3) is now in the center of the screen.  We can keep repeating this by adding more screens.  I will think of an easy way to explain how these screen can be looped around to may the game appear to be infinite and get back to you.  An example of this Scrolling example is shown as an animation in Figure 4

Figure 3:  Screen Sprite #2 (Sprite3) and the blocks required in this sprite.  


Figure 4:  Animation of the Cat showing how Scrolling works.  Check out the ScrollX number in the top left and how each Screensprte seemlessly moves across.

Week 8 (4 Aug)

This week we discussed logic statements in Scratch and in particular AND lofic.  This is illustrated in Figure 1.
Figure 1.  A possible use of the AND logic in Scratch.  AND logic table is shown.  Both A AND B must be true for the combined statement to be true and the block within the If statement run.

We can use this kind of logic to determine if two events are true.  I asked the students this week to try to use an AND statement in their code.  An example application might be an game where you need to find specific items to completed specific tasks.  These items can be collected by a player and these items are sometimes called pick-ups.  This is particularly important when creating role-playing games (RPG).  For example, see the list shown in Figure 2a.
Figure 2(a) a simple list which could be combined with the AND logic function to check if to two items are available, and if so, the action that would result;  (b) an example of such an application, being  a key brought up to a door, at which point the door opens.
 It may be that each item must be collected in order to operate a specific thing and produce a specific result.  For example s shown in Figure 2b, a key must be collected and brought to a door in order for the door to open.  Try this AND concept with a simple RPG and let me know how it goes.

Tuesday 21 July 2015

Week 7 (21st July)

We're back from the break and the Scratcher and Guru's were hard at work.

Scratchers:  This week we discussed the concept of cloning, and how this concept was borrowed from the field of biological sciences where cloning of cells and a sheep (Dolly) has resulted in the cells (and the sheep) being copied.  Perhaps the most popular use of the term clone comes from Starwars and the clone wars.  Scratch uses this same concept to make copies of objects.  We do this by using the [create clone of {myself}] block (see image right/below).  When this is inserted into a repeat block, it's easy to make many copies to your sprite.  It can make your code far more re-useable.   For example, have you tried to make lots of duplicates in the past, only to find a simple error the spite that required all the sprites to be deleted and then re-duplicated ?  Cloning removes that problem as you only need to add the code once.  Some issue to watch out for when creating clones in sprite:
1)  Make sure to include a [When I start as a clone] block and then give some actions.  This is a good place to add random actions so each sprite acts differently.
2) when you make the clones, they all pile on top of each other, so you can't see them.  Make sure  in the [When I start as a clone] block you add a move, glide or other motion command to separate them
3) the original sprite just stands there and does nothing in the code shown.  It's important to [hide] the original sprite after all the clones are created.
4) don't make too many clones or the computer will cry :(

Start inventing new game that use cloning !!!

Gurus again did a great job of mentoring and some showed their new tablets that the year 5's are using in class.  It appears Scratch now runs on the tablets so you can bring these if you like.  However we may start the Gurus on Apps if they all have access to tablets.
Appers - while no Appers turned up this week, it appears we have fixed the networking problems that stopped App Inventor from working over the school network (hurray).  Some basic setup instructions are shown below for those schools having similar problems.  Some comments.  App inventor does not work with Internet Explorer (only Chrome or Firefox).  However when setting up the schools proxy server access, we needed to set it up using Internet Explorer as indicated below.  Once done, the other browsers inherited the setup configurations.  Please comment if this information is useful or if your're also having issues.  Many Many thanks to the Jeremy and IT support for making this happen.  This term we will be full steam ahead to develop some cool apps.
Proxy Server setup details to allow MIT App inventor to work are s follows:


Week 6 (30th June)

This week the scratchers focused on creating variables.  This is a huge concept for primary students to be exposed to.  It is the beginnings of appreciating how algebra works.  With variables we let a "letter" equal a number, such as a=1. We can create lots of variables (such as a=2 and b=3) and then use these variables in calculations.  So the kids set to work making programs that could help them solve maths problems.  They did a great job just in the 90 minutes of the session, and over the break, some students have developed these to look like calculators and solve addition, multiplication, subtraction and division problems.  There's such great learning going on here.

The Gurus continued working on their games and our 3 Gurus who acted as mentors to the scratchers this week did a great job to help the students craft their programs.

The Appers are still limited by the proxy settings which are stopping access to App inventor.  Many thanks to the parents and IT support who are helping to solve these issues.   Instead this week I set the Appers the task of looking at creating objects in 3D using modeling software which can slice objects.  This is very similar to how 3D printers do it.  This activity was designed to select a standard design (an apple see right) and then slice that apple into smaller pieces, that can be cut out in cardboard.  The separate pieces can then be assembled to create a final 3D apple from the separate slices.   The pdf of the slices is here which you can glue to a some card board and then assembly by stacking up the numbered sections in order.  To try it yourself:
The very simple approach
Download this one page PDF of the apple and stack to build
The more challenging approach
Goto  http://www.123dapp.com/
Register then download the application AutoDesk 123D Make
Download this Apple.stl file (image of an apple generated by Omar Zuniga, Arizona)
Start AutoDesk 123D Make and IMPORT the Apple.stl file
Change parameters as indicated below and play



The really advanced approach
Goto  http://www.123dapp.com/
Register then download the application AutoDesk 123D Make
Goto the 3D Models at the top of the www.123dapp.com page, and search for the Apple
 Select the Apple  by Omar Zuniga, Arizona   (on the 2nd page of models)
Download and play, then search for more models to build, or create your own

Enjoy

Sunday 28 June 2015

Week 5 (23rd June)

Scratchers 

Scratcher this week worked on the "when sprint clicked" EVENT, shown in Figure 1.
Figure 1:  When this sprite clicked block from the EVENTS block.
The idea was to combine some random action based on last weeks activity with some action such as a "hide" (from the LOOKS block) which should occur when a mouse button is pressed while over the sprite.  Scratchers should watch out for funny effects such as the action not working sometimes.  This can happen if the sprite is busy doing some other complex activity, such as gliding over a time T-seconds.  In such a case, you need to wait for T-seconds before you can click on the sprite.

Gurus  


Gurus continue to work on their primary games.  Many students are close to finishing PONG, but as a Guru, you need to make sure it is really working perfectly.  If there are any weird effects you can't understand talk to me, or another Guru or Apper.  This week we started the mentor program, where 3-Guru's are assigned to work with the Scratchers.  We will select 3 different Guru's each week to work with the Scratchers, as this helps the Guru's refine their skills and helps the Scratchers overcome some stumbling blocks.

Appers

Appers had a different activity this week as described below.  They needed to create an animated GIF by following these steps.
1)      Create some slides in power point of an image.  In each slide, make the picture only slightly different from the previous so that when you flick through the slides, it looks like a  simple animation.
2)      Save the document as a power point file (myfile.pptx).  Then use the “Save As” button and select the “Save as type” as a GIF file (or JPG or PNG)- see Figure 2.

Figure 2: Select the "Save as Type" in powerpoint to a GIF (or PNG)


3)      It will then ask the question shown in Figure 3:
Figure 3:Which slides to export Dialog box











4)
      Select “All slides”  This will save every slide in the document to a folder with each slide given a different name.
5) Now go to : http://gifmaker.me/  which will bring you to the screen shown in Figure 4.
Figure 4:  The GIFMAKER main screen
6) Upload you images (all the slides created)
7) Then select the Animation speed to the right
8) Then click “Create GIF animation”
9) Download the resultant GIF.


When you click on this gif it should now run in a browser and be animated.
Activity: 
Check the file size of GIFMAKER.  It’s good to make the GIF files very small to reduce the time it takes to load.

Adjust the “Image size” number of pixels on the right and repeat the above, checking out the effect on the file size when you download it again.
You can now use this GIF as an icon or avatar. 
Here's an example of my snowflake animation that I use for my Scratch ICON.  This file is only 15kbytes in size.

Saturday 20 June 2015

Week 4(16th June)

Scratchers:  

This week the Scratchers experimented with random numbers.  In Scratch we can create random numbers using the [pick random {lower num} to {upper num}] block - see figure 1.  This block can be found under the OPERATORS tab
Figure 1:  Random block in scratch found under the OPERATORS tab

Scratcher are excouraged to experiment with using random numbers to add some unpredictability to their programs, as they would find in real games.  For instance, you could move around the screen to random locations as part of a "find and click" game.  Try the block shown in Figure 2 for example.  Note the range I have used for the random numbers.  Refer to week 2 where we discussed how to move around the screen.  In that week we used an x-direction number line (left-right) and a y-direction number line (up-down).  Check to see you understand how large positive and how large negative the x and y number line values can be 
Figure 2: Using random to move around the entire screen
Or maybe you just want your sprite to randomly do one thing or another...like changing costume.  You can use the [if then else]  block we learnt about in week 3.  Try out the code block below (use the cat sprite to ensure you have at least 2 costumes).  The result of this code block is shown in figure 4.
Figure 3:  Random selection of 1 or 2 options (changing costume)
Figure 4:  Result of the random costume changing cat

Gurus:

Figure 5:  Block that results in reflection
of the sprite from each of the 4 walls. 
This week the Gurus helped to take apart an old tower desktop computer.  The students had to identify the hard drive, the memory and the central processing unit (CPU).  Many students made a simple sketch of the motherboard.  If anyone has a sketch they can scan and post from the session, it would be great to see.
Many of the Guru's are having an issue with the return bounce of the ball off the bat or walls in the game of PONG.  This is a reflection-off-a-surface problem.  The ball should come off the wall at the same angle the ball struck the wall.  There is a  detailed block-segment and explanation from the Scratch Wiki, however the math is difficult to appreciate for primary students.  Still the block works fine to use.  Another method uses broadcasts which will not be covered for a few weeks for the Scratchers.  A simpler (maybe) method is shown in the block I created in Figure 5, with the resulting output from this block shown in Figure 6.
Figure 6: Animated sprite reflecting off each
of the 4 walls
From next week 2-3 of the Guru's will be selected each week to help out the Scratchers.  This peer learning is a really effective way for the Scratchers to learn and for the Guru's to improve their own understanding and get recognized for the skills they have already developed. 

Appers:

Network issues are still delaying the Appers from being more productive, but they're in there each week programming away and helping the Guru's develop their skills.  Many thanks to the Appers for their patience and the tech-savvy parents helping to solve the issues.

Old Laptops for Kids

Some parents are interested in using older laptops for their children to experiment with programming and Scratch.  I highly suggest using Puppy (follow the link).  It has a very small installation size so can fit on older laptops/desktops with lower capacity hard drives.  If you're just running a browser and scratch with no intensive video or graphics, this is a simple option for you.

Wednesday 10 June 2015

Week 3(June 9th) Activities

Week 3


Figure 1: <if> -<then>-<else> block in Scratch
This week we looked at the <if> -<then>-<else> block in Scratch.  This block is shown in Figure 1.
 The <if> portion requires a question to be asked with a yes or no answer.  Based on the answer, the block would do one function or <else> it would do another. We ran a simple activity to show this to the students.  I tapped each student on the head and asked "Do you have brown hair ?".  If the answer was "yes" the student went to the left and waved their arms, if the answer was "no" the student would go the the right and jump up and down.  At the end we had sorted all the students with brown hair into a hand waving frenzy, with non-browns jumping.

The activity for the "SCRATCHERs" this week was to use the <if> -<then>-<else> block in Scratch to perform some simple function.  As well, the students need to continue with the next tutorial in Scratch and save each tutorial when completed.
The "GURUs" need to continue with their game, being careful to obey the rules of pong as closely as possible (scoring, realistic ball motion and bounce from bats, ball reset to the center when the point is lost).
The "APPERs" are still having connection issues between the school computers and the tablets using the MIT App inventor, so until resolved we have started them looking at Arduino in Scratch, by controlling an LED, speaker and servo connected to a simple robot.  Details of the activity and installation required can be found here (setup by some vacation students I had in 2014).

Keep programming and save your results



Week 2 (2nd June) Activities

Week 2 (2nd June)

Figure 1: Simple number line starting from 0
This week we reviewed the basics of the number line.  Most students at year 3 level are used to the number line starting at zero and going to infinity, as shown in Figure 1.

Figure 2: number line going from minus infinity to positive infinity
However in practice the number line can extend just as far to the left, and to show this we use negative numbers, as shown in Figure 2.  
Figure 3: x-axis numberline in Scratch going from -240 to +240, with 0 in the middle
We can use this number line concept to move objects around the screen in Scratch.  but infinity is a pretty big number and our screen has only 240 spots (or pixels) to the right of zero and 240 pixels to the left of zero.  We call this the x-axis and this is shown in Figure 3.

Figure 4: x and y axis combined 
Now if we turn this number line so that it points up and down, with positive numbers going up we still have a number line.  We call this the y-axis and these numbers in Scratch have 180 pixels above zero and 180 pixels below zero.  We can combine both x-axis and y-axis as shown in Figure 4.  In mathematics, this is called the xy-Cartesian axis.  To put an object at the top right location, you would set the x=240 and y=180, and we right this as (240,180) or (x,y) where x comes first, then y.
To help move objects around the screen in Scratch, you can use the xy-grid backdrop in Sratch, which is shown in Figure 6.  This really helps to figure out the (x,y) location on the screen where you want your sprite to go.
Figure 5: xy grid backdrop available in Scrtach
In Week 2, students should practice using the "GLIDE" command in scratch to move a Sprite around the screen, going from each corner to each other corner by specifying the (x,y) locations to glide to.







Tuesday 26 May 2015

The computer club started in fine form today, the first Club meeting for 2015 (Term 2).  Thanks to the large array of parents who turned up in support. Hopefully you appreciate the need for parent supervision as it's a bit hectic -- largely due to the enthusiasm of the kids and their excitement to show what they have done or to get started in a new programming career.  Some comments:
  • The students starting out on Scratch are being called "SCRATCHERS" (25 at the first meeting).  These students are largely beginning on Scratch for the first time and are based in the library.  For this week these students need to complete the "Getting Started with Scratch" (first tutorial) on Scratch and setup an account (with the help of a parent) so that they can save their work. Saving the work is essential for us to view and note down so that children can move onto the next activity. Just click the Join button at the top of the Scratch Screen and you should see the screen to the right - follow the steps to create an account.   I have sent home a practice card for these students to try.  Students will get a new card each week until they complete the set (of 12).  For those following along at home, follow the links to catch up or advance..
  • The students with some Scratch experience are being called "GURUs" and are based in the computer Lab (14 of these students at the first meeting) .  These students will need to complete, and be able to explain, 3 programs in Scratch.  The game of PONG, a RACING car game and CONNECT4.  Once done they can migrate to being "APPers".  So focus on getting the games to work as best you can (don't settle for 'almost' correct.... the devil is in the detail).
  • The experienced Scratch programmers will be called "APPers" also based in the computer lab. These students will focus on designing an App on the School supplied Tablets (Android).    These students will be using MIT App Inventor and will need a Google Account in order to save their work and continue (if desired) from home.  Currently we have 2 "Appers".   I have this crazy idea about the kids developing an App for the upcoming Fete, to tell everyone where and what stalls there are, but I may be aiming too high.
Remind your children than any Scratch/App development screen time should be taken out of their weekly allocated screen time (TV, Gaming, MineCraft etc..)..  Please ensure all children have a Scratch login account as his allows them to save their work. They cannot move onto the next activity until we see and tick off their completion of each task.

We are well over subscribed with students which risks the quality of the experience for all those attending.  So we can't consider any additional students this year.  But follow along online and you'll be a a good position to join next year.
More next week.