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!

ACM Urges Obama To Include CS In K-12 Core

kdawson posted more than 5 years ago | from the little-algol-and-less-fortran dept.

Education 474

jmcbain writes "The ACM issued a set of recommendations supporting Barack Obama's stated goal of making science and mathematics education a national priority at the K-12 level. The ACM is urging the new administration to include Computer Science as an integral part of the nation's education system. 'The new Administration can play an important role in strengthening middle school education, where action can really make a difference, to introduce these students to computer science,' said ACM CEO John White." Is CS such a basic subject, at the level of science or math, that it makes sense to (try to) teach its principles to every elementary school child?

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

Dupe (0, Offtopic)

WiiVault (1039946) | more than 5 years ago | (#26219619)

N/t

Doesn't matter if it starts out bad (3, Interesting)

Hojima (1228978) | more than 5 years ago | (#26219907)

I honestly believe that the CS teaching will start out bad. There are few teachers who can tell a computer from a hole in the ground, and fewer that can program to a good degree. However, the initiative for teachers to know about computers must start here. I had a teacher who taught AP computer programming with literally no knowledge about programming. He made countless errors and would have to teach himself in the middle of class. But you know what? The interested students actually learned decent programming, all the way up to mid level object oriented programming. What is so funny is that his lack of knowledge was even a benefit. He didn't know that Java was part of the curriculum because he didn't know there was such a thing as more then one programming language. He just picked up a c++ book and taught us that. After we finished learning about objects and their parameters, he decided to do interfaces with a library he downloaded and found out about VB. Since then, he suddenly realized there were a myriad of languages out there. By the end of the year we all learned c++, VB, Java (he finally found out), and he gave us a choice of the other programming languages to learn (I learned AUTOIT and my friend learned python). And he went from not knowing about the alt+tab trick, to writing a autoit script that would lock the computer down and beep like mad when the keyword "game" was typed. This may be the best case scenario, but as long as there is are a sliver of ambitious people distributed throughout the system, there will be a massive amount of progress made with this choice.

Re:Doesn't matter if it starts out bad (4, Insightful)

JavaManJim (946878) | more than 5 years ago | (#26219959)

Darn right it will start, continue, and end badly if done via a programming approach. True CS is not language programming but how to develop algorithms.

So three authors should be key here. Not the whole ball of wax but an abstraction of what these authors present.
Donald Knuth and his books, "The Art of Computer Programming" (3 volumes).
Andrew S. Tanenbaum; "Computer Organization".
John L. Hennesey and David L. Patterson; "Computer Architecture".

Good luck,
Jim

Re:Doesn't matter if it starts out bad (5, Insightful)

techno-vampire (666512) | more than 5 years ago | (#26220095)

Donald Knuth and his books, "The Art of Computer Programming" (3 volumes).

You do realize, don't you, that we're talking about K-12 here, not college?

Robots! (2, Interesting)

Anonymous Coward | more than 5 years ago | (#26219623)

When I was in high-school in the late nineties the only computer classes at my school were "keyboarding" and later "Tech Exploration". Keyboarding is an abomination because people who can use a computer well enough don't need the masochistic cover-over-the keyboard training to type accurately at a fast rate.

The best ultra-rudimentary programming can start with point-and-click commands to a simple robot arm (interface). That will give noobs a good idea of the algorithm and the order of steps required for it to work properly. ~5 years later I had the pleasure of working for a simple but bulky industrial robot which happily displayed on an LCD monitor the steps it was going through as it was doing them(the meatspace equivalent of a real-time debugger) and it said stuff like "pick up bale", "alter travel to avoid rod collision". The arm actually had to take an elongated path to avoid hitting other parts of the machinery, even though it was capable of doing so. The operation required the operation of the program as well as proper calibration of the servos to avoid beating itself to death!

Re:Robots! (4, Insightful)

Moofie (22272) | more than 5 years ago | (#26219821)

Huh. My keyboarding class is the part of my high school curriculum that I value the most. It got me to where I can type almost as fast as I can think, and that's useful.

Re:Robots! (5, Funny)

Grimbleton (1034446) | more than 5 years ago | (#26219883)

Fortunately for me, I don't think very fast.

Re:Robots! (2, Insightful)

Moofie (22272) | more than 5 years ago | (#26219957)

Not a bad way to be!

Re:Robots! (-1, Offtopic)

Anonymous Coward | more than 5 years ago | (#26220117)

Fortunately, whatever programmers type is set in stone the moment they type it, and that leads to such excellent operating systems as Windows("Just fucking ship it!") Vista or ("Can we get anything to Just Work(TM)?) Linux.

If the media don't proofreaders then why would developers need them? Because developers always do shit right the first time(tm)? Like George W. Bush did with his war on Iraq.

First! (-1, Offtopic)

rnideffer (948422) | more than 5 years ago | (#26219625)

Hehehe

Re:First! (-1, Redundant)

WiiVault (1039946) | more than 5 years ago | (#26219641)

First after first ;-)

Yes! (3, Funny)

moniker127 (1290002) | more than 5 years ago | (#26219639)

In one word: YES!
Computer science is very very important. You will use it in damn near any field you go into- from operating the register at a burger king - to being a software programmer.

Re:Yes! Absolutely not! (4, Interesting)

tomhudson (43916) | more than 5 years ago | (#26219695)

They do such a miserable job with the basics already. Colleges have to give classes in remedial reading and math to get their students "up to speed" because the K-12 are doing such a crap job.

Besides, you know this will degrade into "This is how you create a powerpoint presentation" because that's all the "teacher" knows? Besides, by the time they draw up a curriculum, you *know* it will be obsolete.

There is no need for computer classes, not when you can't get the basics right. And speaking of BASIC, do we really need another generation ruined by it?

Re:Yes! Absolutely not! (4, Insightful)

Delwin (599872) | more than 5 years ago | (#26219827)

It's not talking about teaching programming, or even computer use - but Computer Science. At the basic level very little has changed in Computer Science since Turing. You can spend an entire year just on designing very basic algorithms for very basic things - and not in any current computer language - and teach far more to children about logic than current mathematics does.

Re:Yes! Absolutely not! Wait, what? (2, Interesting)

Gnea (2566) | more than 5 years ago | (#26219835)

It depends on what area of the country you're talking about. If you think that all public schools teach the same things, then clearly your perception of American education is not correct.

Many schools don't have such courses, so colleges wind up picking up the slack where they leave off. Therefore, only the kids who are exposed to schools and districts where any kind of computer courses are offerred really benefit.

Of course, if there's no interest in a community, then why should a district impose such a level of technology? After all, everyone has computers at home and kids are growing up with them, just like people have been growing up with cars for well over 50 years now and so driver education got integrated somehow.

Re:Yes! Absolutely not! (3, Insightful)

644bd346996 (1012333) | more than 5 years ago | (#26219865)

The core computer science topics won't be obsolete anytime soon - consider that many places still teach the basics using Lisp, a language that's been around since 1958. Computer architectures haven't changed much either. Sure, instruction sets have evolved, but we're still using von Neumann archtectures. None of the paradigms used to program them is ever really obsoleted.

Re:Yes! Absolutely not! (4, Interesting)

Eli Gottlieb (917758) | more than 5 years ago | (#26220003)

I see your point, but teaching students basic set theory, first-order predicate calculus, and mathematical proofs under the banner of "computer science" wouldn't hurt.

And yes, these are in fact the first three topics covered in the core computer science course at my university. And the professor came in on the first day of lecture and told us, "The first half of this class will be the things your high school failed to teach you.".

Re:Yes! Absolutely not! (2, Interesting)

tirerim (1108567) | more than 5 years ago | (#26220091)

Those are things that would be very useful to teach, for many applications, but I'm not sure that they need to be taught under the umbrella of C.S. Along with some stuff on algorithms, they'd all be fine in a math class; at that point, the students who want to learn programming shouldn't have much difficulty with it, whether they do it on their own or in college. Don't get me wrong, I'm glad I learned to program in high school. But while my school wasn't wealthy (we were using Apple IIe's in the late 90s), it did have the resources to offer those classes, for the very few students who took them, without impacting other programs. I'd hate to see stuff like music and art cut (and they're usually the first ones to go) in order to teach everyone to program.

Re:Yes! (5, Insightful)

liquidpele (663430) | more than 5 years ago | (#26219839)

I can't tell if you're being sarcastic or not, but CS is not something everyone needs to learn. In fact, it's *very* difficult for many to grasp. Other reasons it's a bad idea

1) They won't hire teachers for it, they'll just get one of the available teachers to teach it, so you'll have the basketball coach teaching CS out of a book.
2) Choice of language matters, let the flame wars begin.
3) People graduating with the vocational degree instead of college prep don't need it.

Re:Yes! (5, Funny)

Garridan (597129) | more than 5 years ago | (#26219849)

Hey man, just 'cause most CS majors end up working a register at burger king, a CS degree isn't a prerequisite to the job.

Re:Yes! (4, Interesting)

mysidia (191772) | more than 5 years ago | (#26219915)

I'l agree that human technology is fundamental, and courses that teach how to operate technology should be required, to the extent they encourage interest, students seeking to learn more, and validate a base level of knowledge..

There are some things that vaguely fall under the umberlla of CS that are very important to students (like computer literacy, an understanding of basic computer operation, and computer security, viruses, etc; how to use a GUI, how to use a CLI).

Use of computers is not as much a science lesson as it is a social and engineering lesson. To understand, how humans have designed computers to work, how various tasks can be accomplished, what are the social conventions of using them, i.e. NOT POSTING ON AN INTERNET FORUM IN ALL CAPS.

Computer science is not so basic. CS is the study of computation, algorithms, and information itself, the actual implementation is a very small part. CS is applied mathematics, which is too advanced for most K-12 students.

Even basic topics in CS, like the ability to implement Warshall's algorithm in C, or explain when an A* search is a good idea should not be mandatory for K-12 students: these topics would be introduced to those topics if they pursue CS-related background in college.

Some basic programming knowledge (i.e. scripting) would be appropriate, but please do not confuse such basic scripting with computer science.

Such classes should be titled "scripting class" or "computer literacy class", not CS.

Computer science has about as much to do with computers as astronomy does with telescopes. -- Edsger Dijkstra

Re:Yes! (1)

tsa (15680) | more than 5 years ago | (#26219939)

Nonsense. Monkey see, monkey do is enough for most people.

CS will end up = programming (5, Insightful)

aztektum (170569) | more than 5 years ago | (#26219643)

I'd rather see something more abstract like symbolic logic classes rather than programming classes.

Re:CS will end up = programming (1)

moniker127 (1290002) | more than 5 years ago | (#26219681)

The curriculum does not necessarily include programming. I think it should be more basic, like computer history, what drivers are, how networking works, how to format a hard drive- etc. Focus can be made neither on software development (being that it is to specific a subject) or on anything that would go out of date very quickly, as much does in the industry.

Re:CS will end up = programming (4, Insightful)

SignOfZeta (907092) | more than 5 years ago | (#26219761)

Close. Not everyone is interested in programming, and some people simply can't grasp concepts of functions, pointers, array numbering⦠sad but true.

However, teaching kids ABOUT computers is a great idea. Computer history, drivers, networkingâ¦Âyes, very yes. How to format a hard drive, how to make a PowerPoint presentation⦠no.

Don't teach the steps, teach the concepts. Teach them about networking, not how to configure TCP/IPv4 in Windows XP. Teach them about how hard drives work, not about how to format C: on the school computers. Sure, our children may have to call the IT guy, but at least they'll know that the Internet isn't made of tubes.

Re:CS will end up = programming (1)

Duradin (1261418) | more than 5 years ago | (#26219823)

Yes, lets give everyone the education they need to become level 1 script jockeys instead of giving them a solid foundation to build their understanding upon.

Mathematics doesn't go out of date.
Logic doesn't go out of date.
Drivers go out of date. Networking goes out of date. Let the tech schools handle that stuff.

You can't really appreciate a history class until you already have an understanding of the subject. Do you think the average third grader would care what methods various cultures used to calculate the area of a circle, for either the historical aspect or the importance of pi?

What we need is more kids capable of thinking and less walking lossy databases whose soul purpose is to regurgitate facts for a test.

Re:CS will end up = programming (1)

mysidia (191772) | more than 5 years ago | (#26219991)

How to format a drive is not CS, but more along the lines of computer literacy. What's close is "What is actually happening when you format ?"

A real CS lesson should explain what happens, and what formatting accomplishes in terms of disk logical and physical properties.

And not simplification to only what computer literate people need.

i.e. "It blanks the disk, and erases all the files, so you can start fresh." that's not informative.

An explanation about what disk partitioning is, how it works, what filesystems are, how they work, what High-level formatting is, what Low-level formatting is, what the encoding methods and bit-rot are, how hard drives have changed over the years, and why it's no longer necessary or advisable to do anything other than basic high-level format.

That's what a low-level CS class should bring up about formatting.

Re:CS will end up = programming (0)

Anonymous Coward | more than 5 years ago | (#26219715)

I agree it would be useful. But I think we should focus our priorities on getting math education right first. Considering how poorly US students do in math, I'd assume that CS education would be even worse.

Re:CS will end up = programming (1)

Delwin (599872) | more than 5 years ago | (#26219841)

Actually it's reversed. Teaching Logic (which really is the core of Computer Science) would aid in the teaching of Mathematics. They really are two separate disciplines and teaching them as such would go a long way towards helping children who have problems in the current system grok both of them.

A year of just logic puzzles would go a long way towards recovering our education system.

Re:CS will end up = programming (5, Interesting)

KanshuShintai (694567) | more than 5 years ago | (#26219795)

Teaching computer science in middle school and high school is probably no more appropriate than teaching mechanical engineering at those levels. What schools really need to be teaching are maths outside of the calculus track--logic, as you said, along with combinatorics, graph theory, geometry, set theory, and a number of other things that are important as foundations to the sciences (including computer science) and engineering disciplines in general. Computer science topics could serve as examples of applications of those mathematical foundations, just as physics is used as an example in calculus courses.

Re:CS will end up = programming (4, Interesting)

Delwin (599872) | more than 5 years ago | (#26219855)

I mostly agree but I think Algorithms has a place in there too. Data Structures would help as well - teaching children even just the Stack and Queue would be simple enough and would open many children's eyes to logical structures in the world around them. The ability to take a process apart and define it - even in English - is something that any child should be able to do. It's really the reverse of the Word Problem.

Re:CS will end up = programming (1)

ScrewMaster (602015) | more than 5 years ago | (#26220015)

I mostly agree but I think Algorithms has a place in there too. Data Structures would help as well

Niklaus Wirth ... is that you?

Re:CS will end up = programming (1)

Delwin (599872) | more than 5 years ago | (#26220033)

No, but we did use his book in college.

Re:CS will end up = programming (1)

davolfman (1245316) | more than 5 years ago | (#26220055)

The problem is that it takes an entire elective semester just to get the most basic syntax into their skulls in an average class. And good look keeping the talented one's in line while you do that, they'll be hacking out their assignments in the first 10-15 minutes of class and playing games installed to the network drives for the rest of class. At least that's how it worked at my school.

Re:CS will end up = programming (1)

jackb_guppy (204733) | more than 5 years ago | (#26219967)

Dump CS from schools. Teach MATH!. Math drives CS. If you can not even figure out how to do A^2 + B^2 = C^2, how will you understand computers.

Re:CS will end up = programming (0)

gnud (934243) | more than 5 years ago | (#26220017)

If you can not even figure out symbols like the question mark, how will people understand you.

Kind regards,
your friendly, satirical Grammar Nazi.

Re:CS will end up = programming (1, Insightful)

Anonymous Coward | more than 5 years ago | (#26220069)

I learned to program when I was 7 years old. I didn't learn the pythagorean theorem until I was 11. I already knew how to use variables, arrays, if/then statements, and loops by that point.

I teach CS now, and most of the 18-year-olds we get these days don't know how to do any of that. They've never written even one computer program in their whole life.

I have nothing against teaching math, but these kids have had 12 years of math and they have a great deal of trouble thinking through problems in a logical manner. A very good way to teach math is to teach computer science as a part of it. Right now, in most schools we're teaching our kids to carry out algorithms: to be computers. Teaching them to create algorithms will create more fundamental understanding of mathematics. Writing computer programs from those algorithms is a good way to cement their understanding and allow them to verify their results. It also allows for more trial-and-error in solving the problems. If we can teach good problem solving skills that will help them in math, computer science, and in life.

Absolutely! (2, Interesting)

malkir (1031750) | more than 5 years ago | (#26219649)

"Is CS such a basic subject, at the level of science or math, that it makes sense to (try to) teach its principles to every elementary school child?"

Absolutely! How easy is it for children to pick up something that they don't have to do 'heavy thinking' about? Basic computer knowledge can go a long way, and facilitates those who are technically inclined. Allow students to advance their CS knowledge if they are interested, and teach everyone else how to use a computer! Plugging in peripphials, playing with wireless routers, how to properly plug computers in if they ever buy a new one, installing a basic operating system.. linux is perfect

Re:Absolutely! (2, Funny)

Crudely_Indecent (739699) | more than 5 years ago | (#26219703)

Personally, I'd like to see any basic CS course in K12 include training on how to avoid pitfalls of computing along with some basic research instruction.

Computing Bad: MySpace
Computing Good: Slashdot

Re:Absolutely! (2, Informative)

Klootzak (824076) | more than 5 years ago | (#26219753)

Allow students to advance their CS knowledge if they are interested, and teach everyone else how to use a computer! Plugging in peripphials, playing with wireless routers, how to properly plug computers in if they ever buy a new one, installing a basic operating system.. linux is perfect

What you describe is NOT Computer-Science... you're talking about how to utilize various "tools".

Computer-Science is the field/discipline where we take a process, break it down to its base tasks, and then develop computational tools/technology to automate components of the process or the process in its entirety.

Computer-Science == "I currently do X, by performing tasks A, B, and C, is there a way to make this easier or more efficient using formal logic tools (such as computer-software or simple electronic components)?"

Computer-Science != "How do I plug in a printer?"

I'd refer you to Dijkstra's Telescope analogy, but no-doubt it'll be used by someone else.

Re:Absolutely! (1)

MiKM (752717) | more than 5 years ago | (#26219845)

I'm surprised I hadn't heard about Dijskstra's telescope analogy before. People (especially family) assume that computer science means "fixing computers" and "making websites for their dog". I've been looking for a good way to explain what CS really entails.

Re:Absolutely! (1)

Klootzak (824076) | more than 5 years ago | (#26219895)

I'm surprised I hadn't heard about Dijskstra's telescope analogy before. People (especially family) assume that computer science means "fixing computers" and "making websites for their dog". I've been looking for a good way to explain what CS really entails.

Glad to have shown you something new... Here's something I was writing up and never finished (like most ideas that pop into my head momentarily, before something else takes my attention away), it may help you explain what "Computer-Science" is:

Computer Science - Science of all disciplines?

Recently I had the opportunity to explain what "Computer Science" is to some people who were studying in the field of Genetics. My (almost) profound statement was "I'm a Computer Scientist, I have to understand how a process works so that I can create technology to perform the same function".

This caused a certain amount of self-realization as I then pondered my career... my first job had been a Systems Technictian/Programmer, where I wrote software for a simulator that was used to train Power-Plant operators, which meant I had to learn about power generation and many other concepts (thermodynamics etc etc...). Since then I've had many (probably too many) different roles in a number of different fields, the one thing that was consistant with all of them was the fact I had to learn and understand what my employer did, and wanted to do, to be effective in my job.

Opportunity Cost (1)

Knave75 (894961) | more than 5 years ago | (#26219659)

There are many important subjects: Math, Science, Physical Education, English, a second language, a third language, international awareness, etc. etc.

But, there are a finite number of hours in a school day, and a finite amount of material that parents are willing to let their children learn before they complain that it interferes with the dozen after-school activities that the parents have scheduled.

So, the while the original question was worded correctly (eg. is CS equal to science), it will be important in this thread to remember that any comment that says that CS is useful in isolation is of little value. It is a given that having knowledge set "X" is better than not having it. The question boils down, consequently, to, "is knowledge set X worth losing knowledge set Y?".

My opinion: Basic CS is useful, but only if we start streaming aggressively at a younger age. No point is wasting massive resources provided computers for many students who will never amount to anything.

Re:Opportunity Cost (3, Insightful)

Delwin (599872) | more than 5 years ago | (#26219867)

Basic Computer Science is far more useful than teaching 'American History from the Revolutionary War to the Civil War' for the fourth year in a row in Elementary School. You can drop one of those years for a course in 'Logic for Children' and get far more out of it.

Re:Opportunity Cost (2, Funny)

mr dirtbag (1094243) | more than 5 years ago | (#26219875)

But, there are a finite number of hours in a school day, and a finite amount of material that parents are willing to let their children learn before they complain that it interferes with the dozen after-school activities that the parents have scheduled.

Learning a 2nd/3rd language is a huge waste of time. What do you really learn by adding a list of words to your brain that is a copy of the words you already know, but in a different language?

Think of the opportunity cost of all thing other things you could have learned instead that would actually help you understand the world around you.

Just pick a language already, any language (does not have to be English). There would be so much saved effort in understanding each other and passing on knowledge between civilizations. Best of all, it would make it harder for politicians to say one thing to one group and something else to another, hiding it based on language differences.

Re:Opportunity Cost (1)

Hao Wu (652581) | more than 5 years ago | (#26219935)

These people see their own career interests as the only acceptable measure of success for everyone else!!! Not only success, but everyone's intelligence, moral and economic value are to be judged against the personal standards of a few neurotic /. editors.

Forcing non-technical people to study CS is as pretentious and stupid as making technical people take figure skating lessons. "The time has come for that," an ice champion would say...

No, it's not too early (1)

RickRussellTX (755670) | more than 5 years ago | (#26219661)

Far too few new college students (I ran a college help desk so I interviewed and hired a lot of them) understand the basic procedural operation of computer programs. The solution is to start young with simple environments (think LOGO) that limit complexity, but they are not "canned" in the sense that they walk the student through every problem.

And today, I'd say that even typing & text should not be requirements. Use graphic elements to build programs from simple blocks, laying out the high-level problem solving procedure before you teach kids how to write the blocks themselves.

Re:No, it's not too early (1)

644bd346996 (1012333) | more than 5 years ago | (#26219909)

Exactly. Most people using computers today have a deeply flawed conceptual model of what's going on under the hood, and are thus helpless to solve even the most basic problems that extend beyond their experience. Even a simple graphical programming tool like Alice can go a long way toward helping somebody understand what a program really is, and Alice has been proven to work for average middle school students.

No. The right ones will find their own way. (1)

HornWumpus (783565) | more than 5 years ago | (#26219911)

The teachers in High School and before are generally unequipped to teach math, much less CS.

Let the kids concentrate on more basic subjects in their school hours. Subjects the teachers might not ruin for the kids.

Teach them to use computers in their other classes course (e.g. Word Processing in English etc).

With the resources available on the net the kids that want to dive into computers will do better without their classmates and teachers disinterest to slow them down.

Weather that's from a CS perspective or some more practical one doesn't matter.

Let the little bastards build a thousand useless flash games to entertain themselves.

It's what we did, only we did it with 6502 assembler.

Re:No, it's not too early (1)

xenocide2 (231786) | more than 5 years ago | (#26219995)

The problem, as always, is training. Computers and math are anathema to elementary ed majors. (If you disagree, please explain to me why elementary education teachers [k-state.edu] can get away with just College Algebra and "Introduction to Contemporary Mathematics," a course likely dominated by one or two math adverse majors)

Here's what happened when I was a young student: 5 minutes lining up as a class, quietly walking to the lab. 5 minutes getting everyone into computers and putting floppy disks in Apple IIs. 5 minutes explaining what logo is and how to start it. 5 minutes explaining how to make a turtle draw a square. 5 minutes of kids with no typing abilities enter in REPEAT 4 [FW 10 RT 90]
5 minutes putting things away, lining up and quietly returning to the classroom. It wasn't until much later that I discovered that logo was a much much richer environment than that, and that when properly used, can express the fundamentals of Computer Science.

When was this? When a friend in elementary education came to me asking for help with LOGO. She had enrolled in a graduate level education course on Logo in the classroom (as part of a certification or emphasis I think). Now, our traditional programming course in the CS department equally fulfills the requirements, but their advisors advise against it. She came to me asking for help implementing a pig latin translator in logo, which interested me. Not just because she had never heard of Pig Latin, but I didn't know Logo had anything relevant to implement something like that in a simple manner.

Long story short, understanding recursion and drawing a tree in logo is extra credit, and I have no hope for the future of CS education in K-12.

Why not? (1)

Metaleks (977598) | more than 5 years ago | (#26219671)

I actually like this idea a lot.

For example, things like stacks are really easy to understand at a conceptual level. They won't even know that they're learning computer science. I can really see small children taking an interest in stuff like this, and just using it to model and solve simple problems. Seems fun.

I'm not too sure, though. That's what immediately came to my mind. I would be very interested in seeing what the proposed curriculum is actually like.

Good (1)

SonicEarth (1246632) | more than 5 years ago | (#26219673)

Good idea. People need to learn how to use a computer and how it works. I'm sick of asking people "is it plugged in?" =P

About time! (1)

salesgeek (263995) | more than 5 years ago | (#26219693)

It's about time someone got the K-12 world to figure out that teaching computers means a little more than teaching kids to use office suites and educational games.

Re:About time! (3, Insightful)

falcon5768 (629591) | more than 5 years ago | (#26219899)

Except for the bulk of students (easily 99% of them) it IS office suits. And they dont even do that well.

Computer Science is NOT something that should be taught any sooner than 9th grade IMHO. And certainly should not be a general ed requirement. It is not a general skill most people need and certainly should not be thought of as that way. I know this is slashdot so people are going to disagree with that, but the honest truth is its hard enough now to get kids to learn real life skills, teaching them something from a field most dont even have a inkling of want to be in and those who do will already know more than any teacher will be able to teach them is just another subject that waters down basic education.

IT industry dejavu (3, Insightful)

zymano (581466) | more than 5 years ago | (#26219705)

"To meet the nation's educational and professional needs in the face of insufficient numbers of undergraduates majoring in computer science"

LOL.

It's called $$$. Keep trying H1b visas. Typical of corporates who don't want to pay and want to too see lots of cheap labor. More CS workers = lots of competition for jobs.

You saw how IT industry turned out.

If the editor took CS in school... (0)

Anonymous Coward | more than 5 years ago | (#26219721)

'The new Administration can play an important role in strengthening middle school education, where action can really make a difference, to introduce these students to computer science,' said ACM CEO John White.

Is CS such a basic subject, at the level of science or math, that it makes sense to (try to) teach its principles to every elementary school child?

Perhaps middle school != elementary school would compute for kdawson?

Most definitely.. (1)

Sir Homer (549339) | more than 5 years ago | (#26219729)

I definitely think stuff like Turing machines and abstract computer science should be thought at the middle school level as part of science courses. In fact I recently gave a presentation to a bunch of undergraduate MATHEMATICS students and not a single one know who Alan Turing even was.

Re:Most definitely.. (2, Interesting)

Almahtar (991773) | more than 5 years ago | (#26220025)

In junior high many kids think algebra and geometry are irrelevant to life, and things they'll never use. There's no way they'd see Turing machines, state machines, regular expressions, etc as remotely relevant. They wouldn't be motivated enough to really tackle it, even if they are plenty capable mentally.

CS is a Tool (0)

Anonymous Coward | more than 5 years ago | (#26219735)

CS is just a tool. What we know as CS will be obsolete in a few years. Things like math and physics underly it. Those never become obsolete.

Re:CS is a Tool (0)

Anonymous Coward | more than 5 years ago | (#26219825)

Either you're trolling, or you don't understand computer science at all; I can't decide.

Math teaching should be restructured (4, Insightful)

erroneus (253617) | more than 5 years ago | (#26219739)

Math teaching should indeed include programming knowledge. It doesn't have to be intensive knowledge but it should be enough to teach logic flow and problem solving methods and procedures. We all learned PEMDAS in algebra class, but there is more that should be included as well. Not only comparative operators like greater-than, less-than and equals, but the other ones we use in programming like not-equals, greater-than-or-equals and the like. Binary math with AND, OR and XOR should be enforced in many areas as well.

These types of mental skills are good for math and science, of course, but these sorts of mental processing skills are very useful in day-to-day life in thinking and reasoning. Thinking and reasoning skills should be taught throughout K-12. Learning how to learn effectively is THE absolute key to a successful academic career. Right now, emphasis is on passing tests. That is just the wrong way to do it. Teaching how to learn and think will resolve the student success problems very naturally.

Some people will ALWAYS lack the capacity to learn and think effectively. That is unfortunate. But the whole of our nation's youth asset should not be compromised because a few will be left behind. "No Child Left Behind" sounds good... especially on a battle field. But it inhibits the potential growth for a massive amount of students. Talented and Gifted programs are all good, but the average student is far more capable than the regular school system is geared for.

Bah (4, Funny)

memristance (1285036) | more than 5 years ago | (#26219741)

Why bother? Computer Science is just applied Mathematics [xkcd.com] ...

It is pretty basic ideas (2, Insightful)

Ryukotsusei (1164453) | more than 5 years ago | (#26219745)

Some schools have Lego Mindstorms, which have a primitive programming system. I mean, it's not hat hard to teach stuff like conditionals, loops, object, etc. The idea of anything taught at this level is to familiarize the student for higher-level work. We do spend 4 years teaching algebra, after all.

Re:It is pretty basic ideas (1)

Almahtar (991773) | more than 5 years ago | (#26220049)

Four years teaching algebra? In my school system they taught pre algebra in 7th grade (which could be considered part of algebra), algebra in 8th grade, and after that it was geometry, trig, pre-calc, and calc. That means 1 (2 if you count pre-alg) year of algebra.
And I grew up in Idaho, for heaven's sake. We're not the math capital of the world by any means.

Depends on what you mean by CS... (3, Insightful)

toppavak (943659) | more than 5 years ago | (#26219749)

I guess there's two ways to slice it: software development versus algorithms. I think it would be very easy (and in fact quite beneficial) for algorithm development to be integrated into existing math and science classes. Something like VPython could be a tremendous aid in helping physics students visualize vectors and how mechanics and EM problems "look". While the ability to compute (not only does it help you solve the problem, it helps you understand the nature of the problem as well!) is just as critical as the underlying problems it helps you solve (core sciences, math, etc), skills that are more commonly thought of as "software engineering" definitely belong in specialty classes and electives.

I say no. (3, Interesting)

chaossplintered (1164745) | more than 5 years ago | (#26219757)

I say no, and here's why: A lot of C.S. never made any sense to me, until I had a good grasp of language and mathematics. Knowing the state of American education, I'm guessing that means that the majority of kids will not be able to handle C.S. as a required course until they're well in to middle school, and most likely, a lot will not understand it until they're in high school.

(And yes, I know some people on Slashdot started coding when they were twelve. You're the exception to the rule.)

By that time, Computer Science is usually available as an elective, which is where I think it should be at. Making computer science an "integral"* part of American education seems like a nice idea. However, I doubt the practical application will yield anything useful, as most students will treat it as "just another subject", they have to grind through. The cynic in me says, "The majority of schools already fuck up Mathematics, Chemistry, Biology, and Psychics already, why should we give them another area to piss on?"

On the other hand, I'm all for expanding computer science as an elective.

*Does anyone know what they mean by "integral"? Every time I've heard the word "integral" in education, it usually translates in to "Required". If it's not required, I'm much more for the idea.

Re:I say no. (1)

chaossplintered (1164745) | more than 5 years ago | (#26219767)

Fuck me. That should say "Physics".

But then again, with the way my Physics teacher taught me, I might as well have been teaching me to by psychic. Would have made the same amount of sense to me.

Re:I say no. (5, Funny)

memristance (1285036) | more than 5 years ago | (#26219781)

*Does anyone know what they mean by "integral"? Every time I've heard the word "integral" in education, it usually translates in to "Required".

Calculus must have confused you to no end.

Re:I say no. (3, Insightful)

Delwin (599872) | more than 5 years ago | (#26219889)

Three year old children learn about Queues. It's called 'waiting in line'. They also lean about Resource Sharing (you did learn to share right?) and Binary Logic (True is not False).

There's no reason that can't be expanded upon to form the concept of Proof (Children finally getting answers to 'why?') and even Algorithms (You get green by mixing blue and yellow).

It's all there already - it just needs to be pointed out and used properly.

Re:I say no. (1)

chaossplintered (1164745) | more than 5 years ago | (#26219951)

That's true.

However, your last phrase is the one that worries me above all. "It just needs to be pointed out and used properly", is something I don't trust the Department of Education, or any public school, to be able to do.

I'm not saying that children are incapable of understanding certain parts of computer science. I'm saying that with the state of American education, I don't think the execution would go terribly well.

Look at the troubles we have with mathematics in this country. We learn the basic principles of math very early on, just like you mentioned learning about queues and resource sharing. However, the United States has relatively poor math skills. I fear the same would happen to C.S., especially if it's taught to a standardized test.

Quite simply... no. (1)

brendank310 (915634) | more than 5 years ago | (#26219763)

There ought to be a more diversity in the mathematics curricula that exist. Spending the first 8 years of mathematics on arithmetic is a waste of time. Too much emphasis is thrown on algebra and stupid concepts in geometry (shape names etc.) It's time to start teaching kids that there is more to mathematics than y=mx+b. Introduce them to boolean algebra. Why do all studies have to be of continuous time systems? There should be a survey class of different areas of mathematics, which doesn't emphasize the right answer per se, but emphasizes the right tools for the question.

A basic Introduction (1)

tagx (1202976) | more than 5 years ago | (#26219765)

Forcing advanced CS on students is bad, since most will hate it and it will probably pollute CS with unpassionate people. On the other hand, just introducing students to basic programming, maybe simple programs in basic or ruby, such as they do in biology or chemistry would introduce many kids to programming, and those that are passionate about it can continue with it.

Dear ACM, STOP. (5, Insightful)

Rinisari (521266) | more than 5 years ago | (#26219773)

Dear ACM and Computer Science Teachers Association, both of which I am a professional member,

STOP.

Please.

I know constitutional matters fairly well. I've got degrees in computer science and K-12 education. I see things from a younger yet informed, educated standpoint (I am in the first generation to be tested under the PA tests which satisfy No Child Left Behind).

Stop campaigning the federal government for educational things. The federal government has NOT been granted the right to deal with education in any way. Its current educational meddling in state-run schools should serve as evidence of this, and should be unconstitutional. Continued federal campaigning will only increase the amount of influence the federal government thinks it has and tries to have on public schools, an influence which is detrimental to the individual needs of students and the societal needs of their communities.

Instead, my dear ACM, please spend your time and money asking state departments of education, which move far, far quicker than the federal department of education, to include CS in curriculum. The federal department of education moves as a brontosaurus would, but the state department of education moves like a triceratops--still slow, but certainly quicker and more aware of its surroundings than a brontosaurus would be.

More effectively would be a grassroots campaign among ACM members to try to convince local school districts that CS needs to be included more in curriculum, especially in city and suburban districts where programming jobs are more available.

Asking the federal government to intervene is asking for something which will simply worsen the situation, and something which cannot be undone.

Re:Dear ACM, STOP. (5, Interesting)

cdw38 (1001587) | more than 5 years ago | (#26219877)

Thank you, thank you, thank you for tossing some common sense on this. The Department of Education is not only unconstitutional (and thus, illegal), it DOESN'T WORK. Schools should be accountable to local communities and parents, NOT federal government bureaucrats. Even better than state governments, the ACM should be petitioning city and county Boards of Education to possibly include a greater emphasis on computer science in K-12 education.

Re:Dear ACM, STOP. (-1, Troll)

Alex Belits (437) | more than 5 years ago | (#26219981)

Schools should be accountable to local communities

Aka religious cults in >>90% of US.

and parents

Aka inbred rednecks in >>90% of US.

Good luck getting your society fixed with those ideas, idiots.

Re:Dear ACM, STOP. (3, Insightful)

Dun Malg (230075) | more than 5 years ago | (#26220079)

Schools should be accountable to local communities

Aka religious cults in >>90% of US.

and parents

Aka inbred rednecks in >>90% of US.

Good luck getting your society fixed with those ideas, idiots.

Hate to break it to you, but the [jackasses|politicians] at the federal level are subject to that same "90%" ratio. When's the last time we had a president elected who didn't go to church and invoke the imaginary man in the sky? Feds are no less beholden to religious idiocy than the locals.

Re:Dear ACM, STOP. (1)

KarrdeSW (996917) | more than 5 years ago | (#26220099)

Do some research, the Department of Education has no mandates which are unconstitutional. I cannot speak to any specific policy which they may or may not have tried to enact, but the vast majority of their work is entirely legitimate federal territory.

The Dept. of Education:
1) Distributes federal aid funds and monitors their usage. This is how the federal government also influences curriculum. Certain things have to be taught in order to get federal money. There is nothing that says the federal government cannot make funding state issues conditional.
2) They collect data and conduct research on the status of the school system. Nothing says the federal government cannot review the national performance of the country's schools.
3) They serve as a national focal point for education. While people will of course look to their own state and local governments to tell them how their child's education is conducted, the department of education can definitely bring people's attention to inconsistencies among the states.
4) They do what they can to prohibit discrimination and ensure equal access to education. 14th Amendment says the federal government HAS to do this much.

None of this is especially meddlesome, it does not infringe upon your extremely obsolete notion of state autonomy.

Re:Dear ACM, STOP. (1)

Alex Belits (437) | more than 5 years ago | (#26219961)

Actually the fact that individual state governments handle public school is the root of the problem. No other civilized country runs its public school system by provincial governments (what States truly are -- if you disagree, I wish you good luck trying to reinstate slavery), and this is why US has the worst public school system among all developed countries.

Re:Dear ACM, STOP. (4, Interesting)

Progoth (98669) | more than 5 years ago | (#26220077)

You do realize that many of our states are the size of and have the population of most other countries?

You do realize how terrible the Federal government is here?

I'm guessing no, since you don't understand our system of federalism or that we're a constitutional republic or how our Constitution (with amendments) prevents states from reinstating slavery while still severely limiting the Feds' powers.

(/me looks up poster-with-very-low-ID's information)

Nope, you're a Russian in California. You have no idea how our (currently very broken) system of federal government is supposed to work, or how to get it back to a working state.

CS is the new chemistry... (1)

John Whitley (6067) | more than 5 years ago | (#26219777)

Is CS such a basic subject, at the level of science or math, that it makes sense to (try to) teach its principles to every elementary school child?

Yes, inasmuch as understanding the basics of algorithmics and computing provides foundation knowledge that impacts virtually all modern technology. Just as basic science classes serve to provide valuable insights into how the world and various technologies work, so can appropriately structured CS education.

We already teach basic algorithms in math classes, starting with long division. A lot of people (even teachers) have the gross misconception that the utility of long division is solely the result of dividing two numbers. Sadly, the "math is hard"[1] and "why bother, when we have calculators" contingents have been eliminating this important topic from classrooms for years now. But learning long division, i.e. the first algorithm, is a very important step for basic mathematical reasoning much less any CS topics.

[1] Damnable "reform math" proponents should be skewered then roasted on a spit.

Re:CS is the new chemistry... (2, Insightful)

pwinkeler (413102) | more than 5 years ago | (#26219817)

And here we go again: confusing math with arithmetic. Long division is basic arithmetic, not math. Math involves manipulating concepts, a far broader concept than just numbers.

That said I am interested in introducing a Computer Science curriculum starting in middle school but only insofar as it clearly calls out the notion of an algorithm. Way too much of today's middle and high school education allows kids to get away with doing well by simply being good at rote memorization: contrasting this with the notions of deduction and logic by being forced to capture them formally in an algorithm of sorts that can be followed by a computer introduces a level of rigor not otherwise enforceable.

Re:CS is the new chemistry... (0)

Anonymous Coward | more than 5 years ago | (#26219949)

1) Do you contend that arithmetic is a branch of math?
2) Do you contend that arithmetic is the first branch of math introduced in elementary schools?
3) Do you contend that division is part of arithmetic?
4) Do you contend that long division is an algorithm.

If you answer yes to all of the above questions, as I did, then the GP is correct (excluding some possible but slightly awkward scenarios).

Basics before programming (5, Insightful)

kudokatz (1110689) | more than 5 years ago | (#26219797)

I think "computer literacy" is more in order. In fact, just the other day I helped yet another person who didn't understand that documents written with a specific program didn't live exclusively inside that program. Understanding fundamentals like this are necessary to interact in a competent manner with computers, which are becoming a necessary tool for more and more fields.

Without these basics, "Computer Science" is somewhat hopeless; I would rather have these basics be required. One thing that needs to be improved is the ability for people inclined towards computer science ideas to be exposed to advanced concepts . . . but it should not be compulsory. I am a CS major, but had my first programming class my 2nd semester and thought I was really computer-savvy specifically because I knew that files were independent of the program that created them. However, I was interested in programming for a while before that and just never had the opportunity to explore it.

Re:Basics before programming (1)

Dun Malg (230075) | more than 5 years ago | (#26220107)

just the other day I helped yet another person who didn't understand that documents written with a specific program didn't live exclusively inside that program.... Without these basics, "Computer Science" is somewhat hopeless

Indeed. I wonder how they intend to teach CS to people who can't even grok how to "left click" when the mouse is in their right hand. The presumption that the only reason more people aren't CS majors is because no one ever "taught them about computers as a child" is complete idiocy. Most people aren't going to be computer scientists because they can't or don't want to learn it.

Why? (0, Troll)

Animats (122034) | more than 5 years ago | (#26219801)

The US only has about 26,000 real computer scientists. The number of programmers without a theory background is much higher. That in turn is dwarfed by the "information technology" people, "power users", and users generally.

So why should kids be forced to learn "computer science"? One could make a better case for teaching auto mechanics or machine shop skills.

Re:Why? (1)

Delwin (599872) | more than 5 years ago | (#26219901)

Why not send all children to a vocational school?

surprised (0)

Anonymous Coward | more than 5 years ago | (#26219813)

no mentioned counter strike yet?

Great Dogma (1)

unlametheweak (1102159) | more than 5 years ago | (#26219815)

Computer Science infers freedom of experimentation and exploration. I cannot foresee the US school system giving its students freedom in this regard. Chemistry students were certainly hit hard after 9/11, and the free use of computers to actually learn (as opposed to being spoon fed the government mantra) will be a great dogma for political slogans, but nothing more.

Maths! (0)

Anonymous Coward | more than 5 years ago | (#26219859)

Computer Science (at least, to me) is basically an extension of maths. Perhaps we should be teaching more maths and perhaps a little more philosophy (the logic side of it at least)

CS? (2, Funny)

nomadic (141991) | more than 5 years ago | (#26219873)

Counter-strike?

CS is worthless to middle school (1)

timmarhy (659436) | more than 5 years ago | (#26219879)

the thing is, solid maths skills are an important foundation to CS anyway. a high level of maths and english are all someone needs to do well in every other field. the education system needs to stop trying to be a jack of all trades, and leave the specialization up to tertiary level organisations.

For the exercise in logic, yes (1)

Sarusa (104047) | more than 5 years ago | (#26219881)

I'm not sure how useful it is to have the federal government mandating this. But in general, yes, I think it would be useful to teach CS at a K-12 level.

The big thing CS teaches you that most people don't 'get' is:

    if (and only if) A then B

That seems like such a simple thing to a programmer (or certain other professions), but most people don't grasp this, and it's a key to any intelligent decision making. We don't really teach logic in school any more except as a math byproduct, so the programming would actually be secondary to learning this (but wouldn't hurt).

Don't shift focus (1)

RyoShin (610051) | more than 5 years ago | (#26219887)

While I wouldn't be against adding a bit more CS into education (especially at the upper levels, though voluntary stuff), there's enough wrong with the current educational system that the focus should be on fixing it rather than adding to it (excepting where "fixing" involves "adding", such as bringing certain classes up to modern times).

When we get to a point where we can have the ability to dream about CS in HS, the focus should be less on "let's type letters in a computer!" and more on things like logic diagrams or UML. While it won't give them any "real world" skills, it will allow them to better understand logic structures (and hopefully expand their mind a bit in the process), so that if they do choose to explore computers more they'll have a better understanding.

Having a required class where the kids learn C/C++/Visual Basic will just bore 95% of everyone and be a complete waste.

(Should fixing the system involve just rebooting the whole damn thing, a view I hold, then I'm all for looking to include a bit more CS in the curriculum. While we're at it, let's get a little more philosophy, psychology, and foreign culture (not just language!) in there, too.)

Civilization Upgrade (1)

DigitalisAkujin (846133) | more than 5 years ago | (#26219955)

The move to teach CS to kids in a real way will make it so that at least every high school educated person would be able to understand computing on some low level. Since computers will never stop being ubiquities in the daily lives of so many people from now on it only makes sense that we as a civilization choose to make sure most of the people in the world can understand computing.

With the amount of work now done on computers or daily life interaction with business, entertainment, and law it only makes sense to make sure everyone at least has an opportunity to learn it.

Sign me up as another no (1)

NotSoHeavyD3 (1400425) | more than 5 years ago | (#26219971)

Hell, I've got a degree in CS and really I only studied it by mistake since I confused it with Software Engineering. (Honestly alot of CS isn't even about computers, it's about information and if it can be processed, when can it be processed and how efficiently.)

Why the bias towards violent 1st-person shooters? (1)

mysidia (191772) | more than 5 years ago | (#26220023)

They should be plugging SC (Starcraft) as well as CS.

No, CS is neither fundamental nor essential (1)

davidwr (791652) | more than 5 years ago | (#26220027)

Computer science is not a fundamental subject.

But it shares fundamentals with many other subjects, including writing, design, logical thinking, creative thinking, and the list goes on.

These can be taught in a variety of ways, with or without a computer, without without learning about computers.

Computer literacy is something else entirely, and that is a fundamental skill in the early 21st century. Every student needs to know how to use a computer, use the Internet for communication, research, and collaboration, use standard "office" type products at at least a layman's level, etc. etc. but that's not computer science.

Programming, robot design, circuit design, and the like should be offered as high school electives and, where funding permits and demand exists, electives at lower levels. Where they are offered, they can teach the fundamental principles listed above. Where they are not offered, other courses can teach the same principles.

Re:No, CS is neither fundamental nor essential (1)

Rod Beauvex (832040) | more than 5 years ago | (#26220093)

And not just how to plageurise Wikipedia.

Some of CS has its place (1)

grilled-cheese (889107) | more than 5 years ago | (#26220071)

After just graduating from a 4 year liberal arts institution, I believe some of the material in a standard CS degree can be taught to younger children and highschoolers. For instance, you can teach younger children logic and problem solving skills by teaching a basic programming language. It would also be useful to teach upper-classmen things like basic algorithms and object-oriented design. There are some aspects you would have a difficult time teaching in many cases, such as algorithm time complexity, extreme low level programming, or theoretical computation.

I don't see this as an attainable goal for the ACM to go after. Teachers just arn't equipped to teach this kind of material right now. The technology basis for CS was in its infancy and not generally accessible by the masses during the education of many of the teachers out there now. Also the recent graduates coming out of universities often only know how to use technology, not teach CS concepts. If this goes through CS teachers will join the ranks of chemistry, physics, calculus, and algebra teachers in shortage.

Bad idea (2, Insightful)

macraig (621737) | more than 5 years ago | (#26220087)

The first twelve grades should be devoted to communication skills, history, natural sciences, and the like. You know, the real basics in which our high school grads are already demonstrably deficient. How exactly will mandating CS at these grades do anything to produce more functional citizens? We might get a wonderful crop of idiot savants, but is that what we really need? If a given student has a distinct attraction to CS, they will naturally pursue it outside of the classroom.

Even the ACM counts as a "special interest group" that has "lobbyists", and here they are trying to push their own agenda to the exclusion of more important things.

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?