Wednesday, August 21, 2013

Using the Tools We Teach

One of the classes I am teaching this year is called Explorations in Computer Science. It’s a step away from the pure applications course (Microsoft Office) in the direction of real computer science. We’ll still cover some of the Office applications but mostly we’re looking at things like computational thinking, some web development and a good amount of programming. The idea is to wrap it all around computing concepts and “make it real.” As I was doing my planning I started to realize how much I use the tools I teach for my own purposes.

Take for example keep track of my schedule. My school has rotating periods. There are 8 class periods in the schedule but only six class periods each day. So on day one we have periods one though six. Day two sees periods two through seven and so on through the week. Frankly keeping it all in my head doesn’t work for me. So I turned to a spreadsheet to help me create a chart. This is what I wanted:


Now in all honesty I was driving myself up a tree – well getting myself confused – trying to do this by typing in all the classes in the right boxes. I realized that I was ignoring the capabilities of the tool. So I created a more simple chart that looked like this:


That was almost mindless in its simplicity. It just shows the period numbers of course but it is very easy to spot errors in it. Just what I needed. Next I created a CHOOSE function that looked like this:

=CHOOSE(B11,"Yearbook","ECS 2","","","","Hons Prog","","ECS 8")

and applied it to all the cells in a chart. Instantly everything was just where it was supposed to.

Now I show this not to show off (I mean really how simple is that?) but to give an example of something practical I plan to talk about with my students. A couple of things for me to talk about. Prime among them is the give an example of using a tool to solve a real problem in a way that takes something confusing and makes it simple. And of course demonstrate that I not only talk about the tools but use the tools.

I will also talk about reusability. For next semester I can make simple changes to one CHOOSE statement, copy it to all the cells in the chart and instantly have a new schedule. I want students to think about how to reuse wheels rather than reinvent them.

I plan to talk about problem solving as part of this discussion as well. How did I get from what I was trying to do to a solution that minimized my work and maximized the power of the tool? That is something I want them to think about. In short what tools are there that may or may not be obvious that they can use to solve problems? out of the box thinking? Hey, what box!


Garth said...

Off the CS track but what is the advantage of the rotating schedule? Looks like planning hell.

Alfred Thompson said...

Oh it is planning hell for sure. Two advantages. One is that we get longer periods for each class. Same number of total minutes but with longer class times you minimize start up and shutdown time loss. In theory anyway. Second is that at some point in the rotation your students are at a good point in the day for them. In other words you don't have to deal with the after lunch food coma every single day. Or the end of the day "please let me go home my brain is full" syndrome. Or the first period "i'm not awake yet." Different kids have different good/bad times of the day and with a rotation you don't have them for that bad time of day every single day.
But yeah, scheduling is tough.

Steven Hess said...

I have been asked to teach a virtual AP Computer Science class to 10 different school districts.

As I started planning on my curriculum out, I was thinking that these kids could / should have a prerequisite like your Explorations in Computer Science course.

Just about everything you mentioned I have thought about. I would love to pick your brain / collaborate sometime.