Do High Schools Know What 'Computer Science' Is?
theodp writes "The first rule of teaching high school-level Computer Science should be knowing what CS is-and-isn't. Unfortunately, many high schools offering 'Computer Science' really aren't. Using her old California high school as an example, now-a-real-CS-student Carolyn points out that one 'Computer Science' class (C101) touted keyboarding 'speeds in excess of 30 words per minute at 95% accuracy' as a desired outcome, while another (C120) boasted that students will learn to use hyperlinks to link to other sites. While such classes fill a need, she acknowledges, they should not be called Computer Science. What's the harm? 'Encouraging more girls to take computer classes as they are now might have the opposite of the desired effect,' she explains. 'More girls might get the impression that computer science is only advanced application use, which might turn them off to computer science.'"
While I agree with the basic premise she has presented (this might give the impression that CS is an advanced application use field of study), how is it that this misconception is going to predominately affect females? Is she implying that females are dumb? Is she implying that they are too superficial to look beyond a the name of a class offered in high school when planning their field of college study?
It seems like what we call "real computer science" (like algorithms or theory of computation) is actually math. I don't see anything scientific about it at all.
Programming seems more like engineering than anything else (sure, it uses algorithms; but not much more than building a bridge uses math, and we call would call designing a bridge "engineering").
The only things I can think of that I would call "science" are: (1) benchmarking a complex system to get some empirical results; and (2) troubleshooting problems.
I'd be interested to hear why we keep focusing on the word "science" when that seems like a relatively small part of what we do.
Social scientists are inspired by theories; scientists are humbled by facts.
I read the article and the issue the author seems to take with this is that the approach to upping the ratio of females in computer science was to herd them into "computer science" courses at the earliest age (high school). This might have the negative effect if that's your strategy. The summary used a really unfortunate clip of the logic that seems to imply that the girls aren't being treated any differently than the boys so they must be deficient at seeing through these classes. But the girls are being treated differently in an effort to balance genders in computer science. The big problem is that these courses designed to "turn on" the thirst for computer science in young women have little if anything to do with computer science.
My own anecdote, I went to a high school in middle of nowhere Minnesota and we had Computer Science AB advanced placement. It was about twenty guys, I don't remember a single girl. We learned C++ in very simple forms and when I was forced to take the typing courses I wanted to kill myself. Did you know that typing courses are often a requirement to computer science courses? I was dumbfounded. As if the fact that I wasn't hitting 60 words a minute was reason to prevent me from learning about pass by value versus pass by reference (one of the basic concepts we covered). Still, even that wasn't much computer science and seemed closer to "C++ in a semester" style of teaching. You knew a language but you didn't quite get the really generalized concepts.
My work here is dung.
I hold a BS in Computer Science.
I believe the field should be called "Algorithm Development".
It is called "Computer Science" because it was computers that allowed the useful embodiment of many algorithms. But the reality is (often literally, during coursework), that the platform, hardware or software, is largely irrelevant to the mathematical development of algorithms.
Today, as the article notes, anything related to using computers is often labeled "Computer Science". Rather than trying to get the rest of the world to stop using a term that is actually somewhat intuitive, I think CS should change its label to something that is actually a more intuitive description for itself.
A work that expires before its copyright never enters the public domain and thus enjoys eternal copyright protection.
Wow.. this article makes me sad. I graduated from High school in 2009, and took all 4 years of computer science electives. The courses i took however were not "typing" or learning little HTML scripts. The first year we learned how to build a computer from ground up, installation of operating systems, and basic soldering skills. Second year we learned about setting up networks, configuring modems and routers and even learned how to create our own Cat5 cables. Third year was mostly about PC Troubleshooting, more advanced electronics principles, and reading schematics. for our final exam we had to read a schematic and build a radio on the component level. Fourth year the instructor wanted us to branch out and learn about computer science subjects that most interested us. We had to choose our subject, make weekly reports on what we have found and learned and demonstrate our understandings of the concept. There were only 6 of us to make it to year 4 but we all ended up doing something different. While I chose Linux and programming as my focus, we had robotics, web design, computer repair, network administration etc.. etc.. The funny thing is, I went to a regular public school in a small town of Georgia... You would think if a great HS CS education could be had here, California surely would go way above and beyond.
I recently volunteered at a local high school for a lunchtime talk for a CS club.
It was advertised as "Learn how to send secret messages to your friends that even the CIA can't break" or something like that, nothing about CS.
In 45 minutes (60 would have been better), they learned how to represent base-26-ish in binary (5 bits), do a XOR, flip pennies to generate a one-time-pad, and encode/decode a secret message.
Non-CS students showed up. No experience was required - I could have done this with 4th graders. Many left happy - it's not clear how many realized they just learned some computer science.
No computers were employed in this exercise. It was sort of silly that we met in the computer lab - an art room would have had better table space. A whiteboard was useful.
My God, it's Full of Source!
OUTSIDE_IP=$(dig +short my.ip @outsideip.net)