Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Education Government Politics

ACM Urges Obama To Include CS In K-12 Core 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?
This discussion has been archived. No new comments can be posted.

ACM Urges Obama To Include CS In K-12 Core

Comments Filter:
  • Robots! (Score:2, Interesting)

    by Anonymous Coward on Wednesday December 24, 2008 @12:19AM (#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!
  • Absolutely! (Score:1, Interesting)

    by malkir ( 1031750 ) on Wednesday December 24, 2008 @12:23AM (#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

  • by tomhudson ( 43916 ) <barbara,hudson&barbara-hudson,com> on Wednesday December 24, 2008 @12:28AM (#26219695) Journal

    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?

  • I say no. (Score:3, Interesting)

    by chaossplintered ( 1164745 ) on Wednesday December 24, 2008 @12:35AM (#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.

  • by KanshuShintai ( 694567 ) on Wednesday December 24, 2008 @12:45AM (#26219795) Homepage

    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.

  • by Gnea ( 2566 ) on Wednesday December 24, 2008 @12:53AM (#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.

  • by Delwin ( 599872 ) * on Wednesday December 24, 2008 @12:57AM (#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:Dear ACM, STOP. (Score:5, Interesting)

    by cdw38 ( 1001587 ) on Wednesday December 24, 2008 @01:01AM (#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.
  • by Hojima ( 1228978 ) on Wednesday December 24, 2008 @01:06AM (#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:Yes! (Score:4, Interesting)

    by mysidia ( 191772 ) on Wednesday December 24, 2008 @01:07AM (#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

  • by Eli Gottlieb ( 917758 ) <eligottlieb@noSpAm.gmail.com> on Wednesday December 24, 2008 @01:24AM (#26220003) Homepage Journal

    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:Most definitely.. (Score:3, Interesting)

    by Almahtar ( 991773 ) on Wednesday December 24, 2008 @01:28AM (#26220025) Journal
    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.
  • Re:Dear ACM, STOP. (Score:5, Interesting)

    by Progoth ( 98669 ) on Wednesday December 24, 2008 @01:39AM (#26220077) Homepage

    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.

  • by tirerim ( 1108567 ) on Wednesday December 24, 2008 @01:41AM (#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.
  • by lysergic.acid ( 845423 ) on Wednesday December 24, 2008 @02:16AM (#26220279) Homepage

    i think it's definitely time for the public education system to update its K-12 curriculum. personally i'd also add philosophy/logic/ethics to middle school and high school curricula, but that's a discussion for another day.

    regarding CS being added to math and science education, i think that's a pretty good approach. when i was a student (jr. high and high school) all of our math text books had little extra credit assignments at the end of each chapter that outlined how to implement the newly taught concepts in a BASIC program. usually it just gave you the source code outright and recommended that students try it out themselves. however, i don't think any of my math teachers knew how to program, so we never even looked at those code examples.

    i think CS is one way to enrich existing curricula in addition to teach new and useful computer skills to students. students may find parametric equations boring because they can't see any immediate applications, but if students are given the task of using these equations in a computer program, then they might start seeing more practical uses of the material.

    and while i think instructors should be qualified and well-trained, i would agree that sometimes having the instructor learn alongside students can benefit both the teacher and the student. i've always found tutoring others to be a great way of learning new material and making sure you have a solid grasp of the subject. so even if teachers aren't familiar with computer science right now, integrating CS into math and science classes will definitely force those teachers to become familiar with CS.

    my biggest fear is that educators will underestimate students and will try to dilute the material. i've always found that programming becomes more interesting/fun as you move on to more advanced topics. likewise, the easiest programming classes are also the dullest. and, quite frankly, most high school students are probably more tech-savvy than their teachers. so if classes are taught at too slow a pace for students (like still having students use training-wheel languages like Logo or BASIC in high school) then you run the risk of their losing interest in CS.

    in that respect, i think it's best to also have dedicated Computer Science classes on the side that are taught by knowledgeable instructors who have a minor in CS at the very least. i would love to see high school students tackling assignments or group projects like image processing, data encryption, socket programming, simple AI, etc. it'd certainly be funner for the kids than 12 years of "Hello World!" and ASCII graphics.

  • by Atario ( 673917 ) on Wednesday December 24, 2008 @02:51AM (#26220449) Homepage

    There's pretty strong evidence [codinghorror.com] that the ability to program is more or less in you or not, and that training won't change that. If we want to start teaching programming to as many people as possible, we should begin with a simple screening test (as in the link) and exempt anyone who doesn't pass. To do otherwise will no doubt result in massively widespread, deep-seated hatred/disdain for programming (and maybe programmers).

  • by Luke has no name ( 1423139 ) <foxNO@SPAMcyberfoxfire.com> on Wednesday December 24, 2008 @03:11AM (#26220555)
    78% reduced/free lunch

    Good luck getting the laziness out of that. It seems the people born into those situations have no work ethic. There are few examples of role models, and if there are, the role models are more likely to be shunned as 'bitches for the man' or some equally stupid thing.

    Many of those people are bred expecting things to be given to them. They don't even comprehend the idea that they should work for what they get instead of sucking the government's tit.

    Good luck on your endeavors. College students do care a bit more than others. If you teach CS at a college level, use ACM's breadth first method for intro courses. PLEASE.
  • by FrankieBaby1986 ( 1035596 ) on Wednesday December 24, 2008 @03:27AM (#26220625)

    1-2 hours worth of work every night, every test is "closed book", every quiz is unannounced, and there's no such thing as extra credit. You should hear the crying of unfairness and cruelty. (The funny thing is for the 4 years I've been at my school, my AP class has had the highest passing rate of all AP courses taught at our school.)

    Now this is why you are precisely the kind of teacher I dislike the most. The one who thinks their class is the only one that matters.

    Do you honestly think that after being in school from 8am to 3pm (7 hours) students should be expected to study an additional 6-12 hours? (1-2 hours per subject). This is ridiculous, as no person, let alone child has that kind of attention span or time (12-19 hours).

    It is my humble opinion that the majority of 'textbook' learning should be done at school, and afterwards, the students need time to learn to play, interact, and learn responsibilities besides that of doing their homework.

    I have also felt that many students would benefit from having more time focused on them, and so small group learning should be the norm, not 25-40 students in a classroom for a lecture. It is not the amount of time spent learning or the hours of homework spent, but the quality and efficiency that matters. We need to increase the number of teachers per student-perhaps 1 student per 6 kids. This would have to be accomplished likely by trained volunteers or less-qualified Teacher Assistants and one teacher.

    However, I do strongly agree that there has been a softening in standards across the board, and that students expect to be coddled more. But I do think that the expectations on students are higher. There is simply much more to have to learn and know on a daily basis.

    It is no longer the three R's (readin', 'ritin' and 'rithmatic) Now we have Social Studies, Health, Computer Science, Cooking, English, Spanish, Gym class, and on top of that students are expected to perform 50 hours of community service a year and after school activities and boy/girlscouts and have a part-time job when they reach 15 or 16.

    What ever happened to bein' a kid?
    Education is going to need to be revamped in a big way.

  • by zappepcs ( 820751 ) on Wednesday December 24, 2008 @04:58AM (#26221027) Journal

    A good philosophy, but not one held by educators, thus my point. Such a high minded philosophy is good, but not many will live up to it... ever.

    Computer science is arguably not science. It's just using tools and/or inventing new tools. It's not dissimilar from information science, or construction science.

    Don't get me wrong, I wish all educators held your opinion.

  • CS != programming (Score:3, Interesting)

    by zenyu ( 248067 ) on Wednesday December 24, 2008 @09:56AM (#26222559)

    You don't teach 1st graders Pascal, you teach them about the difference between a queue and stack. Then you teach them different sorting algorithm which they execute with their hands on wood blocks. And then in later grades you teach them logic and show them how a CPU could do multiplication like they have been taught and how it really does multiplication, then you ask them to rewrite the real algorithm for base-10 and award an Android phone to the kid whose multiplication speed has improved the largest percentage at the end of the week since the last standardized test.

  • by sleigher ( 961421 ) on Wednesday December 24, 2008 @11:04AM (#26223143)
    Maybe not, but teaching them to think about problems in a logical way is never a bad idea. I think in elementary and middle school the ideas and methods around computer science could definitely help them later in life. Wait until high school to teach them a language. What do we teach them now? How to open word on a mac? Teaching kids logic and problem solving as it pertains to a computer system will only help them later.
  • by cellocgw ( 617879 ) <cellocgw.gmail@com> on Wednesday December 24, 2008 @11:35AM (#26223433) Journal

    Here's a couple radical ideas ~_*
    Keep letting elementary school kids play w/ Logo. Those who are hooked will quickly move all by themselves to other programming languages.
    Expose kids at all levels to things like phun [phunland.com] .
    And most important: ban use of PowerPoint in all schools at all levels. 'nuff said on that one.

    As others have posted, learning to design algorithms is useful; learning any specific programming language is far less so. I'd go so far as to suggest that the rules laid down in Geometry class may be of great use for budding programmers. Geo students are (or at least they are in the Honors levels) taught to write down every step in the proof, along with a justification (theorem, definition, etc) for each step. That's the first lesson in algorithm development.

  • by 644bd346996 ( 1012333 ) on Wednesday December 24, 2008 @02:05PM (#26224569)

    High school makes people act like idiots. In other (less opressive) environments, most kids seem a lot smarter and more educable.

    As for your anecdotal evidence concerning friends who had taken Calculus, any mathematician or computer scientist can tell you that success in Calculus is not at all a predictor of success in formal discrete mathematics. That's not news, and I don't think that anybody is trying to say it isn't true.

    If you look at how universities teach their undergrad math majors these days, a lot of them include a transition class that comes during or after the basic calculus classes. The purpose of such a class is to teach students set theory, logic, induction, and other tools of formal math before sending them on to analysis or abstract algebra. If you look at what kind of math those classes use to teach formal methods, you'll realize that the prerequisite knowledge is actually just plain old algebra, which a lot of students get in middle school these days. Math departments have known for decades that they can't expect high school graduates to know any of the basics of math. Hence the mandatory remedial classes. Without them, it's hit-or-miss as to whether any given student will be able to pick up formal techniques as they struggle through the first few weeks of analysis.

    The ACM clearly recognizes that much of the above applies to computer science as well. If you try to teach programming to students that have had no introduction to discrete math, lots of them will flunk out not due to lack of ability but lack of experience. In effect, the way most universities teach CS weeds out all but those who teach themselves the most important bits.

He has not acquired a fortune; the fortune has acquired him. -- Bion

Working...