Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Do High Schools Know What 'Computer Science' Is?

CmdrTaco posted more than 3 years ago | from the answer-is-zero dept.

Education 564

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

cancel ×

564 comments

Sorry! There are no comments related to the filter you selected.

And high school biology students (-1)

Anonymous Coward | more than 3 years ago | (#34616422)

Might think biology is only about dissecting owl pellets and frogs. Knowing how to use a keyboard, or how the web works, are in fact valuable skills for a computer scientist.

Re:And high school biology students (1)

Anonymous Coward | more than 3 years ago | (#34616502)

Knowing how to use a keyboard or some basic knowledge of the web are valuable skills for just about everybody, not just computer scientists.

Re:And high school biology students (2)

BrokenHalo (565198) | more than 3 years ago | (#34617106)

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

Re:And high school biology students (4, Insightful)

MightyMartian (840721) | more than 3 years ago | (#34616822)

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.

Re:And high school biology students (0)

BrokenHalo (565198) | more than 3 years ago | (#34617222)

Pascal programming to demonstrate those concepts, along with good coding techniques...

Oh dear. You obviously have no idea how much ridicule to which you've exposed yourself by mentioning "Pascal" and "good coding techniques" in the same sentence. ;-) Here you go: Real Programmers Don't Use Pascal [pbm.com] . It's old, but some of the ideas would be worth at least bringing up in modern CS courses.

Computer science... (5, Insightful)

AndyAndyAndyAndy (967043) | more than 3 years ago | (#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.

Re:Computer science... (1)

Pojut (1027544) | more than 3 years ago | (#34616480)

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.

Re:Computer science... (4, Funny)

Pojut (1027544) | more than 3 years ago | (#34616526)

Easiest A I ever earned.

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

Re:Computer science... (3, Funny)

Stooshie (993666) | more than 3 years ago | (#34617088)

No, probably a typo! :-)

Re:Computer science... (3, Insightful)

commodore64_love (1445365) | more than 3 years ago | (#34616934)

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.

Re:Computer science... (1)

0100010001010011 (652467) | more than 3 years ago | (#34617260)

I too took keyboarding in 10th grade. Old IBM all in one machines that booted from floppy. We learned such valuable skills such as counting the number of characters in your heading and how to manually center it on the 80 character width page. We had to type the same sentence 10 times at the beginning of class.

I learned very quickly what each of the Function keys did. And yes, even those primitive computers had Copy Paste & Justify.

It wouldn't have been a problem, except I graduated in 2001. I'd already done numerous reports in Word. My family had owned a Mac since 5th grade (1993). I could already do 80 WPM. Not just that, the exact same school had mandatory keyboarding in the 7th grade. I think that if you got an A in that, you certainly didn't need to take it again 3 years later.

Re:Computer science... (5, Informative)

Ritchie70 (860516) | more than 3 years ago | (#34616686)

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!

Re:Computer science... (0)

Anonymous Coward | more than 3 years ago | (#34616826)

Oh, Typing 101... boy, how I really do miss those clickidy-clackidy [osnews.com] keyboards!

Re:Computer science... (1)

Stooshie (993666) | more than 3 years ago | (#34617114)

I still have to use one of those, you insensitive clod!

Computer Science = Algorithm Development (5, Interesting)

maillemaker (924053) | more than 3 years ago | (#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.

Re:Computer Science = Algorithm Development (2)

ByOhTek (1181381) | more than 3 years ago | (#34616982)

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.

Re:Computer Science = Algorithm Development (1)

Stooshie (993666) | more than 3 years ago | (#34617172)

If only half was algorithms, then maybe the "BS" part doesn't stand for what you originally thought. :-)

Re:Computer science... (1)

Kaziganthi (824129) | more than 3 years ago | (#34617212)

Weird. My high school had keyboarding class in the business courses, where it belongs. We had a real programming class (albeit an introductory programming class). Most of my (Canadian) classmates in University had also taken high school programming classes previously. I wonder if this is an American trend? Anyone from Canada experience this gross mis-labeling?

Re:Computer science... (1)

mcgrew (92797) | more than 3 years ago | (#34617268)

From TFS: 'More girls might get the impression that computer science is only advanced application use, which might turn them off to computer science

Wow, that relly sounds misogynist to me. Aren't people aware that the first programmer was a woman [wikipedia.org] , and the first compiler was written by a woman [wikipedia.org] ? And that prior to WWII, most computers [wikipedia.org] were women?

Rename the class (5, Funny)

windcask (1795642) | more than 3 years ago | (#34616464)

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.

Re:Rename the class (5, Funny)

DanTheStone (1212500) | more than 3 years ago | (#34616958)

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

Re:Rename the class (1)

BrokenHalo (565198) | more than 3 years ago | (#34617312)

Then start the class off doing proofs on discreet math.

Is that the kind that you don't need to tell anyone about? But then, I guess if it saves you from having to learn English, then go for it. ;-)

How is this a gender issue? (2, Interesting)

Anonymous Coward | more than 3 years ago | (#34616504)

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?

Re:How is this a gender issue? (1)

windcask (1795642) | more than 3 years ago | (#34616610)

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.

They Are Encouraging Girls to Take These Courses (4, Interesting)

eldavojohn (898314) | more than 3 years ago | (#34616746)

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.

Re:They Are Encouraging Girls to Take These Course (5, Funny)

0100010001010011 (652467) | more than 3 years ago | (#34617314)

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!

Re:How is this a gender issue? (1)

NeverVotedBush (1041088) | more than 3 years ago | (#34616750)

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

Re:How is this a gender issue? (1)

Monkeedude1212 (1560403) | more than 3 years ago | (#34616876)

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?

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 is that the fields of Mathematics and Sciences are predominately attended by males, which may or may not be the case, I don't know, I haven't surveyed it. However, given the unscientific regimen of most "Computer Science" courses, its turning away females for fear it'll be too much like physics or something like that.

Re:How is this a gender issue? (1)

TheRaven64 (641858) | more than 3 years ago | (#34617126)

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:How is this a gender issue? (3, Interesting)

Mystitat (1675866) | more than 3 years ago | (#34617266)

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.

I wouldn't even consider Programming 101 to be CS (1)

chemicaldave (1776600) | more than 3 years ago | (#34616514)

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

Re:I wouldn't even consider Programming 101 to be (1)

fishexe (168879) | more than 3 years ago | (#34616694)

This is also where departments separate the men from the boys (and women from girls).

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

Re:I wouldn't even consider Programming 101 to be (4, Insightful)

prtsoft (702850) | more than 3 years ago | (#34616696)

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

Re:I wouldn't even consider Programming 101 to be (1)

chemicaldave (1776600) | more than 3 years ago | (#34616784)

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"

Re:I wouldn't even consider Programming 101 to be (1)

Anonymous Coward | more than 3 years ago | (#34616708)

This is also where departments separate the men from the boys (and women from girls).

You know how they seperated the men from the boys in ancient Greece? With a crowbar.

Re:I wouldn't even consider Programming 101 to be (4, Funny)

H0p313ss (811249) | more than 3 years ago | (#34616720)

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.

programming in java isn't cs either (1)

rubycodez (864176) | more than 3 years ago | (#34616752)

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

Re: programming in java isn't cs either (1)

chemicaldave (1776600) | more than 3 years ago | (#34616830)

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.

Re: programming in java isn't cs either (1)

TheRaven64 (641858) | more than 3 years ago | (#34616944)

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 allowed to submit the coursework in a language of our choice as long as we cleared it with the lecturer first (picking a language that they didn't know was no good).

Re:I wouldn't even consider Programming 101 to be (1)

MightyMartian (840721) | more than 3 years ago | (#34616866)

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.

Re:I wouldn't even consider Programming 101 to be (1)

mlts (1038732) | more than 3 years ago | (#34617282)

There is a big difference between learning to bang out code (most coding shops I've seen demand 10,000 lines of code a day regardless of bugs), versus true computer science and the core concepts.

True computer science is more than 1/0s. It is being able to deal with the layers of abstraction from the pulses of electricity running around a CPU to how a user points and fertilizes their donkeys on FarmVille.

Several example puzzles that are overlooked when one thinks about CS:

Advanced concepts of structures more complicated than a linked list -- circular buffers, heaps, stacks, caches, hash tables.

Dealing with a hard disk. Being able to position the read/write head not just on top of the data you want, but right before it, so you get blocks before and after the read, or if handed a bunch of reads from sectors, the most optimal way to read them all, giving priority to the ones that need it the most first, and which to cache first, which others to dump.

Process scheduling. Round robin may sound good, but there are times when it may not be optimal.

Security from the ground up on a computer. This is almost an art form, where any component can be compromised.

Storage. What is the most optimal way to store data on a certain format? Gray codes? Just plain 1s and zeroes? 6 and 2 encoding like DOS 3.3 on the Apple ][ floppies?

Integrity of data. There is a reason why NoSQL isn't used in anything production-grade, and why ACID when it pertains to data storage has nothing to do with the stuff that comes on blotter paper.

CS is sort of squeezed between two things. CS graduates end up going into coding, or they end up in IT. It is hard to do much with a "pure" CS background these days, unless one is starting a company and has VC access to start pursuing cool things. The engineering aspect (new hard disks, etc) end up being the realm of the EEs and MEs.

What does being a girl have to do with it? (5, Insightful)

mjperson (160131) | more than 3 years ago | (#34616532)

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

Re:What does being a girl have to do with it? (1)

theodp (442580) | more than 3 years ago | (#34616660)

Probably non-gender specific, as you suggest, but from the linked article: "The following post is an excerpt from a research paper I wrote this semester examining the use of high school computer science classes to increase the number of women in computer science."

Computer science ... (5, Informative)

gstoddart (321705) | more than 3 years ago | (#34616540)

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

Re:Computer science ... (1)

Anonymous Coward | more than 3 years ago | (#34616792)

Right, because physical science is doing science on a physical (whatever that means) and life science is doing science on a game board.

Oh, wait...

Volunteer & Make it Fun (4, Interesting)

bill_mcgonigle (4333) | more than 3 years ago | (#34617066)

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.

Re:Volunteer & Make it Fun (1)

gstoddart (321705) | more than 3 years ago | (#34617350)

I recently volunteered at a local high school for a lunchtime talk for a CS club.

While I applaud you for this ... I typically don't voluntarily spend time with high-school kids, let alone volunteer for it. ;-)

Funny thing... (0)

Anonymous Coward | more than 3 years ago | (#34616542)

Funny thing...

We call it Computer Science, but not one of my teachers or professors through the 8ish long years of highschool and college advocated for using anything that resembled the scientific method. I'm sure I'm not the only one in that boat. I wonder why that is.

The real question should be... (0)

Anonymous Coward | more than 3 years ago | (#34616548)

Do most people know what Computer Science is? Whenever someone asks what I majored in, I always end up having to attempt an explanation before their eyes gloss over and reply with a terse, "Oh, so you repair computers?"

I guess I should just start telling people that "It involves me sitting at a computer and reading ./ all day."

No (1)

0racle (667029) | more than 3 years ago | (#34616558)

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.

Re:No (1)

fishexe (168879) | more than 3 years ago | (#34616770)

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

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.

Computer Science == Applied Mathematics (2)

mrnick (108356) | more than 3 years ago | (#34616602)

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:Computer Science == Applied Mathematics (2, Insightful)

Anonymous Coward | more than 3 years ago | (#34616674)

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

Re:Computer Science == Applied Mathematics (2)

MightyMartian (840721) | more than 3 years ago | (#34616900)

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.

Re:Computer Science == Applied Mathematics (2)

gstoddart (321705) | more than 3 years ago | (#34617068)

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.

Re:Computer Science == Applied Mathematics (1)

MightyMartian (840721) | more than 3 years ago | (#34617094)

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.

Re:Computer Science == Applied Mathematics (1)

TheRaven64 (641858) | more than 3 years ago | (#34617192)

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.

Re:Computer Science == Applied Mathematics (1)

gstoddart (321705) | more than 3 years ago | (#34617322)

and learning C is trivial if you know Pascal

I wouldn't say "trivial" -- I know a lot of people who had a hard time adjusting to the pointer arithmetic and pointers in C. There's a lot of tricky stuff in there to get through.

Things like "pointers to pointers to printf-like functions" will leave many people weeping (or laughing if they can dig up the original ditty -- I can only find bastardized versions of it)

Pointers to pointers to printf()-like functions;
Unary minus and nested conjunctions;
Integers, booleans, characters, strings;
These are a few of my favourite things.

Re:Computer Science == Applied Mathematics (1)

characterZer0 (138196) | more than 3 years ago | (#34616864)

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.

Re:Computer Science == Applied Mathematics (1)

cyber-vandal (148830) | more than 3 years ago | (#34617152)

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.

Re:Computer Science == Applied Mathematics (1)

NJRoadfan (1254248) | more than 3 years ago | (#34617162)

They can ramble off a nice lecture about Big-O notation though. Hopefully they can identify problems that are NP-complete as well.

Re:Computer Science == Applied Mathematics (1)

Tr3vin (1220548) | more than 3 years ago | (#34617238)

The main reason I went for a Software Engineering degree over a Computer Science degree is the job market. While the typical math heavy CS skillset is important and very useful, it does very little to teach you about design processes or communicating with the client. I found the focus on "real world" problems and solutions to be very useful. It is also a good chance to get used to working with those who don't speak geek.

Universities don't, why should highschools? (3, Insightful)

Anonymous Coward | more than 3 years ago | (#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.

Misleading? (3, Insightful)

RockoTDF (1042780) | more than 3 years ago | (#34616630)

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.

Re:Misleading? (1)

JustinOpinion (1246824) | more than 3 years ago | (#34617008)

I'm not entirely sure most high schools know what math is, either. Or science in general.

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 classes involve memorizing history factoids, without much learning about how to think critically about the historical record or how to do original research. Physics classes are about plugging values into simple formula, in order to get comfortable with the notion of explaining complex real-world phenomena analytically... but what high school students learn/do is of course a pale imitation of "real physics". Computer classes in high school are no different.

It would probably make sense to call high-school classes about keyboarding and using software "computer classes" and not "computer science classes". (Are there high schools that actually use the term "Computer Science"? That's not been my experience.) Similarly you could pedantically insist that in high school the classes be called "Basic Arithmetic Computation Training" instead of "Math" and so on. But really what should be happening is:
1. Reform high-school level classes, to the extent possible, so that they actually delve into subjects rather than just teaching them in a rote fashion. Obviously there are limits to what you can cover at the high-school level, but wherever possible students should be exposed to the deeper concepts, formalisms, and strategies of a field. (Crucially: even if they don't understand it at first! You typically have to learn a non-trivial subject a few times before you truly understand it.)
2. Have some information in high school classes about what work in a given field is 'really like'. It's fine (even necessary) to teach keyboarding in high school. But at least describe to students what a "real" computer programmer and computer scientist do. Give them a hint of what the fields are "really like".

Of course this is easier said than done. Typically a high-school level educator will not have any experience with what that field is "really like" and so they are not really able to give a good description of either the deep understanding of the field or what the day-to-day work in that field is like.

Computer Science vs. Business Applications (2)

sgtstein (1219216) | more than 3 years ago | (#34616668)

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.

Re:Computer Science vs. Business Applications (1)

cyber-vandal (148830) | more than 3 years ago | (#34617184)

You had OOP principals. How did that work? Did your principal inherit from an abstract Administrator class?

Physical sciences (2)

wjousts (1529427) | more than 3 years ago | (#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.

Re:Physical sciences (0)

Anonymous Coward | more than 3 years ago | (#34616858)

Yes, but that would be teaching basic java/c++/python/whatever, the underlining concepts of programming, not of computing.

Not a problem (1)

blair1q (305137) | more than 3 years ago | (#34616702)

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.

Re:Not a problem (1)

cyber-vandal (148830) | more than 3 years ago | (#34617224)

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.

Worse when the teachers dont know. (1)

wjh31 (1372867) | more than 3 years ago | (#34616722)

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

Do we even use the right terminology? (3, Interesting)

jadavis (473492) | more than 3 years ago | (#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.

Comp Sci 80s style. (1)

Philomage (1851668) | more than 3 years ago | (#34616742)

I took a high school computer science class in 1981.

We learned the parts (CPU, memory, input, output, etc.) of an electro-mechanical system for processing information and we learned to program in assembly on mapo cards. We learned theory before we put anything into practice.

It seems unbelievable that compsci classes today are keyboarding classes and no one (in the school boards) sees anything wrong with that.

Re:Comp Sci 80s style. (1)

confused one (671304) | more than 3 years ago | (#34617272)

Took high-school CS about the same time period. 1st year was computer fundamentals, problem solving, sorting data, all done in BASIC (and 6502 assembler if you were brave). 2nd year was basic data structures, linked lists, etc. done in Pascal. Apparently things have gone downhill...

simple answer (3, Insightful)

roman_mir (125474) | more than 3 years ago | (#34616772)

Do High Schools Know What 'Computer Science' Is?

- No.

Do your employers know?

I dont know about the first rule of C.S. (1)

Combatso (1793216) | more than 3 years ago | (#34616776)

I know that the first rule of Computer Club, is never talk about Computer Club... unless you don't wanna get laid

The problem isn't everywhere (1)

lahs0n (892621) | more than 3 years ago | (#34616782)

My HS in north Florida had their program together -- it was the instructors who occasionally slacked due to most of us not caring (I wasn't one of them).
We had MOUS (Office, which I never took), web design, programming (VS6, incl. VB, C++), CompTIA (A+, Net+), Microsoft (MCP, MCSA, MCSE) and Cisco (CCNA) with in-house certification programs for most. Hands-on training and at no cost -- can't beat that!

Not in the Slightest (1)

Nemyst (1383049) | more than 3 years ago | (#34616812)

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.

Re:Not in the Slightest (1)

NJRoadfan (1254248) | more than 3 years ago | (#34617300)

Nothing wrong with Hypercard.... really. When I was in HS, it was a period of transition. CS1 my freshman year was taught on a HP3000 with BASIC, CS2 was QBASIC. by senior year both CS1 and CS2 were transitioned to teaching Visual Basic 6, they had also phased in an Intro to C++ class my sophomore year and of course there was the AP Computer Science class as well. 1999 was the first year it was in C++ instead of Pascal.

Not for a long time (1)

Apothem (1921856) | more than 3 years ago | (#34616816)

Not until 'advanced computer usage' doesnt constitute learning how to type and making excel documents. Once educators realize that's just basic necessary skills then MAYBE we might see some progress.

future programming teacher? (0)

Anonymous Coward | more than 3 years ago | (#34616886)

I currently teach high school math at a very successful public school. I have about a dozen computers in my classroom which get varying degrees of use, but might start teaching programming next year. I minor'd in CS, so I'm certainly no expert, but I have seen some problems with our tech courses here. We have public speaking courses where kids use powerpoint to do presentations, and use word regularly. Unfortunately we don't really teach any computing skills in those classes as much as we teach "application" skills. I'd like to throw an open office or just something that looks different and see how my kids do...I'm guessing not great for the majority.

If I do end up teaching programming I aim to stay away from focusing on syntax and focus more on theory as much as possible. Structure of if statements, different loops, arrays; that would lead to some basic discrete math stuff too hopefully (a course we have tried for several years now to get off the ground).

I have a minor in CS, and have no professional experience, but it absolutely amazes people when I say that the vast majority of my CS classes didn't have a computer in the room. I'm certainly no expert, but even I can spot gaping flaws in the way we're going about things now!

Biggest problem they could think of? (1)

fishexe (168879) | more than 3 years ago | (#34616924)

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 that what your high school offers is a greatly-reduced version of the subject catering to your un-motivated peers, and therefore know not to jump to any conclusions based on it anyway. Shouldn't we be discussing something 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? I'd say that's a bigger concern.

Re:Biggest problem they could think of? (1)

fishexe (168879) | more than 3 years ago | (#34617030)

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.

It *was* more rigorous back then.. (2)

digitalhermit (113459) | more than 3 years ago | (#34616950)

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.

One only has to mention computers (1)

design1066 (1081505) | more than 3 years ago | (#34616964)

to turn most girls off...

California High schools are doing it wrong.. (2, Interesting)

anix91 (1835972) | more than 3 years ago | (#34616976)

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.

Don't make the bar to high... (2)

HockeyPuck (141947) | more than 3 years ago | (#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.

IAAHSCST (1)

Anonymous Coward | more than 3 years ago | (#34617006)

'More girls might get the impression that computer science is only advanced application use, which might turn them off to computer science.'

I actually am a high school CS teacher who is also interested in gender parity in CS. I teach a course I call "Computational Thinking." I describe it to parents as "computer science without computers."

To be fair, we do use computers for one day during the semester-long course: we disassemble and reassemble them to talk about components. Other than that, it's pretty much games, challenges, and other exercises. We turn the school hallways into a network topology through which to send messages. We play Mao. We transmit messages using our own encoding, compression, and error-checking scheme. And plenty more.

After one lesson early in the semester, a student asked, "Are all our classes going to be fun?" I responded that we had just learned system analysis, logic, debugging, and problem solving; how could that be fun? I guess what I'm trying to say is that you can teach CS without low-balling students with classes about typing and applications.

Simple answer (1)

NetServices (1479949) | more than 3 years ago | (#34617010)

No.

More lines of code (0)

Anonymous Coward | more than 3 years ago | (#34617024)

Typing faster = more lines of code. What is the problem exactly?

The harm is... (1)

Pollux (102520) | more than 3 years ago | (#34617032)

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 school chemistry class discussing "atomic orbitals," "moles," and all the prefixes and postfixes that change the chemical makeup of a molecule, I always assumed that chemistry was only about making bombs from whatever you could find in your garage, MacGyver style. I'm very thankful that high school did me the favor of showing me how boring chemistry could get, teaching me that pursuing the subject further in college would not be worth my time or interest.

Needs moar standardization (1)

O('_')O_Bush (1162487) | more than 3 years ago | (#34617056)

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.

Bar (1)

SethThresher (1958152) | more than 3 years ago | (#34617070)

I remember the incredibly confusing day where our teacher spent the entire class period explaining to us what "Foo" was.

should teach theoretical foundations, not coding (0)

Anonymous Coward | more than 3 years ago | (#34617116)

My high school taught us fortran and cobol programming (hey that's what was primarily in use in industry at the time). I don't think it was a good idea. I used cobol only once since then, for a summer job in college. Never since then.

They should teach things from which people can derive on their own which actions are safe to engage in, and which are not. The idea of protection rings: the difference between things running in ring-0 and in user space. Does app XYZ *really* need to run in the same ring as the *kernel*? Once people are able to evaluate these things on their own, they'll do a lot less stupid things with their PCs.

They should also teach basics of algorithms, understanding and analysing time complexities, and other things which are NOT tied to any specific vendor's technology. It should be the groundwork that you can use to understand whatever you come across in the future. It should have NOTHING to do with running specific apps, creating "hyperlinks", "web programming", or whatever else. Those are all trade skills - things you can trivially pick up if and when you should need them.

seems to be a name thing as I have seen computer s (1)

Joe The Dragon (967727) | more than 3 years ago | (#34617128)

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 (1)

rudy_wayne (414635) | more than 3 years ago | (#34617132)

Does anybody really know what time it is

Does anybody really care

Computer Science (1)

Stooshie (993666) | more than 3 years ago | (#34617198)

I'm just as worried about them using the word "science" for those classes!

Well yes, and ... (1)

Coryoth (254751) | more than 3 years ago | (#34617254)

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 therefore comes as little surprise to me that there is a similar disconnect over the difference between "things you do on computers" and computer science.

The simple answer is that both mathematics and computer science are far too often taught by people who don't really actually have any grasp of the subject. Get someone who actually knows computer science to teach the subject and it will be taught very differently and cover different things. Get someone who actually knows mathematics well and it will be taught very differently and cover different things. Welcome to the real world. It sucks. Get used to it.

To take a shot in the dark... (1)

Grimbleton (1034446) | more than 3 years ago | (#34617308)

No, no they do not.

The only courses offered at my high school were keyboarding and VERY basic VB classes taught by a math teacher who was learning VB as she "taught" us.

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>