Friday, August 30, 2013

Designing an Intro to CS for Non-Majors: From Objectives to Problems

When working on my introductory computer science class for non-majors, I started with the objectives.  From there, I thought about the types of assignments and tutorials I wanted, but mostly moved on to figuring out the actual lecture content.  I like to organize my courses by specific problems in a way that is loosely related to inquiry-based learning.

With this approach, I think about the kinds of things that my audience might find useful or interesting.  The earlier problems tend to be more on the interesting side, but by the end the problems should be more relevant to the students' fields.  During lectures, I will introduce the problem by showing the completed software, then go step by step in showing how that software is built.  In the process, new concepts need to be introduced.  For example, when we start to get bored of repeating certain values all the time (and start to run into errors when changing these values), I'll introduce variables.

The best part about having my learning objectives done first is that I can use them to make sure I've hit all the main points within these problems.  As I write out my step-by-step outline, I highlight key words that are colour coded to the objective they relate to.  I imagine this will also help tremendously as I move on to writing the code and creating the lecture slides and peer instruction questions.

Here's an example of the second problem's design for this course:

Another nice feature of the problem-based organization is that I have a natural way to organize the content (such as slides, code, and other resources) in our online learning management system.  I haven't tried this before, so I don't know how well students will like it compared to, say, a week-by-week organization.  I should mention that I am also including tables of resources according to topic (e.g. variables, functions, good programming concepts, etc) as well as by problem, so hopefully this will help.

With all of this laid out, it will be much easier to fill in the details.  That's the most fun part!


Post a Comment

Comments are moderated - please be patient while I approve yours.

Note: Only a member of this blog may post a comment.