ACM Urges Obama To Include CS In K-12 Core
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?
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, 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.
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.
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.
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.
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.
Help fight spam
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
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.".
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.
There's pretty strong evidence 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).
"A great democracy must be progressive or it will soon cease to be a great democracy." --Theodore Roosevelt
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.
ERROR: SIG NOT FOUND (A)bort, (R)etry, (F)ail?: