Teaching Coding, Conclusion

The Harpeth Hall Hackers spent two more days learning how to develop Android Apps. We worked on a “PaintPot” app that allowed the user to take a picture and draw over it. The girls did a good job coming up with modifications to the basic app. Here’s a screenshot of it:

PainPot1

And here is the code for it:

PaintPotCode

The next project we did was to create a game based on the old Whack-a-Mole arcade game:

MoleMash

The AppInventor website has step-by-step instructions and tutorials on how to create both of these apps.

We wrapped up the course spending a couple of days designing and printing 3D objects. We used TinkerCAD to do the designing, and a MakerBot Replicator 2 to print the projects. The girls designed a coin tray, a ring, a fish, a turtle, and a monogram desk display:

Printing the Projects

Printing the Projects

Finished Projects

Finished Projects

Some quick thoughts, now that the minicourse is finished:

1. Beginning with Scratch worked really well; I think next year I will go straight from that into AppInventor, since they are so similar.

2. The girls were surprisingly willing to tackle pure coding with Python. Even though that part of the course wasn’t their favorite, they made a sincere effort to learn it.

3. TinkerCAD has a Shape Generator feature that is coded with Javascript. I might want to consider teaching them a little of that language, so they can customize their 3D projects.

4. I intended to introduce the students to Codecademy, but we just didn’t have enough time. Maybe next year!

Advertisement

Teaching Coding, Part 1

Scratch

My school has a three-week period between semesters called Winterim, where we offer an alternative curriculum. This year, I am taking the plunge and teaching an intro to computer coding. One of the biggest challenges of teaching at an all-girls school is sparking interest in computer science among my students. Hopefully, this minicourse will get a few girls inspired to pursue the subject further, and we can build on that. So, I’ll be writing a series of posts in the next couple of weeks to share with you what works and what doesn’t.

The basic course outline is this:

  1. Intro to coding through Scratch. (The screenshot above is from the Scratch programming environment.)
  2. Intro to Python by designing some simple games. For this part, I’m using Al Sweigart’s Invent Your Own Computer Games with Python. It’s available for free online here.
  3. Design your own Android apps. I’m using MIT’s App Inventor website in conjunction with the book App Inventor to do this. You need a Google account to log into the website.
  4. Time permitting, we’ll learn the basics of TinkerCAD, and print out some 3D projects.

I’ve spent the past couple of days exploring Scratch, and that will be the subject of my next post.