Slashdot Mirror


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

70 of 564 comments (clear)

  1. Computer science... by AndyAndyAndyAndy · · Score: 5, Insightful

    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!
    1. Re:Computer science... by Pojut · · Score: 4, Funny

      Easiest A I ever earned.

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

    2. Re:Computer science... by Ritchie70 · · Score: 5, Informative

      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!

      --
      The preferred solution is to not have a problem.
    3. Re:Computer science... by commodore64_love · · 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 one class.

      --
      "I disapprove of what you say, but I will defend to the death your right to say it." - historian Evelyn Beatrice Hall
    4. Re:Computer science... by Stooshie · · Score: 3, Funny

      No, probably a typo! :-)

      --
      America, Home of the Brave. ... .and the Squaw.
    5. Re:Computer science... by tool462 · · Score: 2

      That was 1 error in 25 characters in that sentence. You've exceeded the 95% accuracy rate, so you did in fact earn that A.

    6. Re:Computer science... by commodore64_love · · Score: 2

      >>>just because the modern version uses computers doesn't make it Computer Science. They should just keep calling it typing

      That's how the local school monopoly justifies getting handouts from the US Congress (or State Legislature). If they just called it "typing" then they would not qualify for the extra bonus funds, but by calling it "CompSci" they get the extra cash.

      Man I'm cynical.

      --
      "I disapprove of what you say, but I will defend to the death your right to say it." - historian Evelyn Beatrice Hall
    7. Re:Computer science... by RJHelms · · Score: 2

      Same here. At my school keyboarding was a 9th grade "business" credit, as a vestige of the old secretarial program.

      The standard was the same as in the summary - 30 words per minute. I finished the course being able to type 95wpm and earned the "academic" achievement award. It definitely wasn't worthless, though - I easily doubled or tripled my typing speed over the course of the year, which has done me more good than a lot of the things I learned in more "serious" courses.

    8. Re:Computer science... by Cinder6 · · Score: 2

      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 other project to work on, such as *nix maintenance or robotics.

      You could also take a CCNA class and even get certified, provided you worked fast enough and took the tests. I took two of them before I realized it wasn't something I wanted to do.

      --
      If you can't convince them, convict them.
    9. Re:Computer science... by Ritchie70 · · Score: 2

      When I took typing, the class included

      * Keyboarding skills
      * Lots of practice - that's how you get up to speed, and how you get a decent looking letter out of a manual typewriter
      * The proper form for various business documents such as letters
      * How to properly fold a letter to get it into both sizes of envelope
      * How to annotate the bottom of the letter to indicate a copy went to someone else, and who actually typed the letter

      In short, a bunch of (now largely obsolete) secretarial skills.

      The equivalent set of skills for Word (mail merge, templates, Wizards, etc) probably would take a semester to teach people who aren't computer-literate already.

      And letter folding is always relevant, right?

      --
      The preferred solution is to not have a problem.
  2. Rename the class by windcask · · Score: 5, Funny

    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.

    1. Re:Rename the class by DanTheStone · · Score: 5, Funny

      I think you mean discrete math, unless they're teaching how to do math without drawing attention.

    2. Re:Rename the class by Nugoo · · Score: 2

      Well, it is high school. That could be a useful skill.

      --
      I explicitly release the above into the public domain.
    3. Re:Rename the class by TechyImmigrant · · Score: 2

      I think you mean discrete math, unless they're teaching how to do math without drawing attention.

      That's steganography.

      --
      Evil people are out to get you.
  3. How is this a gender issue? by Anonymous Coward · · Score: 2, Interesting

    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?

    1. Re:How is this a gender issue? by Mystitat · · Score: 3, Interesting

      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.

  4. What does being a girl have to do with it? by mjperson · · Score: 5, Insightful

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

    1. Re:What does being a girl have to do with it? by 0100010001010011 · · Score: 4, Insightful

      Where are the research papers about how to get more men into Nursing? Or men into elementary education? How about Men into being stay at home dads? Men being "Admin Assistants"?

      Why does it seem that "gender equality" only a one way street?

    2. Re:What does being a girl have to do with it? by Have+Brain+Will+Rent · · Score: 3, Insightful

      You are saying there are such programs? What high schools have these programs? None in my area.

      --
      The tyrant will always find a pretext for his tyranny - Aesop
    3. Re:What does being a girl have to do with it? by bigstrat2003 · · Score: 2

      I know a few people who work in nursing, and if their experiences are at all typical, the reason there's a serious shortage of nurses is because the health care industry thinks it's OK to not give two shits about their employees. The stuff I've heard is appalling, to say the least.

      --
      "16MB (fuck off, MiB fascists)" - The Mighty Buzzard
    4. Re:What does being a girl have to do with it? by CronoCloud · · Score: 2

      There used to be lots of men assisting nurses in hospitals...they called them orderlies. Got rid of them to save money I think.

  5. Computer science ... by gstoddart · · Score: 5, Informative

    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.
  6. Computer Science == Applied Mathematics by mrnick · · Score: 2

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

    --

    Encryption: I may not agree with what you say, but I will defend your right to encrypt it...
    1. Re:Computer Science == Applied Mathematics by Anonymous Coward · · Score: 2, Insightful

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

    2. Re:Computer Science == Applied Mathematics by MightyMartian · · Score: 2

      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.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    3. Re:Computer Science == Applied Mathematics by gstoddart · · Score: 2

      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.

      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 procedural language pretty readily.

      --
      Lost at C:>. Found at C.
  7. Universities don't, why should highschools? by Anonymous Coward · · Score: 3, Insightful

    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.

    1. Re:Universities don't, why should highschools? by SirWhoopass · · Score: 2

      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 theory, not merely programming.

      My guess is that most schools with solid science and engineering programs still know the difference between comp. sci. and programming.

  8. Misleading? by RockoTDF · · Score: 3, Insightful

    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
  9. Computer Science vs. Business Applications by sgtstein · · Score: 2

    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 guides online. From that point on the school has always had two programs under different departments. Business Apps is under Business(History Department) and Computer Programming 1, 2 and IB(International Baccalaureate):Computer Science is under the Math department as it should be. Coming from my learning and as I've gone into college and the workforce, my HS was lucky in that we actually DID have some people that knew what programming was, and was not. The only class that has gone back an forth between the two is HTML Internet Programming(a joke class, really). All that teaches(kinda) is HTML, some CSS, very very little JavaScript and Flash. That has been sent back over to the Business folks because the school wanted higher rates of students in it, and they always had more. Though, from other students I've talked to. As the OP writes, it is far too often that schools actually call stuff like this posted Comp. Sci. It's a joke to the students, parents and themselves.

  10. Re:I wouldn't even consider Programming 101 to be by prtsoft · · Score: 4, Insightful

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

  11. Physical sciences by wjousts · · Score: 2

    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.

  12. Re:I wouldn't even consider Programming 101 to be by H0p313ss · · Score: 4, Funny

    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
  13. Do we even use the right terminology? by jadavis · · Score: 3, Interesting

    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.
    1. Re:Do we even use the right terminology? by RzUpAnmsCwrds · · Score: 2

      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.

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

      It's true that CS is math-heavy, but so are many sciences. Theoretical Physics is absolute a science, but it could also be described as basically just the mathematical modeling of physical processes. Which is exactly what a lot of CS is.

      I think the confusion comes from the fact that there are basically three different fields (CS, CE, and SWE) that are typically intermingled at the university level. Arguably, I think that's a good thing since the fields are interdependent enough that a student with a "CS" degree should have a background in all three.

      Computer Science (CS) is basically the study of the theory and applications of computing. Designing an algorithm to sort or search or calculate faster fits here, but so does the study of the applications of algorithms to different tasks. Questions like "can we use a SVM classifier to identify the parts of speech in a sentence", or "which algorithms are best for converting a stereo image into a depth map", or "is there a better way to route in a wireless mesh network" fit here. CS is about expanding the range of problems that computing can solve and experimenting to find what works best in a particular situation. There is very little focus on the hardware as actually implemented (as opposed to a simplified theoretical model) or on the process of designing and building software. CS is not software engineering and it's not computer engineering.

      Computer Engineering (CE, sometimes ECEN) is basically between electrical engineering and computer science, but it's really neither. CE is about engineering better computers, and it generally includes topics like microprocessor design, architectural design, low-level networking (e.g. QuickPath or HyperTransport), and compiler design. Some of these fields cross paths with CS (e.g. compiler design) and some cross paths with EE (e.g. IC design). But unlike a EE, a CE is not really concerned about the gate-level design or electrical properties of a CPU (they work with EEs on that) and unlike a computer scientist they actually care about the details of the hardware.

      Software Engineering (SWE) is neither CS nor CE. It's also not programming. SWE is about the process of producing software: specification, design, testing, maintenance, and management. SWE has streaks of business management in it too: keeping projects on-time and on-budget is as much a management task as it is an engineering task. Software engineers exist to manage the challenge of putting together fantastically complex systems with very little time and very little money.

      I can tell you what's not in any of these fields: programming. Yes, programming is an integral part of software engineering, computer engineering (usually an HDL) and nearly all computer science. Yeah, you can work out algorithms without ever writing a line of code or do an entire CPU design on paper, but in practice everyone wants to see their ideas actually implemented. But programming isn't what CS, SWE, or CE is about: programming is just the most common means used by those fields to express their ideas. You wouldn't say that literature study is about learning the English language, and by the same token CS/CE/SWE isn't about learning to program.

      Most of this comes from the fact that programming is actually pretty easy. And, no, that's not me being arrogant: almost any first-year college student can be taught to write code in a semester. The majority of mathematicians, scientists, and engineers who graduate fr

  14. They Are Encouraging Girls to Take These Courses by eldavojohn · · Score: 4, Interesting

    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.
  15. simple answer by roman_mir · · Score: 3, Insightful

    Do High Schools Know What 'Computer Science' Is?

    - No.

    Do your employers know?

    1. Re:simple answer by RightwingNutjob · · Score: 2

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

  16. Computer Science = Algorithm Development by maillemaker · · Score: 5, Interesting

    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.
    1. Re:Computer Science = Algorithm Development by ByOhTek · · Score: 2

      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.

      --
      Self proclaimed typo king, and inventor of the bear destroying coffee table (patent not pending).
    2. Re:Computer Science = Algorithm Development by AntEater · · Score: 2

      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 incomplete in itself when you're actually trying to build software that actually accomplishes something useful in the real world.

      I'm not trashing everyone with a computer sci. degree as I've worked with some who were exceptionally good. I think those were the ones who had a natural curiosity about how things work and were willing to learn on their own beyond their course work.

      --
      Alex, I'll take keybindings not used by Emacs for $400....
    3. Re:Computer Science = Algorithm Development by mswhippingboy · · Score: 2

      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 general Computer Science discipline.

      Where I went, there were different "options" for a BSCS - a business option (geared toward a MIS degree) and a science option (geared toward a MSE degree).

      --
      Sometimes the light at the end of the tunnel is the headlight of an oncoming train.
    4. Re:Computer Science = Algorithm Development by Genda · · Score: 2

      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 with electronics, material science, information science, mathematics, physics (including quantum), genetics and neurobiology, and electromechanics. Add to that the grave need for ethical studies, and to more deeply appreciate how the digital world is impinging on the analog one, and you have entire subcategories of "Computer Science" that merit their own distinct fields of inquiry. The fact is, that CS has given us an entirely new perspective about our universe. Space-time as quantized information. Look at how the abstractions of language and thought have changed the way we see ourselves and the process of our ontology. We now freely and commonly speak about meme space, social engineering, complex systems organization, and simulation as aspects of our daily lives.

      Algorithms are simply the brute mental force required to reduce a chosen problem space into a solution set. Just as proofs are the mental gymnastics required to render truths from mathematical postulates and hypothesis. One can wander quite rightly into the more solid aspects of the machines of computing, or with equal validity blaze trails in the more deeply esoteric or philosophical aspects on computational theory. One might even begin to abstract the entire conversation surrounding the philosophical nature of "Problem and Solution" to see if there aren't larger, more encompassing information spaces that might yield entirely new possibilities and truths.

      All of these things are Computer Science, and its time we began teaching our children just how broad the horizons are, to this fascinating realm.

    5. Re:Computer Science = Algorithm Development by Darinbob · · Score: 4, Informative

      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.

    6. Re:Computer Science = Algorithm Development by Nadaka · · Score: 2

      In my experience, a 4 year CS graduate should be able to do a lot more than that.

      a graduate should:
      *Be familiar with how computers work from the hardware to OS, processes, sockets, etc.
      *Be highly proficient in a structured and object oriented programming language.
      *Be familiar enough with functional, structured, object oriented and event driven languages that they can become proficient in any language they need rapidly.
      *Be familiar with all major software design and development methodologies.
      *Be capable of managing a small group of peers in software development.
      *Be capable of producing requirements from discussion with a business domain specialist.
      *Be capable of transforming reasonable requirements into a working application.
      *Be capable of choosing or creating an algorithm appropriate for a given problem based on its requirements and parameters.
      *Be capable of reading and understanding code written by others.
      *Be capable of recognizing bottlenecks and inefficiencies.
      *Be capable of optimizing code for various types of efficiency (code size, speed, memory use, etc).
      *And last but not least, always document your code, damn it.

      You don't have to be great at it. But you have to have that broad background so that learning on the job is actually useful.

    7. Re:Computer Science = Algorithm Development by DrgnDancer · · Score: 2

      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 scientific research arm, and "Software Engineering" should be the practical application side. They should exist in the same sort of symbiotic relationship that Physics and Chemistry have with EE, ME, or CE.

      As it stand right now, if you go to a highly theoretically focused university and study "Computer Science" you're likely to come out with BS that actually taught you very little of Software Engineering type skills most employers expect CS grads to have. If you went to a highly practical university ad studied CS, you likely got a BS that was extremely light on the kind of algorithm study and analysis that will server you well in an academic career. Obviously in a perfect world student know enough to chose a university that suites their desires, but his isn't a perfect world. Having essentially two different (though related) disciplines taught under the same name isn't very helpful.

      --
      I don't need a million points of light, just two points of multi-mode fiber and a 10 Gig-E router.
    8. Re:Computer Science = Algorithm Development by mswhippingboy · · Score: 4, Insightful

      And you probably want to start them out at $12/hr. Wow. Good luck with that.

      You may be able to occasionally get a 4-year CS grad with this skillset, but it will be because they are highly motivated to learn on their own, not because they took courses that (competently) cover this material.

      There's no way in hell all this could be taught in the 12 or so classes that a 4-year student has available after the core curriculum classes.

      You would be lucky to find someone with the skills you want in someone that has 5 years on the job.
      Apparently you live in a different world than me cuz this sure doesn't match my experience - and I've been around long enough to have used punchcards instead of sticky-notes.

      --
      Sometimes the light at the end of the tunnel is the headlight of an oncoming train.
  17. Re:And high school biology students by MightyMartian · · Score: 4, Insightful

    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.
  18. It *was* more rigorous back then.. by digitalhermit · · Score: 2

    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.

  19. California High schools are doing it wrong.. by anix91 · · Score: 2, Interesting

    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.

    1. Re:California High schools are doing it wrong.. by keytoe · · Score: 4, Informative

      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.

  20. Don't make the bar to high... by HockeyPuck · · Score: 2

    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.

    1. Re:Don't make the bar to high... by ljgshkg · · Score: 2

      Seriously, students today SHOULD know how to use a computer. You don't need to have a course to teach them. It's such basic skill. As of High School level, as you're already doing calculus etc., you're totally able to do basic programming. If you just can't, then it's not a road for you in university. High school subjects serves a purpose of introducing students into some real contents of each subjects. If it's overly basic, then you're just giving a force image of what the subject is.

  21. Volunteer & Make it Fun by bill_mcgonigle · · Score: 4, Interesting

    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)
  22. Re:And high school biology students by BrokenHalo · · Score: 2

    My first experience with a computer keyboard was with a teletype-age master console on a Burroughs mainframe I operated back in the late '70s.

    Not even God could have ever touch-typed on that machine, so I evolved a technique (that I still use) involving thumb and two fingers of both hands, plus (rather more recently) the little pinkies for shift, ctrl and enter keys.

    Sure, I don't rattle out 800 words per minute (or whatever the standard is), but I don't need to, so I get by. I spend much more time thinking about what I am going to type than I spend actually doing so, and my accuracy approaches 100%.

  23. Re:They Are Encouraging Girls to Take These Course by 0100010001010011 · · Score: 5, Funny

    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!

  24. Re:And high school biology students by istartedi · · Score: 2

    Amen. We had introductory computer science in my HS, and we had a class called... wait for it... "typing". We learned on manual typewriters. This was the 80s, mind you, and schools are usually behind the curve anyway. IIRC, there was some rationale about the manuals helping you learn better; but I bet it all boiled down to money. I wonder now if my loud keyboarding stems from the fact that I learned on a manual.

    I actually don't recall what language we used in our CS course. It was probably BASIC. That's utterly unimportant as it should be in any introductory CS class. You're learning ideas, not languages. We watched a really cool video on sorting algorithms, and coded quicksort and several other algorithms. It was interesting to note that for a newbie, quicksort was a PiTA to code and debug, and actually seemed slower on these machines--I never got a verified sort to work during the time allotted.

    Anyway, the whole idea of the guy above thinking that you should be made fun of for learning with Pascal is a bit silly. First, you were a newbie and probably had no choice. Second, if you're any good at all, the first language you learn won't cause brain dammage. I beg to differ with other famous experts in the field who say otherwise. If BASIC damages you, it's your own damn fault.

    --
    For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
  25. If it has Science in the name, it ain't science by Orgasmatron · · Score: 4, Insightful

    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?
  26. Re:And high school biology students by Bengie · · Score: 2

    I know how to use a gas pedal, I must be an auto-mechanic.

  27. Loud Keyboards by Zan+Lynx · · Score: 2

    I learned on a manual typewriter too. I love loud keyboards and got myself one of those Das Keyboards with the blank black keys. When I get to the end of a paragraph or I finish a good chunk of code and finish the SVN commit command I like to hit Enter with a big loud CHUNK!!!

    That way the whole office knows that I am working. :-)

  28. Re:And high school biology students by geekmansworld · · Score: 2

    Hey now... I was in high school in the late 90s and our computer science class was centred around Turbo Pascal. I learned a lot writing Pascal programs, and for my final project my lab partner and I wrote a graphical RPG including an on-screen scrolling-text display we wrote from scratch. The year after I left, they switched to C++.

    I know Javascript, BASIC, Pascal, a bit of Perl, but not any C. And while I feel that every CS student should come away knowing it, I'm also thankful to these other languages for teaching me the fundamentals of program logic.

  29. Re:I wouldn't even consider Programming 101 to be by CptPicard · · Score: 2

    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.

    --
    I want to play Free Market with a drowning Libertarian.
  30. Re:Not science by lgw · · Score: 2

    Science is measuring the natural world, developing theories based upon data and then seeing the theory correct.

    I do this all the time at my job - develop a theory about how the code actually works, and perform a series of experiments to refine my guess until is has acceptable accuracy. One might quibble over whether the code base is part of the "natural" world, but I'm certain it's not the result of Intelligent Design!

    As far as whether CS is engineering: real engineers roll petards up to castle gates, all these johnny-come-latelys like train drivers are just abusing the term.

    --
    Socialism: a lie told by totalitarians and believed by fools.
  31. Re:I wouldn't even consider Programming 101 to be by oh_my_080980980 · · 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.

  32. Re:And high school biology students by deapbluesea · · Score: 5, Insightful

    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.
  33. Re:And high school biology students by deapbluesea · · Score: 2

    Actually, Java is a tough teaching language. Most high school and early college students don't have the ability to think abstractly about objects. The idea of "everything is an object" is a tough one for them. You often have to do a lot of "pay no attention to the man behind the curtain" teaching to get them through the basics of variables, loops, etc. Pascal is a great teaching language because it allows you to teach the mechanics of structured programming without glossing over 90% of the language in the process. Once students have that part down, it's much easier to transition to something like Java.

    Of course, just to keep the flame wars alight, I still recommend Ada as a teaching and production language. It's just better. (waiting for the troll mod now)

    --
    Government is not reason; it is not eloquent; it is force. Like fire, it is a dangerous servant and a fearful master.
  34. Re:They Are Encouraging Girls to Take These Course by Have+Brain+Will+Rent · · Score: 2

    Because gender imbalance in a field is damaging to that field. Computing in general, and Computer Science in particular has suffered enormously because of rampant gender bias.

    Uh huh... why we would have resolved the question of P==NP by now if only there had been better gender balance. What twaddle.

    I would not be surprised if there were.

    In other words you don't know. Well there aren't in any school I know of - but go ahead and provide some examples.

    Either way, even in nursing, the gender imbalance is nowhere near that of CS.

    Well I've spent time in both hospitals and CS departments and my experience is that as a proportion there are significantly more women in CS than there are men in nursing.

    Women who might have been pigeon-holed into nursing might discover their talents in another field, thus increasing demand for male nurses.

    Except there won't be any male nurses to fill that demand since they won't have been encrouaged to see that as an option. Oh wait... I see... a generation or so later the number of male nurses will fill the gap. So let's fix things for girls now, with the same special programs and encouragements of the last two or three decades, continue to ignore boys for the next generation or two and then things will even out? What amazing misandry.

    --
    The tyrant will always find a pretext for his tyranny - Aesop
  35. Re:They Are Encouraging Girls to Take These Course by dangitman · · Score: 2

    You == troll.

    Okaaaay, so I'm the troll because I base my arguments on facts, and you're not because you build strawmen and can't be bothered responding rationally to simple arguments.

    I'm pretty sure it's the opposite, because you are the one who based your argument on a lie (that there are no programs to encourage males to enter nursing) and then followed up by fabricating arguments I had never made, and claiming a conspiracy theory to subjugate males.

    You do realize that simply making declarations doesn't make them true, don't you?

    --
    ... and then they built the supercollider.
  36. Not Restricted to High Schools by Hobbes_2100 · · Score: 2

    As a former and future CS professor, this issue is near and dear to my heart.

    The conflation and confusion over what constitutes computer science is just as rampant at the college/university level as it is in high schools. Perhaps the "CS" moniker is even more abused in post-secondary institutions. At least those high school programs that were designed around the AP exam had *something* to focus them (I'm not wading into CS versus programming right now, just saying that the AP exam gave a concrete body of material that is at CSy enough).

    Now certainly, CS is well- and correctly defined at R1 type schools and at the top 10 to 25% of liberal arts schools (the top 100 at Princeton Review or some such). It's not too bad at the top 5% of "master's" institutions (say top 50, but I haven't gone through the list carefully. I know there are VERY BAD examples further down the list -- say around 100. The "master's" category of institution is typically for schools that can't compete with R1 or quality liberal arts). [Note, those are my intuitive numbers from personal experience (I'm intimately familiar with about 15 programs in the broad northeast of the US at all three levels. I know the structure and reputation of another 50, but my comments are mostly based on those I have more personal knowledge of.)].

    What makes the problem worse at the (weak) post-secondary level is that CS is turned into IT (or CIS) and the students wonder why they can't get jobs doing something other than MS system administration with a bit of "pluggy pluggy" networking and a side of "pointy clicky" databases. Of course, the same students shy away from anything 1. hard and 2. involving that evil, demonic subject: math. So, the schools take the path of least resistance and produce students who will peek their career in about 3 months (except for a few that have the natural political/business ability that will move up in management after 5 years).

    *sigh*

    I wish this were mere fancy. But I can name multiple schools, without stopping to think, that fall into this category. Sadly, almost any school that isn't good (as defined above) is going to be bad. Some of them are honest enough to name the programs CIS/IT and have a gutted/token CS department with two students; a few of the schools defined CS as CIS + two or four math classes; some schools just name it CS and let the dice fly. Fortunately, at some of the schools, there are folks working to improve things. But, it is an uphill battle with entrenched faculty who are tenured (can't get rid of them), don't have advanced CS degrees (aren't really qualified), are currently uncertain about the economy (have motive to keep earning money), don't have anything better to do (have motive to go to work), and may work for another 10-20 years (ugh).

  37. Not CS, but HE by Geminii · · Score: 2

    The "how to use a computer" basics classes should honestly be part of home economics, just like being taught how to use an oven or any other common appliance. Some schools have beginner driving and auto repair classes - they're not Advanced Vehicle Engineering any more than how-to-use-a-browser is CS.