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.


17. 12

Economic illiteracy and online education

Written by: gcw - Posted in: Uncategorized - Tags: , ,
So, there is this adjunct problem. Adjuncts are often paid very little and are becoming a larger part of the higher education workforce. Coincidently there is also this dadgummed MOOC revolution, with Corsera and Udacity changing how we deliver eduation to students (or so people keep telling me). So what would it take to bring both of these higher education trendes together? Money.
And in comes StraighterLine where students can sign up for online courses, the teachers of those courses can set their own fees and all is right with the world. Except to adjunct advocate Josh Bolt who considers it a sign of the educational apocalypse. I’m not even exaggerating, he actually said:
Programs like Professor Direct, in their current incarnation, will destroy the greatest educational system in the world if we don’t force some checks and balance onto them.
How an online startup that has been offering 16 new classes for zero amount of time will destroy a 475 billion dollar industry with an established non-governmental regulatory system (which prevents StraighterLine from access Federal monies, most importantly student financial aid) is beyond me.
The gist of StraighterLine is that, unlike the MOOCs,  they will charge money for their online courses and the teachers involved get to set the price. They already have some colleges lined up that will accept their credits. So the promise is that you will no longer have adjuncts being underpaid because they can make more teaching online courses like these, essentially cutting out the middle man of colleges.
Josh is convinced this is a terrible thing because…well because he doesn’t understand economics:
Teachers aren’t setting their own price any more than a dairy farmer sets his own price for milk. Sure, a teacher can value her course at what she considers to be a living wage, but if the consumer isn’t willing to pay that price, then the teacher’s valuation essentially means nothing. In a market-driven economic exchange, the consumer sets the price.
Except no. In a market-driven economic exchange both the supplier and the consumer agree to a price. If the diary farmer wants more than people are willing to pay for milk, they won’t buy it. Likewise if people won’t pay enough for milk to make it worth the farmer’s time, he’ll sell old Bessie as hamburgers and jerky. No one gets to set the price.
StraighterLine isn’t the end or education as we know it or a bold new way to make teachers millionaires.  It’s just another market to sell milk at, and more markets mean more options and that can never be a bad thing.
8. 12

Installing Moodle on Bluehost

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

I mentioned earlier what a difficult time I had installing Moodle on Bluehost, and there were two main reasons:

  1. Bluehost themselves have no documentation on the subject and
  2. I followed this gentleman’s videos

I’m not blaming him by any means, I was able to get moodle working because of him. But he admits he is not a techie person and his method is far more cumbersome than it needs to be. I’m really blaming Bluehost since it starts with their documentation.

Here is the breakdown of the easy way to install Moodle 2.4 on Bluehost hosting services. Go to your cPanel, then scroll down to the Databases and Software Services sections:

If you were to go into Simple Scripts now and try to install Moodle, it would tell you your system doesn’t meet the specs. That’s why first we have to set your hosting to use PHP version 5.3. Click on the PHP Config link under the Frequently Accessed Areas on the left hand side of the screen. Then choose PHP 5.3 and save your changes.

Now if you go back down to Software Services and click on Simple Scripts and from there choose Moodle and you should be able to follow the instructions. This will get Moodle up and running within 10 minutes.


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