Posts Tagged ‘bdd’

Learning CS all over again

For the next couple of months this blog is going to take a short detour into CS education. I started my career as a history teacher, and James Patton asked me to use those skills to help him review CS.  I’ve agreed to help him out. Each Monday I will be posting a new lesson.  Follow along over on his blog as he does the work, and on Fridays I will post my solution. The Friday post will also include my design notes, and  any extra content left out of Monday’s Lesson.
My basic approach is to make use of things I learned in both education and development. CI provides some interesting ideas for automated grading. Sal Khan has already shown the benefit of computer generated practice problems. And Agile has suggested fantastic ways to organize this effort.

My starting point for unit/module creation this is the observation. “In both BBD(Backwards By Design) and TDD(Test Driven Development) we start with a Red Test.” I have copied that sentence from one working notebook to another at least a dozen times. It highlights something I all to often forget, One cannot achieve a goal one has not defined. The Red Test defines what evidence will show that we have achieved a goal, and allows us to begin.

Once we have a Red Test we develop tools to help our student achieve that goal. When our student is software we just write code that matches up with the goal. When our student is a human this phase is much more complex. We write and give lectures. Create worksheets, assign readings, lead activities to give the students a chance to practice.

Once we finish all this, we measure our progress. That is run our tests again. If we have done our job then the Red Test is now a Green Test, and we can work on a new goal. If we haven’t, then we know that we need to refine and perfect our techniques. In either case we have a good idea of what our student knows and is capable of doing.

Defining the goal is the hardest part of the cycle. What prior knowledge can we assume? What larger goal lead the student to us, and what short run goal will bring them closer?

Please comment below with your ideas for a CS 101 first Red Test