For the last couple weeks the kids have wanted to do more iPads, surprising right? We have done Lightbot in the past, but haven't ever heavily focused on the last levels, and the concepts because it takes a while to get through all the levels, and reach these levels. The game probably has over forty levels total. One of the first things we had to make sure the kids understood was Procedures and re-usable code. Lightbot allows you to use Procedure 1 and Procedure 2 as a block of code that can be re-used in (called by) your main program. Later in the game we start messing around with using our Procedure 1, as a supporting block of code.
We continued to work on understanding and using Procedures. The cool thing is that when you create a procedure, it might be different from the one your classmate used to beat the level. There can be different ways that you arrange the instructions to complete the level. We also practiced using loops within our procedures to make our programs smaller and more efficient.
This was the last week we played with Lightbot. We did a little refreshing when we got back from break and made sure that we had procedures and loops down. There is another app called CargoBot that is very similar, but pretty much requires you to use prodecures and loops at every level. We also learned about a concept called mutual recursion -- when Procedure1 calls Procedure2 and then Procedure2 calls Procedure1. That was interesting!
Even the tutorial and beginner levels for Cargobot are pretty intense. They really require you to break down the whole operation and split it into different procedures. You have around five Procedures for each level to use, compared to LightBots two. This is where we really learned to practice our problem-solving, and perserverance. Many times when we would start working on a level, we would get a little bit through and figure out that there was actually a better way to solve it and start over. This happens in Lightbot but not in such an impactful way. Cargobot forces you to look at the level, break it down into pieces, and then seperate those pieces into re-usable blocks of code that go into your various Procedures.
Some of the kids at the end of last class who were getting frustrated with Cargobot and started working on Hopscotch. This is the next app we transition to in our objective to teach programming and comes right before the actual typing programming languages. Hopscotch is still a drag and drop visual programming app, but within those drag and drop Rules as Hopscotch calls them, there are parameters that need to be typed in. We all started on Hopscotch this class and built the basic skelton for a Crossy Road or what used to be called Frogger!!! We started by programming our up arrow, left arrow, and right arrow to move around our character. Then we programmed two cars that were on a repeat forever loop to go back and forth in the middle of the screen as our obstacles. And finally we learned about a collision event and programmed the character to restart at the starting point when it collided with either of the cars going back and forth. This was a lot of fun, allowing the kids to add in some personal touch along the way unlike the last two apps had.
We started our adventure through Github and typing on the laptops! We started off going over Github, and talking about how it works, and why we would need to use it. Once everyone was set up on their laptops, we looked through the repository at the different files there. We edited the index.html file which will be our home page for the website, and also looked at our personal pages. The kids should be starting to understand the concept of commiting a change, and that change is now reflected as the most recent version of the file. Including the conflicts that would arise if we all tried to edit, and commit changes at the same time!!!