Game Programming with Scratch
This series of talk-throughs will show you how to create your very own dress up game with Scratch. The talk-throughs are perfect for anyone who wants to learn how to code and loves dressing up. The material has been put together by Monash University student, Raveena Kaur and will be especially interesting if you are a year five, six or seven girl wanting to get into coding.
Robotics with Lego Mindstoms NXT & EV3
If you are new to robotics, this is the place to start. We cover some concepts that are common across all computer programming languages using the graphical NXT-G language that comes with the Lego robotics kits. At the end of this course, the tech-savvy student will have learnt how to program a robot to control motors and respond to its environment using distance, sound and light sensors.
I just love the Robocup Rescue competition. Of the three Robocup disciplines (Dance, Resce and Soccer) it's my favorite by a long shot.
Rescue starts out easy enough and the first stages can be completed by a year five or six student with just a little support from their mentor.
The Robocup Rescue competition describes a scenario where there has been a terrible chemical spill, and a victim is trapped on the top of a chemical tank. The environment is dangerous and rescue can only be made by an autonomous robot and it's our job to build that robot.
The Brick Command Center is an Integrated Development Environment (or IDE for short) for programming robots including the Lego Mindstorms NXT using text based languages such as the language 'Not Exactly C' or NXC.
In computer programming, we talk about the floor and the ceiling of a language.
The floor describes the amount of learning you must do before you can write something useful.
The ceiling describes the complexity of the program you can write before you hit the limits of the language.
The graphical programming tool that comes with the Mindstorms NXT kits, NXT-G has a low floor (it's easy to get started) but a low ceiling (there are limits on what can be achieved with the language.)
Not Exactly C (or NXC for short) is much harder to learn than NXT-G, but once the basics have been mastered, there are fewer limits on what can be achieved.
This serious of talk-throughs will teach you the basics of programming the Lego Mindstorms NXT using NXC and the Brick Command Center.
Be warned - this is hard, but once mastered you will enjoy the power of the language.
Coding and Game Programming
Playing computer games is OK, but writing your own game to play, then distributing it to your friends is so much more fun.
Pascal is available as both free and commercial tools and different version have been used in amazing systems for decades, for example, Skype was originally written in Pascal.
In this course we learn the basics of programming using a commercial language by writing a simple game. This languages is tough - but once mastered, there is little limit to what can be achieved.
This is one of my favourite series of lessons and forms part of our pathway to text based programming. We start with the simple task of drawing a small cross in the center of the screen, and progress to drawing complex animations. Our program is finally packaged as a Windows screen saver for use on your computer or for sharing with friends.
Note: This series is still a work-in-progress.
The Australian Informatics Olympiad is run by the Australian Math Trust and is a competition where students must write computer programs to solve logic problems. Open to all secondary students, the AIO engages through creative problems in the perfect collaboration of mathematics and computer science. Success in the AIO can lead to selection in the Australian team for the International Olympiad in Informatics.
What ever the language, there will be tasks you need to perform like:
- Interacting with a user;
- Reading and saving data to something called a ‘persistent store’;
- Performing calculations (eg, increase the game highest score by 1);
- Making decisions (eg did the user just tap the left or the right side of the screen?);
- Repeating tasks (eg check the keyboard, check the keyboard, check the keyboard).
Visual languages like Scratch or Lego Mindstorms NXT-G allow you to code by dragging and dropping graphical blocks onto the workspace, then linking them by dragging with the mouse. These languages are great for learning the basics, but once mastered the visual interface actually slows the programmer down.
In programming, we talk about the floor and the ceiling of a language. These visual languages have a low floor, meaning that it is easy to get started, but they also have a low ceiling, meaning there is a limit to what can be achieved.
Text based languages have a higher floor and are harder to learn, but once mastered, there are fewer limitations to what can be achieved.
This course, Transitioning to Text Based Programming is designed to take students who have mastered coding with Lego, Scratch or other visual tools to the next level.