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?
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.
I'd rather see something more abstract like symbolic logic classes rather than programming classes.
No sig for you!!
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?
"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.
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.
Why bother? Computer Science is just applied Mathematics...
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, 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.
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.
Colin Dean Go a year without DRM
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.
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.
Why yes, I AM a rocket scientist!
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.
Comment removed based on user account deletion
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.
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.
Fortunately for me, I don't think very fast.
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.
"Slashdot, where telling the truth is overrated but lying is insightful."
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 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, don't you, that we're talking about K-12 here, not college?
They can't learn until they can think. Knuth is a good start on that.
They used to teach a lot of things in elementary school that people these days think are college level: grammar, spelling, latin, greek, algebra, basic chemistry, debate, logic.
I'd give that list a 10 points out of 10. Nicely done.
Help stamp out iliturcy.
I agree - up to a point. I don't agree that schools are all doing a miserable job. You know the phrase "garbage in, garbage out"? It really does apply to K-12 students.
I've taught 10th-12th grade for 4 years now at an inner-city style school (59% minority rate, 78% free/reduced lunch), over a variety of Math/CS subjects, including Precalculus, AP Calculus, Honors Physics, and AP Computer Science. You'd think I would have the top of the stack, the elite students, if you will. If I do, it demonstrates the problem with some U.S. Science & Math students in the 21st century: the students at some schools (at least mine) have no desire to put in the effort required to master a difficult subject.
Students are looking for classes they can pad their schedule with that look good on college transcripts, but which require very little work. If it's an AP class, they want the AP teacher that gives out extra credit like candy, assigns 3-5 problems a night for homework, and gives "open book" tests.
I came from a tougher school of thought, so in return I expect work from my students; I assign 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.)
My AP Comp. Sci. course, for 3 years in a row, was filled with ambitious MySpace, Facebook, or other "texters" who thought a CS course was going to be something where we sat around all day and wrote the next "How L33T are you?" quiz. Some thought we'd be writing the next Line Rider game the 1st class. When I tried to get them to understand OOP, or to think of what a Model & View architecture really meant, it blew their minds. A simple assignment (almost pointless, but done anyway to try to get something out of them) of picking an everyday real life object and writing down all of the things it's made of and things it can do, netted me about 20 papers all describing a pencil as being made of lead, eraser, and plastic, which can write and erase. Deep stuff.
You should have seen how well they handled writing a simple "Guess a number" game. Basic IF structures (logic) completely eluded them.
It's not their math skills that was hurting them (although you'd be scared to see how many AP Calculus students I routinely teach who can't grasp working with reciprocals or fractions in general work) - it was their inability or lack of desire to employ critical thinking skills. If it wasn't something that could be put on the back of an index card (to cram the night before) or typed into their cell phones (to cheat from the day of the test), they wouldn't do it.
We have to get past that laziness, that lack of work/study ethic, in K-12 education before we tack on anything else. CS, done well, cannot be learned in any meaningful fashion if there's no desire to use reasoning, deductive logic, or problem solving skills.
I pray it's not this bad at other K-12 institutions around the country, but I'm fearful that it's the same everywhere. It's the chief reason I'm pressing onward with my MA or MS to get my foot into the door of college teaching. I know you still get your share of lazy students there as well, but they might just want to work hard and pay attention, and I won't feel like I'm just spinning my wheels every day I try to teach another young mind. And I'm fully aware that I'm not helping the problem, if I'm even able to, by "bailing" on the K-12 arena, but there comes a point when your work begins to feel like an ice-cream salesman standing in Fairbanks, Alaska.....you just have to move your stand to somewhere you can get something done.
P.S. This year the county canceled my AP Comp. Sci. class and rolled my BC Calculus course into my AP Calculus course as an "independent study". Due to budget cuts, having 12 or less students means the class gets folded. So much for even the wannabe texters...
Londovir
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?:
NO!!! I like the ACM, but this is totally WRONG.
Rant 1:
Bring MATH up to par with other nations. Its acceptable for me to say "I can't do math" but I dare not admit "I can't read" or "I can't do english." Its cultural as well as systematic.
The US students have mental blocks on math (NEVER mention math,) they don't understand the use of experimentation, and have been shuffling paperwork and jumping thru tutorials for so long they are shocked when I get my hands on them... Their demands for the old-school methods have resulted in the degradation of other courses over the long term (a few like myself hold out against the trend - its not just the natural understanding gap increasing between instructor and student that makes me see a downward trend.)
I've seen inner city schools doing things ONLINE that create disadvantages for poor students without internet or computer access. If you really want to help, get kids access to a safe internet and a computer that facilitates exploration and experimentation.
Philosophy of Science would be widely useful. Actually, Critical Thinking -- one could fit in Science, Logic, and even some Ethics into that class.
Rant 2:
The computer is just a tool for teaching things that is completely misunderstood and under utilized while at the same time being thoughtlessly applied to education without any supporting evidence for its educational benefits!
The only real work on computers for actual learning that I've seen was done in the 80s and early 90s with LOGO, MECC, and Carmen Sandiego. These all tried alternative methods to use the computer as a tool to teach or build critical thinking skills... NOT teach CS. (Yes, LOGO did do everything.) More RESEARCH based tools should be encouraged like the brain-research that led to EyeQ or Nintendo's Brain Age. Speed reading would seriously change lives.
I've seen girls learn to type fast on their cell phones. They don't need a cell phone typing course to do that. They shouldn't be required to WASTE time learning typing on a computer when they will eventually figure that out. This is a great example of how misused computers in schools are (not to mention the waste of typing-only computer labs when 100 year old typewriters would suffice.)
Rant 3:
Bigger areas are being ignored. they are more important.
Creativity is a whole other area sorely lacking; my mother is an art teacher and the stories she tells sound like we are entering an age of mindless consumer drones. Studies have always shown that right-brained classes like art resulted in better scores in the left-brained classes... Until they wreck these courses (and for 8 years boy they have been trying) those courses will continue exist. I would HATE to see right-brained courses be replaced with more left-brained courses.
BTW: Einstein played an instrument.
Promotion of curiosity wouldn't hurt either... Some form of Omnibus course wouldn't be a bad idea; especially, if it helped find interests that could be leveraged in less interesting courses.
How about Business? Accounting? People can't manage their own credit cards and its pathetic. Nobody learns how to do taxes or run a business... and the LAW or even the constitution-- forget it...
Rant 4:
Students are institutionalized to memorize and do tutorials. Programming problems without example code is a huge break from the mundane norm of the current educational system; however, instead of jolting students with something new to make up for a degraded system (not that the US system was that much better in the past) why don't we improve the existing subjects to be more engaging? I managed to ace 3 years of spanish without learning any spanish! It was the perfect example of the path of the current system.
I DO think learning C++ should count as a foreign language. Would be a better use of time for most students; for all the reasons the ACM states. (If one must learn a language thinking it helps your english then why not learn latin then?)
Rant 5:
Obam
Democracy Now! - uncensored, anti-establishment news
From the abstract of the referenced paper:
All teachers of programming find that their results display a 'double hump'.
"pretty strong evidence" my ass. First, any claim that this test identifies "innate" ability is nonsense. There's no part of the associated studies which even approaches a "nature" vs "nurture" type result. First clue of no real results: ZERO application of statistical analysis in the paper. This submission would be a big laugh to any serious social sciences forum. A population split is claimed, and a proposed test to identify that split is presented. No claim as to why that split exists is made. (If it exists! The paper far from proves that.)
For example, that data (if correctly gathered, is statistically meaningful, etc.) might simply reference the quality of the mathematics education the students received well prior to taking this CS class. If that were the case, it'd be VERY STRONG reinforcement for the ACM's case. Likewise, such a test might then indicate required remediation for students rather than kicking them out of CS entirely.
E.g. did the students have to really learn long division in school? That's their first exposure to a rigorous CS-style algorithm. How was the student's algebra education? That's the introduction to the abstraction of variables. The computer scientist who doesn't deeply grok abstraction gets precisely nowhere. The list goes on. These are core skills which allow a student to find success in CS work. These can be likened to the "literacy" requirements to comprehend Computer Science topics... are we simply producing "illiterate" students? We don't yet know, and this work, while stimulating, doesn't provide any answers.
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'm a high school teacher in a country where homework amounts like the GP's are commonplace - Japan. My students are often at school 8am-5pm. They then study more at home, several hours a day. Most go to cram school 1-2 times a week.
They aren't much better off academically for it, on the whole, I'll say. They're known to sleep through classes because they were up too late the night before studying. They can't concentrate that hard that long. It's just not possible.
On top of that, it takes a huge toll on their social development - I have 18 year olds telling me that they wish they could date, but they don't have time for it yet, maybe in college - and it's easy to see that there's a cost without any real measurable benefit.
There are some serious problems with most all educational systems, and from my experience, adding more criteria to test them on is going the wrong way.