Wednesday, June 07, 2017

What CS Should a Student Know Before High School

Recently a middle school teacher asked what computer science knowledge would high school computer science teachers like their incoming students to know. The first answer was the obvious “send them with enthusiasm and we’ll work with what ever knowledge level they have.” Pretty unsatisfying. I know because university CS faculty tell me the same thing when I ask what they want. So I had to think about it a bit.

So what would I really like? Well I’d like them to know the way around the operating system they use. Creating folders, moving files, renaming files, connecting a network printer, and connecting to wi-fi. That’s not computer science you say! Yes it is. It involves knowing something about how computers work and how to get around in the system. It will save me a bunch of time and the students some heartache. I’d also like them to have some experience trying things out. They should know were to look for different things in menus, in tools, and online.

How about understanding how the Internet works? DNS, packets, IP addresses, and stuff like that. I don’t mind teaching that. It’s actually fun. But students could learn that earlier.
For programming things? I’d love to spend less time on variables, loops, and decision structures. Can they use them to solve simple problems? Do they understand the connections between a variable name and a location in memory, a variable type and how much memory is uses, and how values are identified? Can they understand how a loop works and how an if statement works? If so I saved about three weeks that I can use for more advanced things like arrays and objects and methods and scope and a whole lot more. Even if they know those concepts in something like Scratch or Alice I can jump right to syntax for text based languages.

Honestly though few of my feeders are going to do all that. So I’ll still need my current freshmen course. But if a couple of kids can jump right into Honors Programming or AP CS Principles I could be very happy.

1 comment:

Garth said...

Yup. What he said.

The kids that come from our Catholic feeder elementary school are taught all this. They are so far ahead of the public school kids that I often have to segregate the two groups. I do not like to do that but they are just so far apart in knowledge. Montana does have standards for this (students in grade X will be able to do such and such) but it has so few teachers that can do it and so few schools that offer it. In the local public middle schools CS like this is an elective so I get public school kids that can operate their phone and that is it.