Ask HN: How would you teach Java to at risk youth?
I recently had the privilege of being picked to teach Java to at risk youth, but I feel like I am in need of some advice as per where to start.
I'm not having an issue with dealing with the kids, it's just what angle should I start with? Should I start with the basics of what happens when you type "System.out.println()"? the JVM? OOP? Should I just go into how to do variables, loops, and if statements and let them build a slow understanding through use of the language?
thanks so much!
(
7 comments
| 6 points
| on HN
)
Games a great way to do this. It's harder to impress kids these days (to whom "game" is "Call of Duty 4" with a multi-million development budget), but it's still a great way to make the mental connection between "I like games" and "I can make games".
It'll be easy to bore the kids with tons of details about variables, loops, and structures. At-risk kids are usually less curious and more interested in usefulness (I think).
First, get their attention by giving them the fastest route to a simple working program. Basically just show them that they can make programs that can be useful, then help them build by being a local expert.
You can teach variables, loops, structures as your students need them to make their programs work correctly - that way they'll have a good reason to want to learn.
A real course
I think it's best to start with something that doesn't requiretoo much boilerplate, allows kids to create something cool with a few lines, and has quick feedback. Like turtle graphic in logo or python.
I've heard processing for java allows for writing simple programs without boilerplate, and has nice einvironment. But I didn't used it, so I don't know if it's good for kids.
It depends on how much time you have. If you are only meeting them one day for a few hours, give them a page of code that does something and run through how it works from start to bottom, then give them the basic control and data structures like loops and lists and a simple goal like a blackjack program or number guessing game. You may also want to make (or find online) a cheat sheet of the language keywords and what they do, and hand a copy to everybody.