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?
Robots! (Score:2, Interesting)
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
Re:Robots! (Score:5, Insightful)
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! (Score:5, Funny)
Fortunately for me, I don't think very fast.
Re: (Score:3, Insightful)
Not a bad way to be!
Yes! (Score:3, Funny)
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! (Score:5, Interesting)
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! (Score:5, Insightful)
Re:Yes! Absolutely not! (Score:4, Interesting)
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).
Re:Yes! Absolutely not! (Score:5, Insightful)
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.
Re: (Score:3, Interesting)
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
Re:Yes! Absolutely not! Wait, what? (Score:2, Interesting)
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 le
Re:Yes! Absolutely not! (Score:4, Insightful)
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! (Score:5, Interesting)
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: (Score:3, Interesting)
Absolutely not! (Score:5, Insightful)
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
Re:Absolutely not! (Score:4, Insightful)
> 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.)
My father, who has been working with computers for over 20 years, 'figured out' how to type. He still types with two fingers. I was taught typing at school, use ten fingers and don't have to look at my keyboard (which is a great advantage since I tought myself dvorak on a qwerty keyboard some time ago...*) and I am way faster than he is. Because he can type 'fast enough' there isn't much motivation to learn how to type properly, however had someone taught him to touch type waaaaay back he would easily be twice as fast.
Cell phones are different because the most obvious way to type is also the 'correct' way to do it. Not so much for keyboards, where 'hunt and peck' is the technique most people use when first confronted with a keyboard. I wholeheartedly support 'forcing' touch-typing on those poor students. They'll thank me later.
* Yes I tought myself how to type dvorak but this was AFTER I learned to touch-type qwerty, and knowing the advantages I chose to learn how to type correctly.
FYI (Score:3, Insightful)
1) Oregon Trail. Famous government designed video game that taught prioritization and long term planning to kids. (it was sold to private industry where it died a slow death; educational software is not that profitable and provides little benefit when its privately run and designed. I'm merely stating history.)
2) Lemonade Stand. free game on Apple ][. Teaches K-3 level business concepts. I believe it resurfaced about 5 years ago as a turn-based drug dealing business game. I forget the name of it.
Anyhow, stu
Re:Yes! Absolutely not! (Score:5, Insightful)
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...
Re:Yes! Absolutely not! (Score:5, Interesting)
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.
Re: (Score:3, Informative)
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
Re: (Score:3, Insightful)
I'm with you on everything except for the 1-2 hours of homework a night.
Any student who actually does care is taking 6-7 courses in a year. If everyone follows your philosophy they're staring down 6-12 hours of homework after completing a 7 hour day that includes another .5 to 1 hour commuting. So your kids are down to 4 hours of sleep assuming that they don't bother eating or showering.
I don't buy any of the crap other people are saying about "letting kids be kids," but you do need to assign something that
Comment removed (Score:5, Insightful)
Re: (Score:3, Informative)
I think it's hard to grasp because "teachers" (books, etc.) all start at too high of a level. If you started kids out on the basics of binary, how that relates to digits and go from there, you might actually make some inroads to CS in lower education. I never really "got" programming until I sat down with an assembler book out of curiosity. The first few sections talked about why and how it all works. I had a general idea before, but it was all kind of hazy from previous books that would dare not touch
Re:Yes! (Score:5, Funny)
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! (Score:4, Funny)
No, the English majors say "Do you want fries with that?"
They may not be going far but at least when they get there they can spell words properly!
Re:Yes! (Score:4, Interesting)
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: (Score:2)
Nonsense. Monkey see, monkey do is enough for most people.
CS will end up = programming (Score:5, Insightful)
I'd rather see something more abstract like symbolic logic classes rather than programming classes.
Re:CS will end up = programming (Score:5, Interesting)
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 (Score:5, Interesting)
Re: (Score:2)
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: (Score:2)
Re: (Score:2)
CS != programming (Score:3, Interesting)
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 per
Re:CS will end up = programming (Score:4, Informative)
But I do understand what you mean, and as a science person I agree, at least in part. Math is just one of the many languages we use to describe the world. So, like other language classes, it is important to use it to describe the world, just like one would use in a english, french, spanish, or latin class. The same goes for computers. It is just one of many ways we model the world.
The issue comes in if the student does not have an understanding of these concepts. It is all well and good for me to talk about going to the store to buy stuff, or creating linear equation using patterns of blocks, or non linear equation using the multiplication tables. These things are taught all though grade school. But how am I going to use the incline plane for a trigonometric function is the student was not given the experience in science lab to create and interpret the models. I don't have time in math class, and not all the students are going to have the experience outside of the classroom.
Likewise, it would be very difficult for me to take a class in and have them make graphs on graphviz(for instance, who knows who in the class) if they never had a class to teach them about computers. I would spend all my time introducing them to the computer, and trying to keep them off facebook, because computer time is too valuable to some of them to waste it on lessons. If they do not have a class to play on the computer, like if they do not have a class to play science, then they will not do it maths class.
Which applies to logic as well. There are many good resources for logic. Web pages that create truth table, karnaugh maps, allow you to draw circuits and test them. It would be wonderful to have a month to teach logic using these techniques, maybe even build the circuit to show how a story can be rendered with 74xx or GAL or similar technology. But it the kids never played with such tech in science class, never was trained to use the computer as a tool, not a toy, such effort would be fruitless. The novelty of the computer would overwhelm the topic to be taught.
From my experience, things must be taught separately, in chunks. Sure at the college level you can assume that the kid will learn the tech on their own time, and if not, who cares. The school has the money, it won't be refunded, and the prof still has the tenure track. But in secondary education, the drop rate matters a lot, especially since the realistic number is about 50%. So we can't always assume that tech will be learned, or that tech won't be a distraction. I would argue any kid that does not type by 9th grade, does not have a CS course by 12th grade, and has never had drafting is no more educated than a kid who never had visual art or was never forced to read that 18th century novel crap. It may not be for everyone, and lots of people just want in direct form, not that boring project based learning, but everyone should have it to be educated.
Re: (Score:2)
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 (Score:4, Insightful)
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: (Score:2)
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 th
Re: (Score:2)
A year of just logic puzzles would go a long way towards recovering our education system.
No, it's not too early (Score:2)
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 proble
Re: (Score:2)
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. (Score:2)
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 pers
Re: (Score:2)
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 minute
About time! (Score:2)
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.
Comment removed (Score:4, Insightful)
IT industry dejavu (Score:3, Insightful)
"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.
Most definitely.. (Score:2)
Re: (Score:3, Interesting)
Math teaching should be restructured (Score:5, Insightful)
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 (Score:4, Funny)
It is pretty basic ideas (Score:2, Insightful)
Re: (Score:2)
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... (Score:4, Insightful)
I say no. (Score:3, Interesting)
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. (Score:5, Funny)
*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. (Score:4, Insightful)
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.
Dear ACM, STOP. (Score:5, Insightful)
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. (Score:5, Interesting)
Re: (Score:3)
My impression of the parent:
<fingers-in-ears> La la la la la I can't hear you! </fingers-in-ears>
Re:Dear ACM, STOP. (Score:4, Insightful)
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: (Score:3, Insightful)
With the amount of funds that the federal government takes, this isn't a realistic way of looking at it. It would make a lot more sense if the states that opted-out got their citizens out of a chunk of taxes (that could then be collected at the state level to
Re: (Score:2)
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. (Score:5, Interesting)
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.
Re: (Score:3, Insightful)
The abuse of the "general welfare clause" to mean that the Federal government can do whatever it wants is a fairly recent perversion of the Constitution, and blame for that can be laid at the feet of FDR, probably the worst president we ever had. Just about every mess we're in can be tied back to his bullshit.
The original intent is that Congress can spend money on things that we need to fulfill their duties under the enumerated powers. It wasn't meant to give the Federal government carte blanche to do wha
CS is the new chemistry... (Score:2)
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 div
Re: (Score:2, Insightful)
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 n
Basics before programming (Score:5, Insightful)
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.
Great Dogma (Score:2)
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.
CS? (Score:3, Funny)
For the exercise in logic, yes (Score:2)
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 program
Don't shift focus (Score:2)
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
Civilization Upgrade (Score:2)
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 sen
Bad idea (Score:3, Insightful)
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.
What should and shouldn't be taught (Score:3, Interesting)
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.
Yeah, Um... (Score:3, Insightful)
Sure, as long as it's "principles", not product (Score:3, Insightful)
As someone closely associated with post secondary education, who has seen "computer science" curriculum at the community college level devolving into either Microsoft® or Cisco® application classes at the behest of Those-Who-Don't-Know-Better, I am leery of any effort, no matter how well intentioned, to add anything to a system already overburdened, underfunded, and saddled with failed standardized testing mandates.
The temptation to go from teaching that Copy/Paste is basic and accessible in all operating systems, to "This is a Wizard®, just click here" in order to keep test scores at acceptable levels would be too much for most public school administrators.
The ACM would do well to formulate a curriculum on its own that generates excitement in students, place it in select schools and get other schools to adopt it after results were shown.
Anything else smacks of throwing more public dollars at a perceived problem and then having to pick up the pieces later.
Re: (Score:3, Funny)
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: (Score:2, Informative)
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 c
Re: (Score:2)
Re:Opportunity Cost (Score:4, Insightful)
Re: (Score:3, Insightful)
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.
What elementary school did you go to?!? We didn't touch American History until we were well into 7th/8th grade, where we browsed it for a total of 2 semesters, memorizing the Preamble, the Bill of Rights, and the Schoolhouse Rock "I'm just a Bill" song. Oh yeah, most of us also learned somewhere along the way that the North won the War (although many of my classmates may have been confused about which War), Abraham Lincoln was tall (and there might have been some short dude named Douglas something-or-other)
Re: (Score:2, Funny)
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 be
Re: (Score:2)
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...
Re: (Score:2)
Doesn't matter if it starts out bad (Score:4, Interesting)
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 (Score:5, Insightful)
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 (Score:5, Insightful)
You do realize, don't you, that we're talking about K-12 here, not college?
They can't learn (Score:3, Informative)
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.
Re:They can't learn (Score:5, Insightful)
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.
Re: (Score:3, Interesting)
Re:Doesn't matter if it starts out bad (Score:5, Insightful)
Re: (Score:3)
I never had an issue with discrete math and have no qualms teaching the basic bits of that the lower levels. While it serves as the basis for some of the base underlying theory for actual computer science, calculus and the other stuff we teach is demonstratively unused unless we're going to teach them physics (which we do without the background in calc).
Re: (Score:3, Insightful)
I was taught to program in BBC BASIC at school when I was 7. It was a single term of one (half hour) lesson a week, but it was enough to motivate me to go and learn some other languages in my spare time. By the time I got to university I'd learned PL/M, C, a bit of C++ (no one ever knows all of C++), Pascal, Java, a bit of Z80 assembly (which I've now completely forgotten to the extent I couldn't even tell you how many registers the chip had), OPL, and a few other dialects of basic.
Learning Prolog in m
Re:Doesn't matter if it starts out bad (Score:5, Interesting)
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.
Re:Doesn't matter if it starts out bad (Score:5, Insightful)
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.
Re: (Score:3, Informative)
http://es.wikiversity.org/wiki/Educaci%C3%B3n_Secundaria_en_Uruguay [wikiversity.org]
Maybe a more realistic goal would be teaching people to use uppercase to start sentences?
Re: (Score:3, Insightful)
isn't economics already taught as part of the social studies curriculum at most high schools? i know my high school offered AP Econ, which taught micro and macro economics. and i'm not sure but i think there was a college prep class as well.
in any case, i don't think economics is quite as essential as philosophy, which i would rank up there with math and English. you can apply philosophical logic to all fields of learning (including economics), whereas knowledge of economics can only be applied within the s
Re: (Score:3, Insightful)
I'm sorry, but what you said is invalid. No math teacher can make a student a genius, only show that student what is known. Likewise, for CS, a teacher can only show a student what is known and curriculum usually lags behind reality by several years. No teacher will ever successfully create a CS genius. All they can ever do is show a student the philosophies and generalities. Do you know a philosophy of computer science? Didn't think so. So what should a teacher teach? While you and everyone else cannot def
Re: (Score:3, Interesting)
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.
Re: (Score:3, Informative)
As a maths teacher I agree with your 1st and last sentences. Everything between I take great umbrage to.
One of the reasons we have so many people graduating High School with little to no mathematical sense is the argument that "we have calculators so arithmetic is not so important". Consider polynomials. The best introduction to this important branch of maths is decimal arithmetic, as any radix representation of number is a polynomial. Students struggle with rates and ratio, because they cannot deal wit