Tag Archives: Games

AP Computer Science SIs – return;

Well,
All 3 of my AP SIs have concluded.  I had a great time at all 3 stops and look forward to doing a few summer institutes again next year.

This year, I started each SI with Scratch and Jeroo on the first day and then moved on to GridWorld and lots of Java.  I spent considerable time on arrays and ArrayLists as those topics constitute a huge part of the exam.  We worked with arrays and lists using graphics, games, and cross-curricular focused projects.

Time was spent discussing ways to show students how important Computer Science skills all to other disciplines and to students considering a degree other than Computer Science.  We read articles each day, like the ones I post here on this blog and discussed the relevance of talking about articles in class.

I just received a link to a great article about Stanford Computer Science and the changes they have made.  It is a great article and makes me feel great about many of the changes I have made to my curriculum over the last 3 or 4 years.

Enjoy the rest of your summer!

Mario and P vs NP

Mario has been analyzed and deemed to be an NP-hard problem by a research group at MIT – read the entire article.   This is quite humorous and something that my students will find very interesting.  We have discussed the P vs NP Problem in class several times and many find it intriguing.   This article and the research behind it will give me a reason to discuss P vs NP again.

US Dominates World RoboCup 2011

US Dominates at the 2011 World RoboCup

This is way more interesting than robots can sense emotion.
Kicking a ball and running around on a soccer field is way cool.
Well, they do not actually run, but kinda stagger and limp around.
Either way, it is pretty neat to see robots attempt to play soccer.
In a few short years, they will actually be able to run and play for real – just watch and see!
Check out the video of Adult size final!

Game Programming

Game Programming is very popular and many high schools offer some type of Computer Science course that includes a bit of game programming.  Scratch can be used to teach some basic game programming as can Kodu.  Unity is another great tool for 3D game programming that now will run on Android.  I teach quite a few games in my AP CS A class using GridWorld and Java Graphics with a bit of GUI.  I have used GameMaker a few times with mixed results.  Also, C# and XNA work great for game development and there are lots of materials readily available for free – check Alfred’s BlogPygame is great and allows you to create some really nice games using Python.  The options for game programming are numerous and games really do get students excited and motivated about learning Computer Science.

Teaching AP Concepts in Scratch – Vol II – Searching

A typical linear search algorithm consists of some variables, an if-statement, some type of loop, and of course a list.  The search may be examining the list and looking for a specific value or some type of thing, like a specific type of creature, the prettiest princess, or an animal in a game.  I do not write games about pretty princesses, but I do have students that like to do that.

The AP A exam tests a student’s ability to solve problems and formulate algorithms.  The exam does use Java as a testing vehicle, but does not test specific syntax details of the Java language.  First and foremost, the AP A exam is focused on testing a student’s problem-solving ability.  Searching a list requires a certain amount of problem solving ability at a very basic level.

Searching through a list for something is a very important Computer Science concept and one that is tested on the AP A exam.  Typically, the AP exam free response will ask a student to write an algorithm to search a list for something.  The multiple choice component of the test usually contains a question or two focused on searching as well.  Students need to understand this concept very well.

Searching in Scratch and in Java.

Searching in Scratch and in Java.

Writing a search in Scratch is relatively the same as writing a search in any language or environment.  Students still have to combine some variables, a loop, and an if-statement together to process a list in order to solve the problem.  The main benefit of doing this in Scratch first is that students can just focus on the problem as they have to spend considerably less time on the details of typing in all of the pieces.  Scratch does not require that students focus on syntax details so students can concentrate solely on how to solve the problem.  After mastering the concept in Scratch, it will be much easier to crank out a solution in a text-based language like Python, Scala, PHP, Ruby, or even Java.

Scala is a pretty slick language by the way.  A good friend at Rice University suggested I check it out.  It is pretty cool.

Using Scratch BYOB makes creating a search in Scratch a bit slicker as you can create your own blocks and pass parameters.  This adds in a bit of abstraction that you do not have in the non-BYOB version of Scratch.

CS News – Old People Like Scratch

Kids Teaching Scratch to Old Folks

This is a great article about the HILR program at Harvard.  Teenagers are teaching retirees how to write programs and create amazing stuff using Scratch.  I think this is awesome.  My sons, 6 and 9, both use Scratch and have attempted to teach every one of their friends how to “Crank Code in Scratch”.  It is very cool to see kids sharing their love for Comp Sci!
Disclaimer : I am using “Old Folks” and “Old People” in the title and link for the humor aspect only.  Retirees rock!

CS News – The Mobile App Revolution

Mobile App Revolution Will Change Your Life

I am not 100% sure that Cody has it totally right on this, but he does make some really good points.  Mobile apps are everywhere and smart phones are getting more and more popular.   My sons spend more time playing the game apps on my iPhone than I care to discuss.  I have a hard time even getting to use my phone as those dang kids always want to play Deadly Chickens or Goofy Gorillas or some other off the wall kids game.  They rarely play games on the computer anymore as they are always using my phone.
I have had my students work on iPhone games and Android games in the past and will continue that this year.  I am also going to utilize the Google App Inventor that was recently released a few weeks back.  The tie in to Scratch is nice and having an environment that is a bit simpler than Objective C will be nice.  The Android market is growing.  I also saw that DreamSpark has an option for Windows Mobile App creation now that could be useful as well.
We discussed Cody’s blog post today in my Computer Science classes and my students found it very interesting.  Many of them want to write apps for phones and quite a few decided to study Computer Science for that very reason.

DreamSpark

DreamSpark Software

Alfred Thompson has a great blog post up about the DreamSpark program Microsoft offers to students for FREE!  Yes, indeed – I did say FREE!  I am not plugging Microsoft or on the payroll ( yet ), but I do think the program is great and hope more people learn about it.  My students love all of the different tools provided.   We hope to do more with it this year.

CS News – Video Game Data Mining

Video Game Data Mining

Online gaming services not only host the games, but also record the playing of the games.  Apparently, the data mined from the recorded game play helps to provide the designers with ideas.  Makes good sense to analyze this data, but is still a bit on the creepy side.

This is a really interesting article that I am going to discuss this week with my Computer Science classes.  We are starting some game projects and this is a great lead in and conversation piece.  Most all of my students play online games so I am curious to see how they respond to this article.

CS News – Gamers Help Solve Medical Problems

Gamers Help Solve Medical Problems

Protein Game Site

This is really cool!  It makes sense to use a game to solve a problem as problem-solving is a essential part of playing any game.
I have made several posts about using games to teach Computer Science and the benefits.  I have been using basic games, complex games, and the theory and logic behind them to teach Computer Science and problem-solving concepts in my classes for a long time.  Games, like bowling, are just good family fun.  Games are interesting and get students excited and they require serious thought and planning to build.  I have my students build a sliding puzzle project in GridWorld and use it as a stepping stone to talk about using priority queues and the A* algorithm to write an automated solver.  The A* algorithm is a fun algorithm to learn and can be used for lots of different games and such.   Yes, I did just use algorithm and fun in the same sentence and meant to do it!  The games are the hook and the rest of the concepts just fall into place.

Sliding Puzzle Image

Sliding Puzzle Image