Follow Slashdot blog updates by subscribing to our blog RSS feed


Forgot your password?
Education Programming

Do High Schools Know What 'Computer Science' Is? 564

Posted by CmdrTaco
from the answer-is-zero dept.

Do High Schools Know What 'Computer Science' Is?

Comments Filter:
  • by AndyAndyAndyAndy (967043) < minus berry> on Monday December 20, 2010 @12:35PM (#34616432)
    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.
    • by Pojut (1027544)

      I took a keyboard typing class in 10th grade to help fulfill my "tech" credits (all of the "tech" classes were a waste of time at my school, minus the introductory programming classes.) My grandmother had taught me how to type on a fully mechanical type writer, so I was able to obliterate even the teacher in typing speed on a keyboard.

      Easiest A I ever learned.

      • by Pojut (1027544) on Monday December 20, 2010 @12:39PM (#34616526) Homepage

        Easiest A I ever earned.

        Fixed...obviously, I struggled a bit more with English :)

      • Re: (Score:3, Insightful)

        High school has to deal with a wide range of talents. From geek to tech school student. My CS class was done on ancient TRS-80s and first taught typing, then BASIC, and a final project to create your own program (anything you wished) of at least 100 lines.

        For me and my friends it was a ridiculously-easy course. For most of the other students, they barely passed. I imagine today's CS courses are much the same, dealing with a wide range of students, many of whom will probably never program outside this on

        • by Cinder6 (894572)

          Reading responses here, I'm becoming more and more aware of the fact that my high school's CS program was actually pretty dang good. You had the choice of C++ or Java and learned the programming techniques at your own pace. There were 20 or so modules and the only requirement was that you do your best. If you were good, you might complete a module every week or so. If not...considerably less. Or if you were like me and a couple others, you would complete all of them in half a semester and be given some

    • by Ritchie70 (860516) on Monday December 20, 2010 @12:46PM (#34616686) Journal

      I'm old, so the class I took in high school was called Typing. We had a 50/50 mix of IBM Selectrics and manual typewriters.

      It's probably the most useful class I took in high school. But just because the modern version uses computers doesn't make it Computer Science. They should just keep calling it typing if you ask me.

      We had Computer Programming classes too. The first level used TRS-80 Model III/IV BASIC. For the advanced class, which I never took, they used Apple II to do Pascal!

    • by maillemaker (924053) on Monday December 20, 2010 @12:51PM (#34616790)

      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.

      • by ByOhTek (1181381)

        Where I went to college, only about a quarter of the BS in Computer Science was algorithm development. The rest was understanding the concepts behind how the hardware and OS worked. Both parts could be considered in-part algorithms - maybe bringing algorithms up to half of the BS, but it went beyond that.

        • by Stooshie (993666)
          If only half was algorithms, then maybe the "BS" part doesn't stand for what you originally thought. :-)
      • by AntEater (16627)

        I hold a BS in Computer Science.

        I believe the field should be called "Algorithm Development".... the platform, hardware or software, is largely irrelevant to the mathematical development of algorithms.

        I think this is more true than many "computer scientists" would admit. As a sysadmin (and occasional developer) I've been amazed at how little understanding comp.sci. grads have of the system as a whole. Some have no clue about the various interactions of the hardware components or other processes on a host, no apparent clue how to improve performance of an app and waste time reinventing functionality that is already available in the system libraries. Learning algorithms is a good thing but very incomple

        • by Genda (560240)

          Computer Science is growing up. The sign of this is that it's becoming clear that there are many different fields and perspectives housed under the one tent. In fact there're so many now, to limit Computer Science to any small set of studies or viewpoints is to argue against how far we've come. Just as Biology was once the collecting and studying of living organisms (and now spans fields as disparate as Taxonomy and Epigenetics), Computer Sscience includes entire areas of study bordering on and overlapping

      • There is a lot more that goes into a CS degree than just Algorithm development - at least in the one I have. What about boolean algebra, compiler design/theory? What about operations,set and queuing theory (no, this is not algorithm development - this is related to the theories behind technologies such as SQL, event management, etc), ?

        What about basic electronics, operations mgmt, etc...

        There may very well be a place for a field called "algorithm development", but it should be a specialization within the
      • by Darinbob (1142669) on Monday December 20, 2010 @03:34PM (#34619354)
        Computer science covers a lot more than algorithms. There's abstract mathematics, combinatorics, computability & complexity theory, digital electronics, VLSI, compilers, data structures, operating systems, networking, databases, software engineering, artificial intelligence, numerical analysis, and Duke Nuke'Em studies.
      • It seems to me that the real problem is that many if not most universities don't have a real distinction between "Computer Science", which is really the study and analysis of algorithms; and "Software Engineering", which is the application of algorithms in the design and building of applications. "Computer Engineering" is usually a separate hardware "micro electrical engineer" program. I'm not saying every University is like this, but it seems typical. "Computer Science" *should* be the theoretical sci

  • by windcask (1795642) on Monday December 20, 2010 @12:36PM (#34616464) Homepage Journal

    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.

  • by Anonymous Coward
    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?
    • by windcask (1795642)

      It's simply that girls are starting to be interested in computers at an accelerated rate compared to how it was ten or twenty years ago. I know I became interested in computers because of games, as did many males of my generation. Girls are starting to become interested in computers because of the social aspects such as Facebook and SMS messaging. If they think Computer = Facebook, they'll be much more inclined to study a subject with a tenuous relationship to their interest, at best.

    • 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.
      • by 0100010001010011 (652467) on Monday December 20, 2010 @01:26PM (#34617314)


        You could say, he didn't teach you pointers.

        [Puts sun glasses on]

    • My thought exactly. Why do they assume that "More girls might get the impression that computer science is only advanced application use, which might turn them off to computer science" and not make the same assumption about boys?

      If I only would have known that a career in woodworking was not properly represented by that slab-sided tool box tray or bird house that I made in shop, how my life could have been different...

      That's not superficial, especially in high school.

      I don't need to know that "Psychology 101" probably doesn't have a lot to do with "Automotive Mechanics" which might be something I'm interested in.

      The same thing applies for all classes. You expect to learn Math in Math class. You expect to learn Science in Science Class. You expect to learn Spanish in your Spanish class. However, what most experts would define as "Computer Sciences" are not taught in computer science classes.

      Mostly what she is insinuating

      • You expect to learn Math in Math class

        And yet the first few years of maths classes tend to be teaching arithmetic. I'd love to see primary school maths renamed arithmetic - we might have fewer people hating maths before they actually encounter the subject then.

    • Re: (Score:3, Interesting)

      by Mystitat (1675866)
      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 accu
  • Classes that just teach you how to program aren't really Computer Science either. It's just like learning a trade skill. The real science starts in the Data Structures and Algorithms classes, usually the 3rd class after programming 1 & 2. This is also where departments separate the men from the boys (and women from girls).
    • by fishexe (168879)


      Is that also where they separate the sheep from the goats?

    • by prtsoft (702850) on Monday December 20, 2010 @12:47PM (#34616696) Homepage
      • You're right in some ways. I find that the primary goal of Programming 1 is to make sure students understand basic concepts, like assignment & loops. Programming 2 for object orientation and recursion. Even so, the first two classes are mostly instruction, usually for one language. "This is how you program in C++/Java"
      • by CptPicard (680154)

        While it's good to have some programming language in your back pocket for CS studies, the issue IMO is that those really are not "tools of the trade"... I hardly programmed at all for my own Master's in CS. The tools of the trade are pencil and paper mostly.

        Now, programming language design and compilers is certainly a subfield of CS, and some of the most interesting languages ever have come from academia (thinking of Lisp, Prolog, Haskell)... but "programming skill" is not per se an academic discipline.

      • Re: (Score:3, Insightful)

        You're funny.

        Teaching a kid an IDE is not Computer Science. But the you thought programming was computer science.

        Silly monkey.
    • by H0p313ss (811249) on Monday December 20, 2010 @12:48PM (#34616720)


      And the large furry creatures from Alpha Centauri from the small furry creatures from Alpha Centauri.

    • and they only know java. you'd think a good cs program would encourage students to implement principles using many tools.

      • you'd think a good cs program would encourage students to implement principles using many tools.

        The good cs programs do teach in multiple languages, IDEs, OSes... at least mine did.

      • They do. I had to use Pascal and Prolog in my first year, Haskell and C in my second year, and was allowed to submit my final year project in any language (I could also have done a purely theoretical project). The stated aim of the introduction to programming module was to teach the concepts of programming so that you'd be able to pick up a new language in a couple of days by reading the language spec (I think it failed for most people in the course, but that was the goal). For most assignments, we were
    • We did do work on linked lists and some basic sorting and binary search algorithms, so I'd say it certainly touched on computer science. Obviously it's high school, so I think you only want to go so far, anyways, rather like how you don't really learn the dark depths of quantum mechanics in high school physics.

  • by mjperson (160131) <> on Monday December 20, 2010 @12:40PM (#34616532)


    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.

  • Computer science ... (Score:5, Informative)

    by gstoddart (321705) on Monday December 20, 2010 @12:40PM (#34616540) Homepage

    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".

    • by bill_mcgonigle (4333) * on Monday December 20, 2010 @01:09PM (#34617066) Homepage Journal

      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.

  • by 0racle (667029)
    Never have. The curriculum is only updated when a new version of whatever office software they use. High School computer classes have only ever taught proficiency in specific applications and that hash't changed in the 20~30 years schools have had computers - if they even let the students touch them in the first place. This is further exasperated by the fact that it always seems to be 'taught' by the teacher who drew the short stick.
    • by fishexe (168879)


      In my high school we had a course in computer science that taught basic data structures and the theory behind the object-oriented paradigm, as well as how to program in C++. I used what I learned in that course to implement similar data structures in other languages. How that could constitute "proficiency in specific applications" is beyond me. And I didn't even go to a big school, my graduating class had 80 students.

  • by mrnick (108356) on Monday December 20, 2010 @12:42PM (#34616602) Homepage

    The problem is not limited to high-school. It was not until my post-grad studies did I start learning real computer science. Most of what I learned in my undergraduate studies was IT.

    At its heart Computer Science is Applied Mathematics and is closer to Physics than IT. With that said I am currently working in IT as are many with advanced CS degrees so maybe that is where the confusion stems from...

    • Re: (Score:2, Insightful)

      by Anonymous Coward

      Actually, I would say that at its heart Computer Science is Logic (that is, Mathematics), and is therefore actually closer to Logic, or Mathematics.

      • Mod this AC insightful. That is exactly it. That is why I suspect Pascal is often used, because it has one of the least abstracted set of logical operators out there.

        • by gstoddart (321705)


          It also has pretty solid barriers between you and some really sharp edges. You can't run amok with pointers or incorrectly index arrays -- well, you can, but just not like you would in C.

          It teaches you syntax and structure, but doesn't let you hurt yourself too badly. And, really, once you know Pascal, you can pick up pretty much any procedur

          • I wouldn't want to code full time in Pascal (mind you, nowadays, I seem stuck perpetually coding PHP, bleh), but as you say, it does teach some fundamentals, in a fairly easy syntax. Learn Pascal, and C is more like Pascal without the safety harness.

          • It's a real shame that most universities seem to be ditching Pascal for Java. I'd hate to use Pascal for anything serious, but it's a much better teaching language than Java, and learning C is trivial if you know Pascal.
    • Right. And then people come out of college with post-graduate CS degrees and get jobs at companies that develop business applications, and they have no idea how to write a simple MVC application.

      Colleges need to push Software Engineering.

      • I had no idea how to write a simple MVC application before I got my first IT job. It took me all of a day to understand the concepts and a couple of days to produce a simple prototype of the application I've now implemented. I have also helped my colleagues who also weren't taught a specific area of software engineering with their issues with MVC. It's not that hard to do, save your arrogance for something that is.

      • They can ramble off a nice lecture about Big-O notation though. Hopefully they can identify problems that are NP-complete as well.
  • by Anonymous Coward on Monday December 20, 2010 @12:43PM (#34616620)

    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.

    • How many universities did you attend?

      I agree that there are universities which do a poor job with computer science, or abuse the term. But I would be interested to know how many of them actually do it, and whether they are using a different name for their curriculum. My degree was most definitely in computer science.

      Although I'll readily admit I often did not appreciate it as a student. It has been after a decade of working that I now am grateful to have been compelled to learn software and hardware theor

  • Misleading? (Score:4, Insightful)

    by RockoTDF (1042780) on Monday December 20, 2010 @12:43PM (#34616630) Homepage
    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.

      Exactly. This isn't a problem specific to computer science. Every subject taught at the high-school level will be hugely disconnected from what that field actually is. High-school math classes are not "real math" (solving theorems, etc.), they are really just practicing with some basic mathematical tools and tricks, some of which are useful in real life, some of which are necessary (but not sufficient) for studying deeper mathematical topics, and some of which are just busywork.

      High-school history classe

  • In my high school we had two different programs after 2000. That's when the classes were first being created and a mathematics teacher wanted to have a computer programming course. They initially were teaching C++ without OOP principals before a teacher that actually had programmed came into the school and rewrote the curriculum. That was in 2004. I first took a programming course in 2004, as a freshman, with that teacher and helped show him what was missing. I had taught myself C++ from different books and
    • You had OOP principals. How did that work? Did your principal inherit from an abstract Administrator class?

  • by wjousts (1529427) on Monday December 20, 2010 @12:47PM (#34616698)

    Isn't this a bit like complaining that high school chemistry isn't really science, or high school physics isn't really science? Of course they're not, you need to have a certain set of basic skills and knowledge developed before you can do real science.

  • 99% of programmers wouldn't know what to do with a stochastic analysis of parsing algorithm families. And as long as Moore's law holds, it's not worth teaching them how to make things faster or cheaper, because that's coming from the supply chain.

    • Perhaps if you enlightened us cavemen with your brilliance by posting a few links perhaps we might be able to learn from your genius oh sandals-with-white-socksed one.

  • A little while ago where i teach, some candidates had to be turned down from a position because they were IT teachers, and the position was for CompSci
  • by jadavis (473492) on Monday December 20, 2010 @12:49PM (#34616728)

    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.


      Anyone who thinks CS is just about algorithms or computational theory doesn't have a broad base in CS. There is a huge amount of research in fields like computer vision, natural language processing (my focus), computer graphics, networking theory, and other topics that are unquestionably (in my opinion) CS but also not direct analogs of anything in m

  • simple answer (Score:4, Insightful)

    by roman_mir (125474) on Monday December 20, 2010 @12:51PM (#34616772) Homepage Journal

    Do High Schools Know What 'Computer Science' Is?

    - No.

    Do your employers know?

    • Sure. Computer scientists are (with exceptions) the ones who can fill a whiteboard full of beautiful abstractions but can't code their way out of a paper bag. Real programmers on the other hand...
  • I know that the first rule of Computer Club, is never talk about Computer Club... unless you don't wanna get laid
  • At my high school, the entire network was based off dumb terminals from Sun. The "computers" room was full of old Macintosh running OS 9 (OSX had already been released for a fair bit) and we were programming using HyperCard. Either that or we had seminars on how Wikipedia is bad and how to browse the net safely.
  • So...we've got high schools misinforming the entire population about a major facet of modern life, and the worst problem we can think of is it might cause a couple percent of a couple percent decline in gender balance? Even that is speculative, as I have a hard time seeing a young woman being interested in algorithms and data structures and then concluding, based on her high school's offerings, that these were not part of computer science. By the time you're exposed to such things you're already aware tha
    • by fishexe (168879)

      Shouldn't we be discussing things like the general dumbing-down of society that occurs when we tell people "now you know some Computer Science[TM]!" who have only learned application use?

      There, fixed that for me.

  • by digitalhermit (113459) on Monday December 20, 2010 @01:03PM (#34616950) Homepage

    I didn't want to fall into the classic old geezer thinking that everything was harder back in the day...So I peeked at the curriculum for some of the local high schools. And damn, it was harder in my day. In my high school classes back then we learned about Turing and Godel and their impact on how computers are designed. We didn't write much code, but I remember blackboard sessions on sorting algorithms, queuing, floating point operations, etc..

    So I wonder.. 25 years ago, did other adults look at the high school curriculum and think the same thing? In the 1960s there was a push for "new math" which apparently included set theory and base-n computation, both of which would be very helpful in computer science. And I can imagine that even though Simpson and Newton-Raphson methods were centuries old, the computers of the 1960s were not necessarily accessible to students.

    It reminds me of a story by Roger Zelazny. There is a mythical creature that didn't have hands. It loved to play chess, but because of his lack of hands (and IIRC, lack of opponents), this mythical creature had to play chess games in his head. He got to be very good at mental chess.

    The upside of this is that there are are some very bright high school students out there. Twenty five years ago the people who were interested in computers were just a handful. In my class there were five or so. In a given high school there are probably still that many but it's harder to spot them because typing classes are masquerading as computer science.

  • 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 Troubleshooti
  • by HockeyPuck (141947) on Monday December 20, 2010 @01:05PM (#34616986)

    If you set the bar such that computer science in HS requires a high level background of math and computer skills, then you'll scare away the average student. Having a CS101 class in reality be a "introduction to computers" is perfectly fine in my book, as you don't want to start off with Day1: Introduction to Pointers. As that will scare of 99% of the non computer nerds. When i was in college (back in '93), there was a CS101, Intro to Computers and there was a CS102: Women in Computing.

    While the first one was a "how does a computer work? How to use a computer?" the other class (CS102) was aimed specifically at women (and only allowed women to take). It was taught by our female professors in an environment to encourage women to pursue a college career in Computer Engineering or Computer Science. As a reference my CS+CPE graduating class in '98 had 2 women in it (and 100 men). While some women out there had the background in computers to jump right into the standard initial CS courses, many others were turned off by the daunting requirements and misconceptions about taking CompSci/Engineering.

    This type of course layout is used in all sorts of curriculums. Ever take a cooking/woodshop/swimming class? They don't start with advanced techniques.

  • When these students go to college and think that they want to major in "Computer Science" because "computers are fun," they will be set up for disappointment and confusion when a professor tries to explain to them the differences between sorting algorithms.

    If we want to do a better job preparing students for college, then we should not try and "pretend" that computer science is only about using a computer. I could draw a good parallel example with the subject of chemistry. Until I encountered a high schoo

  • The A.P. Computer Science course was a great learning experience, but only because there was standardized material that teachers had to adhere to so that we could pass the APCS exam.

    Perhaps the problem is that there is too low availability of such programs or entities that can create such a standardized curriculum.
  • seems to be a name thing as I have seen computer stuff fall under lots of names and topics in the HS level.

    And they just lump all of it under 1 area vs having parts in 3-4 different areas.

  • Does anybody really know what time it is

    Does anybody really care

  • I'm just as worried about them using the word "science" for those classes!
  • This does not surprise me in the least. But then I'm a mathematician and I have pretty much the same sort of reaction when I see what they teach in many high school mathematics classes -- it's a pale shadow of real mathematics; mostly just a hodge podge of poorly taught arbitrary skills and facts that may or may not have a lot of relevance to actual mathematics. There is a disconnect where many people don't see the difference over the difference between "facts about mathematics" and actual mathematics. It t

  • by Orgasmatron (8103) on Monday December 20, 2010 @01:37PM (#34617506)

    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.

Science is what happens when preconception meets verification.