Learning 28 Jan 2016

We Explored, Engaged and Invented at The Code Camp III

By CIS Communications
Photograph by CIS Communications
by Egmond Boon, Secondary School EdTech Coach, Design Subject Lead -

93 students from across Singapore were given an opportunity to EXPLORE, ENGAGE and INVENT through coding at CIS’ annual Code Camp on Friday, 15 January and Saturday, 16 January. Now in its third year, the event saw students participating in workshops such as Robotics & Coding with Makeblock, Web Development with HTML5, CSS, and Javascript, Game Development with Scratch/ Python, App Development with MIT App Inventor, and Micro-controller Programming with Arduino.

The goal of the Code Camp is to develop creative and innovative young minds through technology. Students came together to design, develop, and invent creative computer programs, games, apps and webpages. During this 2-day event, series of coding workshops were offered to students, who were eager to learn how to code, solve problems in the planning, designing and executing phases, and get creative in every stage of the process. While creating their games, apps and webpages, students made new friends and had so much fun.

The following workshops were available to student coders of all levels:

1) Robotics & Coding with MakeBlock

The 25 students who participated in this workshop learnt how the hardware and software within devices work together to solve problems. They performed different tasks through Makeblock mBot and used a robot to explore different electronic components such as LEDs and sensors.

With the programming software mBlock (based on Scratch), students successfully created programs where the hardware components would trigger software cues and vice versa. Some of the highlight projects included:

- ‘Looking for Food’ Game

When the mouse had found the food, LED would light up and buzzer would sound to signal.

- Alarm System

When the robot sensed an intruder (using ultrasonic sensor), the system would alert us on the programming software.

- Delivery Robot

Students made use of scrap materials provided and created baskets to hold items to be delivered. These robots were controlled by the keyboard keys for navigations and ultrasonic sensor to avoid obstacles in its way.

- Cleaning Robot

These robots were built to collect trash on the floor and deliver them to a designated area or trash can. One of the groups had built-in broom to sweep up all the loose pieces of paper.

- Alarm Clock Robot

One of the groups created an alarm clock bot that will travel to its owner and nudged the owner to wake up. The settings (time of the alarm, timer) for the alarm clock were configured on the program created.

2) Game Development with Scratch

Students learnt the basics of game design and developed fully functional games using Scratch, which is a free programming language and online community where you can create your own interactive stories, games, and animations. These games were then enhanced with additional features, such as start screens, game over screens, a thematic storyline, multiplayer functionality, or using alternative control methods.

One student created Save the Princess, a game in which the player had to jump on the head of an evil dragon while avoiding its fireballs. She integrated gravity to simulate jumping as well as creating start, game over, and victory screens. Another student took inspiration from his favourite game, League of Legends, to create a platform game with multiple levels that culminated with a difficult boss fight. Another pair of students chose to use a theme based on two of their favorite series: Zelda and Mario. By importing art from both games, they were able to create a multi-stage game that integrated elements of both series.

Another student developed a Star Wars themed flying game, where the Millennium Falcon had to shoot incoming TIE Fighters while dodging any lasers. But beware, the Millennium Falcon only has a limited amount of health: if you fail to dodge enough lasers, your ship will explode! Finally, another student created an extremely unique and expansive game that included multiple game genres. His game follows the saga of an aged wizard. It begins with the wizard trapped in a haunted house: he must shoot his wand and defeat five ghosts, but his wand can only fire five times! If he runs out of charges, he must grab the orange powerup that will randomly appear to recharge his wand. The ghosts also damaged him if he touched them. Once the wizard defeats the ghosts, he then faces a Crossy Road style challenge, avoiding obstacles while crossing the screen. Finally, the wizard enters into a platform style game where he must navigate through multiple levels while avoiding any dangerous lava.

3) Game Development with Python

Students learnt basic programming in the Python programming language and developed games in the Processing environment (Python Mode). Python is a widely used general-purpose, high-level programming language.

Several games stood out in this workshop with the highlight being Face Wars. In this game, enemies appear from random spawn points and advance on the player. The player has a shield defence with limited range, and which also needs time to recharge in between use. The player has to avoid touching the enemies.

4) App Development with MIT App Inventor

Fundamental concepts of coding, app designing and prototyping process were taught in this workshop where students were given the right tools to turn their brilliant ideas into creative apps. MIT App Inventor for Android is an open-source web application originally provided by Google, and now maintained by the Massachusetts Institute of Technology (MIT). It allows newcomers to computer programming to create software applications for the Android operating system (OS).

Just to name a few of the creative apps:

- Phone Pal - an app that allows the users to easily make emergency calls with a tap of the button. It also allows users to include numbers from their contacts that they can easily tap and call.

- Personal Butler is an app that combines an alarm clock with customisable alarm tones and a To Do list.

- ‘Avoid the Walls’ Puzzle Game has 3 challenging levels with more to come, this game will challenge your wits as you try to get a ball to the goal, avoiding walls and obstacles along the way.

- Happy Game challenges players to be the fastest player to tap on all the happy smiles and avoid the sad faces floating around.

5) Web Development with HTML, CSS and Javascript

Students learnt to build a profile page and played around with various Javascript libraries to enhance their personal webpages. Developing their personal websites meant creating their personal brands, where they explored their entrepreneurial potential. For example, a student built a rickrolling profile page where videos of Rick Astley’s ‘Never Gonna Give You Up’ from Youtube will randomly appear on the page until there are tens of videos playing at the same time taking up the entire page.

These exciting products co-created by student teams were showcased to an audience of parents and friends in the late afternoon on Saturday. More than 50 parents were present proudly watching their children’s amazing creations!

Congratulations to all the students who participated and pushed themselves academically with new technology!

Top