Chicago Public Schools Promoting Computer Science to Core Subject
dmiller1984 writes "The Chicago Public Schools, the third-largest public school system in the United States, announced a five-year plan today that would add at least one computer science course to every CPS high school, and elevate computer science to a core requirement instead of an elective. CPS announced this through a partnership with code.org, stating that the non-profit would provide free curriculum, professional development, and stipends for teachers."
Every pupil will be required to take the Keyboarding course.
The computer labs will fill with students who hate being there.
If we can't get basics like reading figured out, what does it matter?
Try this: duckduckgo/google/bing/etc for "chicago public schools proficient".
Let's get reading figured out before we promote other things to core requirements.
Yeah, this is great and all...
But wouldn't it be more useful to have a course that emphasizes critical thinking about all types of problems rather than focusing on one specific application of critical thinking? People usually seem to overlook that the important thing about working with computers is the ability to think critically about what you're doing, not the specifics of what you're doing.
Traditional science classes kind of broach the surface of critical thinking, but I suspect that it could be covered in much greater depth over a wide variety of problems, to much better effect.
Forcing CS down on everyone's throat would be like forcing calculus. Some can take it and some can't.
I'd guess that about half the population (IQ below 100) will never get programming no matter how hard you try to teach them.
But if a kid can pass algebra and geometry, they can probably learn some BASIC.
The ones that can't hack algebra, teach them Excel or data entry so the school board can be proud of leading the high tech education future or something along those lines.
If computer science is a requirement, then how will students in households without a general-purpose computer complete their homework assignments? A lot of households rely on iPhones, iPads, and/or game consoles, which don't offer much in the way of end-user programmability.
Computer science is a poor substitute for teaching logical argument and mathematical logic. But if they're going to teach computer science, I hope that doesn't mean "how to use Excel."
Probably use a computer at school
With the sorry state of student transit in some cities, it might be hard for a student who stays after school to complete his assignments to get home from school. Is Chicago any better?
or a library.
Provided that the other students haven't already reserved all the PCs at the library.
Nowadays would something like The Typing of the Dead be more popular?
CPS has a big budget problem, just like the rest of Illinois. CPS also has a very poor relationship with the public teachers union, the teachers went on strike last year and shut the district down.
Where exactly is CPS going to find people who are passionate and knowledgeable about CS who also want to teach in a public district in Illinois? Stipends and training are nice but I don't feel like forcing students to take a CS course, taught by a teacher who may have no real experience in CS, is going to encourage anyone already not determined to go to university for CS to change their mind. It may actually dissuade potential CS majors.
But wouldn't it be more useful to have a course that emphasizes critical thinking about all types of problems rather than focusing on one specific application of critical thinking?
Teaching critical thinking early is a bad idea.
There is a place and time for shoveling as much information into a child's head as it can possibly hold without exploding. This is when we teach multiplication tables, drill grammar into their thick skulls, teach them basic math up through algebra, spelling, penmanship, history, and so on.
As soon as you teach critical thinking skills, it's like setting the write protect bit: it enables them to make a value judgement on the validity of the information they are being given by the teachers (and other adults), and as soon as you have that, you begin to build distrust of information sources - even ones with good information to impart.
Generally some critical thinking skills form on their own; creative writing, physics, chemistry, debate, and other classes tend to foster their development, regardless of whether or not you are done shoveling the basic stuff into their heads. As soon as that bit is set, you might as well give up trying to program them, you've lost: they're teenagers.
Logic classes belong in the first quarter/semester of your first year of college, and not before.
I can just see the courses my school would have offered. Textbooks full of code that is bug ridden. Teachers that would not understand advanced programming and thus penalize awesome programmers that "colored outside the lines" and used advanced programming. I could see some student using a singleton instead of a global and having the teacher say "Wrong a global would have been cleaner." Even if you hate singletons, global are worse.
Then I could see the technology becoming either a buzzword bingo or really dated. So it would be intro to perl, visual basic, and power builder. Or an intro to node.js, ruby, and haskell.
But the second worst upon worst would be that companies would "freely" donate to the school system so that the kids would become little MSDN/Oracle/Salesforce drones.
The worst of worst would be that they would suck all the fun out of it; Every single drop. So instead of teaching them something relevant such as making a video game, an Arduino robot, or creating a tool for interacting with pintrest/twiter/vine etc. They would have them doing the age old command line enter your age and find out how old you are in dog years crap.
I have watched my nephews making crap in Unity3D and they are forcing themselves to learn programming. Much is copy and paste code then hammer it until it works. This is not going to create a firm foundation but if after this they took a rapid introduction to programming course that showed them how to do things correctly they would realize that many of their bad habits had a cure. But they wouldn't have to learn the underlying philosophy that makes you really grok programming which is something that most intro courses completely fail at. I have talked to many people who have just passed a university programming course and they usually don't know the difference between a float and an int. (Usually Java based courses so they should know).
I'm not saying that CS in highschool is a bad idea but that CS is for a certain type of person. You either love it or it is purely a chore. It seems that the goal is to expose tonnes of people to CS and hope that a few end up joining our little cult. So my suggestion is to create for credit computer/engineering clubs. The idea would be to have the tools and a mentor who would encourage independent study and small group projects. This way someone who has been doing Arduino assembly since grade 8 would be able to attempt something fantastic while someone else who had failed to compile Hello World and still loved it would also have a place that welcomed them. Trying to have a standard curriculum is just going to annoy everybody and only result in wasted time and tears; and maybe even a worse outcome as the person who wants to make an app is just going to get pissed off writing the usual command line garbage. Personally I would much rather make a crappy buggy app than a perfect command line thing on my first go.
Speaking as one who had the misfortune of having to try to help kids with no interest at all in computing, back when I was in high school myself, this is a fucking idiotic idea. Coding isn't for everyone.
-jcr
The only title of honor that a tyrant can grant is "Enemy of the State."