2020-06-27 00:00:00 +0000
If you’ve been reading the previous blog posts, I said I would get a post out at the half-way point of the spring 2020 class. I completely dropped the ball on that, sorry. Anyway, I was thinking better late than never.
The Coronavirus threat was becoming more apparent in early March. People started wearing masks around the library and some people were attempting social distancing. Schools began to close, and I ended the in-person part of my class on March 12. Luckily, I saw the writing on the wall about a week before, so I had introduced the class to an online curriculum called CodeCombat. It was very similar to the graphical programming framework I developed, which allowed for a smooth transition. I also spent time taking an inventory of student equipment to make learning at-home a success.
Many of the students didn’t have access to a personal computer at home. I was able to give three students laptops which had been donated or which were owned by the NJCSSA so that they could continue with the class and complete their schoolwork more easily.
In the online version of the class, we stuck to the same schedule as the in-person class. We communicated through Discord, which is a social media platform. CodeCombat has many courses in CS with CS1 and CS2 being the first two introductory CS courses. All the students got through CS1 and most partially got through CS2 during the last 5 weeks of class. These courses reinforced what we had learned with the wombatgame like functions, loops, variables, and conditional statements.
Class ended right before spring break, but since everyone was online and we were all stuck at home, I offered to do an extra project. We settled on re-creating PONG in Javascript. Even though they had been taught only Python up to this point, making the game in Javascript showed them that there are slight syntax differences between languages, but the fundamentals stay the same.
Three students wanted to make the game and we worked on it for a month after the class officially ended. The students learned the basics of game development and animation. I spent a lot of time going through the theory and drawing out diagrams. The hardest part for most students was the collision detection. That took a decent amount of math, but I hope it showed them how math can be applied in the real world.
All of the students were able to code the basic collision detection so that the ball bounced off the walls correctly and they added code to make the paddles move. One student was able to extend it further by adding features like AI and score count. He did a lot on his own and I just helped to nudge him in certain directions.
I hope to continue teaching CS online this summer and get some other instructors teaching too as we all continue to maintain social distancing and avoid large groups.
Ben Campbell
NJCSSA Founder and Director
[email protected]