Hacker News new | ask | show | jobs
by glen 5634 days ago
Teach, would love to hear the details!
1 comments

Okay, here are the basics. Sorry for the delayed response; I'm used to reddit with its handy orangered envelope....

For the past dozen years, I've taught in a very traditional way. I'd give a lecture on a programming concept, then assign several small programming assignments of increasing difficulty to practice the new concept. Once most of the class is fine with the new thing, move on. Rinse, repeat.

This year from day one I had all 130 assignments up on a class web page, each worth anywhere from 5 points to 400 points (most in the 30-100 range, though). I spent a couple of days teaching them a "hello world" Java program and how to compile with javac on the command-line. Then I said, "By the end of the first grading cycle (13 class days, each 90 minutes) you need 250 points to earn an "S rank" (100%) on your report card. It's 190 points for an A (90%), 120 points for a B, and 60 points for a C. Below 60 points is failing. Do any assignments you want in any order to earn the points, although doing them all in order is probably smartest. Go."

Students turn in the completed assignments into a digital dropbox, and I grade them daily, giving each assignment between 0 points and its max. If a kid makes less than about 95% of the possible points on any given assignment, I conference with him to explain what he's missing, and he'll redo it and turn it in for full credit.

I added in some LearnPythonTheHardWay-style assignments as the first couple of assignments of each new topic, so they can type in and mess with some already-working code that demonstrates the new thing.

I only give class-wide lectures when there are several students all stuck in the same place. Otherwise I just help the kids one-on-one or refer them to my slide decks or Google.

Points are cumulative, so for the current grading period, students need to have a TOTAL of 3300 points for an S-rank, 2600 points for an A, 1800 for a B and 1200 points to pass.

Some students have 4000+ points already and are on pace to complete two years' worth of curriculum in their first year (and sit for the Advanced Placement test a year early). Others will be fortunate to understand if statements, loops and functions by May.

Everybody's in a different place and it's fairly chaos in here all day, but every student is learning something and I love it.