Wednesday, July 06, 2016

Must and Should Are Not The Same Thing

I came under some criticism for a comment I made on Facebook earlier today. I asked “I wonder how many high schools teach Calc AB to students who have not had math previously?” This is in response to discussion of AP CS students struggling when APCS was their first CS course.

This was called “troll bait” because “We teach intro compsci at most colleges to students with no prior experience” While it is true that intro to computer Science it taught with no prior experience I question if that is really a good thing.  It’s a necessity in many cases of course. But should it be? I think not. I really believe that most students would benefit from at least a one semester CS course before taking AP CS A. There is just too much material for most HS students to take cold.

Computer Science is moving very quickly and change is constant. When I took my first computer science course (in college) over 40 years ago high school CS was basically none existent. In fact college CS was still fairly rare. The things I learned in my first college course were probably very close to what I teach in a first semester HS CS course today. And that course is no where near what the current AP CS A course is.

If you look at the ACM/IEEE CS 2013 recommendations you will find that a university computer science program should offer far more than a student could possibly take in four years. Perhaps even in five. Logically, well in my opinion at least, university programs would be much better off if CS students came with some prior background in  CS. My critic on Facebook pointed out that they don’t accept students in the university without prior math background. True!

I doubt anyone would suggest making CS a requirement for admission to computer science in college or to college itself. Computer Science in high school is still far too rare for that. Making prior CS a requirement for admission to a university CS program would be far to restrictive today. Will it always be the case? That’s hard to say even with a lot of efforts going on to expand CS to all students.

As much as an Advanced Placement course is supposed to be similar to a college level course the fact remains that we don’t teach it exactly the same. We can’t because students are not ready for that. We may cover the same material and we do have high performance expectations. But we take a lot more time teaching it for one thing. And we probably coach a lot more. Requiring a prior course is a reasonable thing. After all we do have pre requisites for other AP courses don’t we?


Unknown said...

CS 1 is a killer course. Many folks are weeded out of major because of it. We need more majors not less
CS principles prepares students for CS ap or cs1

Garth said...

The CS1 at my local university is like a right of passage. Kids take it two or three times to get through. For kids with no high school CS background it is a killer. The course is not hard, it just takes a lot of time. What is kind of interesting is the number of kids that take it two or three times that want to be CS majors. Do they think CS gets easier after CS1?