feed Subscribe to feed
19. 12

Programming lab-practicals; follow up

Written by: gcw - Posted in: Uncategorized - Tags: ,

In the end I couldn’t come up with a particularly salient assignment that illuminated mastery of all the course objectives of the programming class so I just lobbed this at my students. It was brutal. No one, absolutely no one, finished within two hours. Half of them didn’t even finish the first phase. One student gave me a look as they were leaving that left me sure I would see this in the hallway:

Now just because it was brutal doesn’t mean it was bad. While I don’t confuse rigor for quality in education, I also don’t believe that an education should be a comfortable experience at all times. And this exam did hit the major learning objectives that I had for the course and that I had tried to prepare students for. Also, I did get a nice spread of grades that correlated well with the student’s other work (the more labs they had completed, the higher they scored on the lab-practical).

But I learned a few things I’ll definitely put into practice for my next class that has a hands-on examination:

  • Lay out the objectives first, preferably in a way that I could share with the students, weeks before the lab-practical
  • Try and figure out a program/application that would need all of those objectives (instead of tacking the objectives onto the scenario)
  • Spend a lot more time thinking about chunking, that is
    • How granular should each task be, preferably one per objective?
    • How should they be ordered so that students have the greatest oppourtunity to demonstrate mastery?
    • How long should each task take?
  • Spend more time in class preparing students for activities like this. I had some in-class programming quizes early on in the semester but that fell by the wayside as we progressed.

It’s not hard to normalize the grades after the fact, and I would still categorize this as a successful lab-practical and a successful semester, but I plan on doing better next time.


3. 12

Programming lab-practicals

Written by: gcw - Posted in: Uncategorized - Tags:


I have had the pleasure of teaching COSP8 at LBCC this fall, which is a nice change of pace. Teaching at a for-profit school means I don’t have as much oppourtunity to design curriculum as I’d like and with this class I was given free reign. Unfortunately as this was my first time teaching this class, I mostly stuck with the book (a great book, by the way) and didn’t develope my own materials as much I would have liked.

One area I really wish I had spent more time with was the development of good programming projects. I’m not the only one who sees the importance of it, or the difficulty in creating good ones. I have had three issues this semester with my projects:

I’m wary of early projects that make heavy use of libraries.  I find (anecdotally) that when students don’t understand what they’re working with they don’t feel as satisfied with their results, even when those results are impressive.

This is an issue with a Visual Basic class. Any  program requires the entirety of the .NET framework. Even HelloWorld requires labels and forms and buttons (oh my). This leads to a lot of “hand waving,” that is waving your hands and saying “it’s magic!” That makes it much harder for the students to learn.

A second issue is that a good project should build on other projects and work that students have been doing in the course. My projects this quarter have done that to a degree, but in a really haphazard way. Now that I have an idea of where the class ends ends (in terms of knowledge and skills) it seems pretty obvious how I could have done better in designing projects that build.

And my final problem has been the large disparity in ability and preparation of my students, which is a commonality of teaching at a community college. I have some students who have taken years of programming and are just getting a few more credits to transfer to a University and I have some students who have never done anything more technical then send an email. It is not impossible to accommodate students across this continuum, but it does limit my options and forces me to lay objectives out in an ascending scale (with lots of extra credit).

With all that said my real challenge is designing a lab-practical. It has all the challenges of designing a long term project along with

  1. Ensuring that it covers all the course objectives
  2. Can be finished within 2 hours

And all this ignores creating an assignment that makes sense. While that is not a requirement, it is nice if the students can imagine what their code could be used for instead of giving them a series of “Do this, now do that…”

I’ll be spending some time this week trying to work this out….

Search this blog

Tag cloud