Thinking about something like CS262?
If you are at a school that doesn't have anything like CS 262, you're
probably interested in some of the pros and cons, starting with why
you'd even want a compressed core in the first place. CC2001 suggests
its compressed approach for "environments where it is important to keep
the number of intermediate
courses to a minimum. Such pressures may exist in small colleges with
few faculty members or in any institution that has been unable to
recruit sufficient faculty to teach a larger curriculum." At Knox
College, we've found the problem it solves to be slightly different:
even with only three faculty we have no problem covering a wide range of
advanced courses, but our college doesn't let any major require
more than ten in-department classes. That's not a lot! If we want to
have elective slots (and we do), the compressed approach for the
intermediate core classes lets us still make sure that every CS major
has seen all the core topics.
Even if you're not planning to go fully to a compressed approach,
CS262c has its own particular strengths, and a few things to watch out
for.
Strengths of CS262
- As prerequisite.
- In addition to being a mandatory core course, CS262 is a
prerequisite for several upper-level classes, including Artificial
Intelligence and Databases. Since students already have the basic
concepts and skills in these areas, we are able to hit the ground
running in these electives and go further; in the advanced-level
courses, students are now implementing fairly sophisticated projects and
reading and presenting recently-published research papers on the cutting
edge.
- Project synergy.
- In some cases, projects will naturally have components that
correspond with different units of material. For instance, any
realistic database project will need a user interface of some sort?and
thus the project can explicitly include both a DB design portion as well
as an HCI portion.
- Language exposure.
- Though many acknowledge the value of exposing students to multiple
programming languages, departments whose CS1/CS2 sequence is entirely in
one language often don't find time to introduce students to other
languages until much later. Our CS262 course spends time in both Prolog
(in the Logic and Reasoning unit) and SQL (in the Databases unit).
- Ethics and social issues discussion.
- The concept of information as value is a natural fit for the theme
of the course, and from there we find a natural progression to copyright
and intellectual property, open source software, and privacy issues. In
the most recent iteration of the course, we had the students themselves
research and present these topics, and lead a discussion afterwards;
this technique elicited rather more engagement and discussion, and we
plan to continue it.
Caveat professor
- Assignments are tricky.
- The first homework in nearly any course is hard to write, because
the students don't know very much yet; here, nearly every assignment is
one of these "first assignments".
- Don't try to segue everything.
- The course is thematically driven by issues of representing and
processing information, but at its core it is still a sort of survey
course---not quite like the "breadth-first" CS1 courses, but in a
similar spirit---and sometimes it's appropriate to just make a clean
break and move on to the next topic.
- Student experience is minimal.
- This depends to some extent on where in the sequence CS262 falls,
but if CS2 is the only prerequisite, students may not have had important
background in graph theory, algorithms, and other concepts.
Particularly if one is accustomed to teaching upper-level courses in AI,
NLP, and the like, it is important to note that a unit of CS262 is not
quite the same as the first two to three weeks of an advanced course:
the students don't have as much background.
- Lack of textbooks.
- There are several textbooks whose first three to six chapters
would make an appropriate text for one unit of the course. At $100 a
book, it is obviously infeasible to require three or four books for the
course just for their introductory chapters. Knox's CS262 course has
instead gone without a required textbook, putting several textbooks on
reserve at the library and relying on a variety of web resources
including Wikipedia---a decent stopgap, but not really satisfactory in
the long term. This is probably the #1 stopper on a class like this,
and mindful of that fact, I'm thinking of assembling my notes into a
textbook; please let me know if you would be interested in hearing more
about that!