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.'"
Oh yeah like word and powerpoint! I took a keyboarding course in the 9th grade, too. Pssh. I don't know if it merits its own subject, really.
It's always confirmation bias!
Call it "How to Get 5000 Facebook Friends Before Everyone You Know."
Then start the class off doing proofs on discreet math. They'll all cry and drop the class, and the whole world will be win.
> 'More girls might get the impression that computer science is only advanced application use, which might turn them off to computer science.'
Substitute "students" for "girls" and you've got the actual problem. Thinking that it's only a problem for recruiting women into CS is a big mistake.
My prof drilled into me (and my degree matches because he fought for it) that it's Computing Science. Computer science is doing science on a computer -- Computing Science is is the science of computers.
Ah well, just some random nit-picking and pedantry. Either way, basic computer literacy is not "Computer Science".
Lost at C:>. Found at C.
In my experience, universities don't know what computer science is so it isn't a surprise that highschools don't. Most universities seem to think that programmers are computer scientists which is approximately like saying architects are civil engineers.
I'm not entirely sure most high schools know what math is, either. Or science in general. Canned labs and regurgitation of scientific facts are not science, and turn a lot of people off. I was one of those people until I was in college.
But to get on topic, no, they don't. If you aren't teaching programming or theory, you aren't CS. You are just a class about computers. I'm also a tad confused as to why this would "turn girls off" (or boys, or anyone). I suppose it would mislead them, but then what other degree would they expect to cover actual CS/programming? A lot of times students are in the wrong major because they have been mislead by whoever that it is about something that it isn't (psychology, for instance) but I really don't see what else there is, other than perhaps Software Engineering. (I understand this is about high school, I'm looking at the long run for these students) If these schools have AP Comp sci courses, those should set the students straight.
There is more to science than physics!
www.iomalfunction.blogspot.com
I disagree. Teaching students the tools of the trade (IDEs, debugging, control structures, if....then...else) are the foundations of the Science. You are taught math the entire time in high school, and an advanced math program starts with the assumption that you know how to add, subtract, multiply, etc. Teaching kids, either in high school or CS101 gives them the tools to move onto and understand Binary Trees and Linked Lists..
This is also where departments separate the men from the boys (and women from girls).
And the large furry creatures from Alpha Centauri from the small furry creatures from Alpha Centauri.
XML is a known as a key material required to create SMD: Software of Mass Destruction
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.
Do High Schools Know What 'Computer Science' Is?
- No.
Do your employers know?
You can't handle the truth.
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.
They are useful skills in much the same way as knowing how to steer a car is a useful skill to an automechanic. They are, of course, important prerequisites, but to me, computer science, even at the high school level, should be much more than "How to use a keyboard 101".
When I took it in high school, we started with some basic theory of how a computer works, and then moved on to Pascal programming to demonstrate those concepts, along with good coding techniques, flowcharting and various other concepts that would, in fact, be valuable to someone looking for a career in computer sciences.
The world's burning. Moped Jesus spotted on I50. Details at 11.
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)
Hi, original author here. As someone above said, I guess I didn't introduce the context well enough to answer why it's a gender issue. The blog post is a snippet from a larger research paper I wrote examining the role of computer science classes in high school in getting more girls into computer science as a field. I don't mean to imply that females are dumb, and I didn't mean to imply that computer science classes treat boys differently than girls (although they frequently do).
The reason the lack of accurate class nomenclature affects girls more than boys is that boys have more interest in and experience with using computers than girls do by the time they enter high school. It's caused by a combination of factors, such as parents encouraging boys' computer use, boys' interest in video games, and the mysterious "magnetic attraction" to computers that more boys have than girls. (I pulled this info from the book Unlocking the Clubhouse which used 90's data, so this average may have changed since then, but I don't think by much.) So by the time they enter high school, boys tend to have more advanced computer skills than girls. This means that high school computer classes play a greater role in influencing girls' perceptions of computer science than boys'. That's why it's a gender issue.
You're right, I should have clarified that in the article.
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.
You could say, he didn't teach you pointers.
[Puts sun glasses on]
Yeaaaah!
There is no science in Computer Science. That isn't a bad thing, it just means that it isn't science.
Everything a high school student needs to know about Computer Science can be summed up with one sentence, "Computer Science is a branch of mathematics, so if the prospect of getting a math degree strikes fear into your heart, pick a different field of study.".
I graduated from high school back in 1997. I knew about two dozen kids (all guys, go figure) that were going to college for computer science. One got a degree, the others all switched (mostly to MIS). I tried to warn them, but they didn't believe me.
See that "Preview" button?
While it's cool that you went to a school that provided such a rich and interesting IT curriculum, none of the things you mentioned are actually Computer Science. You're proving the point of the article, in fact.
Culture is more than commerce
You're funny.
Teaching a kid an IDE is not Computer Science. But the you thought programming was computer science.
Silly monkey.
Although I suspect Torvalds, Stallman, Knuth etc. can "fix a computer,"
Actually, this is the biggest misconception of all. I'm currently a PhD candidate in computer science. I know a lot about algorithms, data structures, computational theory, etc, but I don't know how to fix MS Windows 7 when it doesn't do x, y, or z properly (except of course to install *nix instead). Granted, I know how to work the menus and dig through the options better than a lay person, but that doesn't mean I'm intimately versed in how Windows works, nor do I have any interest in learning it.
Computer Science seems to have lost its soul in some sense. At my university, if I approach a professor with any problem that is NPC, they immediately say "that's an Ops Research problem". Working on robotics algorithms? "That's the EE or ME department". It's been a real challenge to build a committee because most CS profs at this school don't think that CS covers anything more than AI and logic theories.
The point that CS needs to be defined is actually quite salient. Developers often complain that CS students can't program. Some CS departments are less concerned with teaching good programming practices and more concerned with teaching theory. Students expect the former and get the latter. Other schools consider CS to be the art of design. They focus on software engineering and often leave out much of the mathematical rigor in the process. Other schools focus on the logical and mathematical underpinnings, but don't teach programming or software engineering. Then there are the schools that teach only programming with very little else in the curriculum. Should CS encompass all of the above, or should it be a subset of those things? Is software development the same thing as computer science, or are they fundamentally different, somewhat overlapping disciplines? How does operations research fit in? What about numerical computation, high performance computing, networking, etc., etc.? The field has become enormously fractured and everyone, including Knuth, Stallman, Torvals, et al. has a different opinion about what it should be.
Government is not reason; it is not eloquent; it is force. Like fire, it is a dangerous servant and a fearful master.