This course will introduce students to the concepts of app development, game design, robotics, and artificial Intelligence through basic programming and mathematics. The first part of the course will deal with game states, collision detection, and fundamental game mechanics. The robotics segment will include programming with the LEGO MindStorms Robotics Invention System. The course will give a simplified and general overview of game design and robotics with emphasis on real world practices and applications. Students will journal their exploration with focus on their personal interests, propose and build a final team project, and give a final presentation with live demo.
Book: Getting Started with Processing, By Casey Reas, Ben Fry
6/24/13 Day 1 - Wordpress and Processing
6/25/13 Day 2 - Processing.js and OpenProcessing
6/26/13 Day 3 - Pencil and Paper
6/27/13 Day 4 - Object Oriented Programming
6/28/13 Day 5 - Algorithms
7/1/13 Day 6 - Building Your Robot
7/2/13 Day 7 - Classes, Objects, and Functions
7/3/13 Day 8 - Field Trip
7/4/13 Day 9 - Final Project
Every day the students were required to analyze games and other educational interactive experiences to discuss the use of user interfaces, game mechanics, and overall concepts. Additionally, students created a portfolio, resume, and blog. They spent part of their day researching and reading about concepts learned in class and posting their discoveries online.
We used Processing to introduce the students to high level programming languages, and by the third day, they were required to design their own team project which they all went beyond expectations and have stored this work in their online portfolios. Class discussions included current events in the tech world, history of computing, the foundations of computer science and architecture, and practices in app development. Towards the end of the session, the class took a trip to visit the computing history museum, tying it all together.
Students were encouraged to learn vocabulary such as IDE and API and binary, decimal, and hexadecimal numbering systems. Since we started with Processing and moved on to Java in Eclipse, they were able to write about the experiences from one programming environment to another. They students engaged in many mathematical, logic, and geometry exercises as part of course training. There was also an introduction to Algorithms, which included Bubble, Selection, and Insertion sort. High level concepts like: Object Oriented Programming, Classes, Objects, Functions, Data Structures, Data Types, Boolean Logic, and Loops were the main emphasis of the course.
In the robotics portion of the course, the students built an autonomous vehicle which was able to detect and avoid collisions. The second robot they worked on was a mechanical arm that they could control. Photos of this, including all other activities in the course can be found here: