Teaching Kids to Code: Day 1

I taught my first youth programming class this Monday.  I don't have a degree in education nor my teaching certificate, so I probably didn't follow researched and proven teaching methodologies, but we still got to accomplish some cool stuff that few in the classroom had ever done before.

We started out by showing a video that attempts to motivate kids to learn to code.  This is a great video that has the likes of Chris Bosh and Will.i.am advocating that kids learn to code as well as Mark Zuckerberg, Bill Gates, and other software engineering giants.  I highly recommend showing it to your school principal, your science and math teachers, and your students in school.  We need more coders in America!

Afterwards we talked about what we wanted to create this week.  The kids are pretty excited to create a Minecraft Mod using CraftBukkit on Thursday.  I got a pretty positive response from the kids when I told them that we would be programming games all week.  :)

Our first game was a simple guessing game.  The computer was "thinking" of a number between 1 and 100, and the user had to guess it.  I gave them a working, but stripped down version of the game and had them use the command-line JVM.

What I gave them always reported back "Nope!" whenever the guess was wrong.  Not very helpful.  There first task was to be more helpful with the answer by changing it to "Higher!" and "Lower!".  To buffer against the slowest and the fastest kids in the class, I had two "bonus" tasks--a) constrain the range printed out to the user based on his guesses, b) track the number of guesses that it took the user to finish and c) an enhancement of your own.  I had one student out of 11 finish all three bonus tasks, so I think it was a pretty good amount of buffer.

Because of some First-Day Problems, we spent a fair amount of time getting the lab environment working; a few of the computers weren't ready with command-line Java.  Greenfoot wasn't compatible with the JVM installed on some of the computers.  MinecraftEdu.com hadn't gotten back to us yet regarding our request to purchase licenses.  Grrr.  This is the first time that U of U Continuing Education has offered this class, so I guess that is to be expected.

Anyway, we all had a blast.  Today, we will be using Greenfoot to program interactive games.  Can't wait!


"I love to teach, as a painter loves to paint, as a singer loves to sing, as a musician loves to play" - William Lyon Phelps

1 comment:

  1. The effectiveness of IEEE Project Domains depends very much on the situation in which they are applied. In order to further improve IEEE Final Year Project Domains practices we need to explicitly describe and utilise our knowledge about software domains of software engineering Final Year Project Domains for CSE technologies. This paper suggests a modelling formalism for supporting systematic reuse of software engineering technologies during planning of software projects and improvement programmes in Final Year Project Centers in Chennai.

    Spring Framework has already made serious inroads as an integrated technology stack for building user-facing applications. Spring Framework Corporate TRaining the authors explore the idea of using Java in Big Data platforms.
    Specifically, Spring Framework provides various tasks are geared around preparing data for further analysis and visualization. Spring Training in Chennai