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?
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?
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...
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
*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.
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
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.
Fortunately for me, I don't think very fast.
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
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
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?
Good, inexpensive web hosting
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.
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
They can't learn what they can't follow, either. Knuth isn't written as a primer, it's written as a reference work for professionals and advanced students.
Good, inexpensive web hosting
teaching philosophy in middle school is no more unrealistic than teaching chemistry or biology in middle school, which is pretty much standard here in California. a 14-year-old is fully capable of grasping informal fallacies or the difference between kantianism and utilitarianism. and unlike learning about meiosis and mitosis, the rules of logic have very practical uses in the pursuit of knowledge by helping students distinguish truth from fallacy. being familiar with basic rules of logic also means students won't be so easily manipulated or misled by blatant sophistry--something which has great societal benefits.
and why is it so hard for you to reconcile teaching non-trivial programming with high school? perhaps if our school system weren't in a habit of always selling students short, you wouldn't have such a dim view of high school students. setting low standards is a sure-fire way of guarantying low performance.
throughout much of my K-12 education i was involved with mentorship & peer-tutoring programs. most of the students i worked with in high school were in ordinary prep classes or even remedial classes. my experiences have taught me that using the right teaching methods, almost any student can far exceed most people's expectations. even most kids in remedial classes aren't inherently stupid. and quite often the only difference between an honors/AP student and a college prep student is simply better motivation and more self-confidence--which is usually instilled into a child at a young age.
the genius myth has been thoroughly & repeatedly debunked by educational and developmental psychologists. studies show that giving a child a head start--whether in school or sports--early on gives them the lead they need to develop more self-confidence and become more self-motivated, which in turn causes them to practice more than their peers, turning their small lead into a huge skill disparity by the time they're in their 20's. so it reasons that setting higher expectations for students in middle school will cause them to become more accustomed to meeting higher academic standards later on.
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.
TAOCP? Computer Org? Are you kidding? I'm a 3rd year CS student, and most people who went to my high school, probably including myself, could never get through ten pages of Knuth. The math background to start out with theory just isn't in place in high school, where the highest level math class available was entry-level Calculus. I learned C++ on my own in middle school without ever having heard of "Discrete Math", and learned Java in high school before I even knew what a register was. But once I knew how the high level stuff worked, I could then delve deeper into another level and learn a little more, and then a little more. You have to learn incrementally, not by starting a HIGH SCHOOL kid with the hardest (albeit "fundamental") stuff and working your way from there. That's like learning trig simply by giving the students a bunch of proofs to look at before they know how the mechanics work.