Teaching Programming to Middle Schoolers
After many years of teaching Scratch at my local elementary school, I decided to start teaching an after-school session at my local Middle School. With diverse interests and abilities (not to mention, I’m considerably more busy during my day job), I thought I’d try a new approach: nothing.
With amazing environments, like Scratch, and on-demand lecture series, like CodeAcademy and Khan Academy, I shouldn’t need to prepare much…just turn them loose, following their interests, but be available to help.
Wrote up the description in the school paper:
Interested in making computer games instead of just playing them? Don’t know how to program? No problem. This class is for beginners. We’ll get you started learning based on your interests:
- Scratch for making games
- HTML and CSS for making web sites
- Python for solving math problems
This club is student directed and collaborative, meaning that you can work on projects by yourself or with your friends. The teacher will get you started, but you’ll need to be self-motivated.
Yes, I would rather just teach them Racket, but I’ll wait for high school for that. ;-)
While the students will learn on their own, I would like to spend 5 to 10 minutes at the beginning of each class spotlighting something interesting from the wonderful world of computing.
No plans to teach these, just wanting to expose and intrigue them. Here is a list of my initial thoughts, but would love to hear from you:
- When I was a Kid
When I was your age (assuming, of course, that you’re in middle school), the Apple ][ was release. This computer changed the world, but you probably wouldn’t know that by looking at it.
- Internet of Things
A photo from Snapchat doesn’t go from one computer directly to another computer (even if it seems like it). We use special computers called servers that store information (like photos).
The original spreadsheet, Visicalc, changed the world. Behind typing prose, it may be the second most used application for most people: technical or not.
- Binary Numbers
Counting in different bases is a classic computer problem, but I think I could get the idea if instead of our standard numerals, I used a sort of cipher of wingdings.
- Ada Lovelace
Founder of programming … a bit about her life and her contribution to software.
A visual overview of this classic data structure. What example would intrigue these students?
- Prefix vs Infix vs Postfix Notation
Yeah, gotta slip in my Lisp and Forth. Nothing too extreme, but just to show that we have multiple ways to do things.
Nothing too technical, but a visual overview to demonstrate the concept of how we care about the speed of sorting things.