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?
N/t
When I was in high-school in the late nineties the only computer classes at my school were "keyboarding" and later "Tech Exploration". Keyboarding is an abomination because people who can use a computer well enough don't need the masochistic cover-over-the keyboard training to type accurately at a fast rate.
The best ultra-rudimentary programming can start with point-and-click commands to a simple robot arm (interface). That will give noobs a good idea of the algorithm and the order of steps required for it to work properly. ~5 years later I had the pleasure of working for a simple but bulky industrial robot which happily displayed on an LCD monitor the steps it was going through as it was doing them(the meatspace equivalent of a real-time debugger) and it said stuff like "pick up bale", "alter travel to avoid rod collision". The arm actually had to take an elongated path to avoid hitting other parts of the machinery, even though it was capable of doing so. The operation required the operation of the program as well as proper calibration of the servos to avoid beating itself to death!
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!!
"Is CS such a basic subject, at the level of science or math, that it makes sense to (try to) teach its principles to every elementary school child?"
Absolutely! How easy is it for children to pick up something that they don't have to do 'heavy thinking' about? Basic computer knowledge can go a long way, and facilitates those who are technically inclined. Allow students to advance their CS knowledge if they are interested, and teach everyone else how to use a computer! Plugging in peripphials, playing with wireless routers, how to properly plug computers in if they ever buy a new one, installing a basic operating system.. linux is perfect
There are many important subjects: Math, Science, Physical Education, English, a second language, a third language, international awareness, etc. etc.
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.
So, the while the original question was worded correctly (eg. is CS equal to science), it will be important in this thread to remember that any comment that says that CS is useful in isolation is of little value. It is a given that having knowledge set "X" is better than not having it. The question boils down, consequently, to, "is knowledge set X worth losing knowledge set Y?".
My opinion: Basic CS is useful, but only if we start streaming aggressively at a younger age. No point is wasting massive resources provided computers for many students who will never amount to anything.
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 problem solving procedure before you teach kids how to write the blocks themselves.
I actually like this idea a lot.
For example, things like stacks are really easy to understand at a conceptual level. They won't even know that they're learning computer science. I can really see small children taking an interest in stuff like this, and just using it to model and solve simple problems. Seems fun.
I'm not too sure, though. That's what immediately came to my mind. I would be very interested in seeing what the proposed curriculum is actually like.
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.
-- $G
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.
'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?
Perhaps middle school != elementary school would compute for kdawson?
I definitely think stuff like Turing machines and abstract computer science should be thought at the middle school level as part of science courses. In fact I recently gave a presentation to a bunch of undergraduate MATHEMATICS students and not a single one know who Alan Turing even was.
CS is just a tool. What we know as CS will be obsolete in a few years. Things like math and physics underly it. Those never become obsolete.
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...
Some schools have Lego Mindstorms, which have a primitive programming system. I mean, it's not hat hard to teach stuff like conditionals, loops, object, etc. The idea of anything taught at this level is to familiarize the student for higher-level work. We do spend 4 years teaching algebra, after all.
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.
There ought to be a more diversity in the mathematics curricula that exist. Spending the first 8 years of mathematics on arithmetic is a waste of time. Too much emphasis is thrown on algebra and stupid concepts in geometry (shape names etc.) It's time to start teaching kids that there is more to mathematics than y=mx+b. Introduce them to boolean algebra. Why do all studies have to be of continuous time systems? There should be a survey class of different areas of mathematics, which doesn't emphasize the right answer per se, but emphasizes the right tools for the question.
Forcing advanced CS on students is bad, since most will hate it and it will probably pollute CS with unpassionate people. On the other hand, just introducing students to basic programming, maybe simple programs in basic or ruby, such as they do in biology or chemistry would introduce many kids to programming, and those that are passionate about it can continue with it.
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
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 dividing two numbers. Sadly, the "math is hard"[1] and "why bother, when we have calculators" contingents have been eliminating this important topic from classrooms for years now. But learning long division, i.e. the first algorithm, is a very important step for basic mathematical reasoning much less any CS topics.
[1] Damnable "reform math" proponents should be skewered then roasted on a spit.
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.
The US only has about 26,000 real computer scientists. The number of programmers without a theory background is much higher. That in turn is dwarfed by the "information technology" people, "power users", and users generally.
So why should kids be forced to learn "computer science"? One could make a better case for teaching auto mechanics or machine shop skills.
no mentioned counter strike yet?
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.
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.
It depends on what area of the country you're talking about. If you think that all public schools teach the same things, then clearly your perception of American education is not correct.
Many schools don't have such courses, so colleges wind up picking up the slack where they leave off. Therefore, only the kids who are exposed to schools and districts where any kind of computer courses are offerred really benefit.
Of course, if there's no interest in a community, then why should a district impose such a level of technology? After all, everyone has computers at home and kids are growing up with them, just like people have been growing up with cars for well over 50 years now and so driver education got integrated somehow.
Comment removed based on user account deletion
Computer Science (at least, to me) is basically an extension of maths. Perhaps we should be teaching more maths and perhaps a little more philosophy (the logic side of it at least)
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.
Counter-strike?
the thing is, solid maths skills are an important foundation to CS anyway. a high level of maths and english are all someone needs to do well in every other field. the education system needs to stop trying to be a jack of all trades, and leave the specialization up to tertiary level organisations.
If you mod me down, I will become more powerful than you can imagine....
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 programming would actually be secondary to learning this (but wouldn't hurt).
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 diagrams or UML. While it won't give them any "real world" skills, it will allow them to better understand logic structures (and hopefully expand their mind a bit in the process), so that if they do choose to explore computers more they'll have a better understanding.
Having a required class where the kids learn C/C++/Visual Basic will just bore 95% of everyone and be a complete waste.
(Should fixing the system involve just rebooting the whole damn thing, a view I hold, then I'm all for looking to include a bit more CS in the curriculum. While we're at it, let's get a little more philosophy, psychology, and foreign culture (not just language!) in there, too.)
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
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 perspective or some more practical one doesn't matter.
Let the little bastards build a thousand useless flash games to entertain themselves.
It's what we did, only we did it with 6502 assembler.
John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
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 sense to make sure everyone at least has an opportunity to learn it.
Hell, I've got a degree in CS and really I only studied it by mistake since I confused it with Software Engineering. (Honestly alot of CS isn't even about computers, it's about information and if it can be processed, when can it be processed and how efficiently.)
Did you know 80 to 90% of the moderators on slashdot wouldn't recognize a troll even if one dragged them under a bridge.
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.".
They should be plugging SC (Starcraft) as well as CS.
Computer science is not a fundamental subject.
But it shares fundamentals with many other subjects, including writing, design, logical thinking, creative thinking, and the list goes on.
These can be taught in a variety of ways, with or without a computer, without without learning about computers.
Computer literacy is something else entirely, and that is a fundamental skill in the early 21st century. Every student needs to know how to use a computer, use the Internet for communication, research, and collaboration, use standard "office" type products at at least a layman's level, etc. etc. but that's not computer science.
Programming, robot design, circuit design, and the like should be offered as high school electives and, where funding permits and demand exists, electives at lower levels. Where they are offered, they can teach the fundamental principles listed above. Where they are not offered, other courses can teach the same principles.
Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
After just graduating from a 4 year liberal arts institution, I believe some of the material in a standard CS degree can be taught to younger children and highschoolers. For instance, you can teach younger children logic and problem solving skills by teaching a basic programming language. It would also be useful to teach upper-classmen things like basic algorithms and object-oriented design. There are some aspects you would have a difficult time teaching in many cases, such as algorithm time complexity, extreme low level programming, or theoretical computation.
I don't see this as an attainable goal for the ACM to go after. Teachers just arn't equipped to teach this kind of material right now. The technology basis for CS was in its infancy and not generally accessible by the masses during the education of many of the teachers out there now. Also the recent graduates coming out of universities often only know how to use technology, not teach CS concepts. If this goes through CS teachers will join the ranks of chemistry, physics, calculus, and algebra teachers in shortage.
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.
Those are things that would be very useful to teach, for many applications, but I'm not sure that they need to be taught under the umbrella of C.S. Along with some stuff on algorithms, they'd all be fine in a math class; at that point, the students who want to learn programming shouldn't have much difficulty with it, whether they do it on their own or in college. Don't get me wrong, I'm glad I learned to program in high school. But while my school wasn't wealthy (we were using Apple IIe's in the late 90s), it did have the resources to offer those classes, for the very few students who took them, without impacting other programs. I'd hate to see stuff like music and art cut (and they're usually the first ones to go) in order to teach everyone to program.
First, I agree that the federal government for the most part should stay out of education. Ignoring that, computer science should be taught. However, coding should not be taught. Data structures, algorithms, perhaps even psuedocode, but it shouldn't be strictly tied to computers. Computer programming is simply problem solving. If you can solve it by writing down the steps on paper, it can be encoded so a computer can solve it. Leave that minor detail the the experts (computer scientists). But do teach people to follow and create logical procedures. But also emphasize the limits of this style of problem solving. Also, emphasize the differences between computers and people. Too many people expect their computers to be intelligent, but this is just simply not the case. If it's doing something wrong, they shouldn't be blaming "this dumb computer", they should blame the programmer who wrote the code (most likely a Microsoft employee). Most people's problems with computers begin when they naturally attempt to personify them. Teach them what computers are good at so they will understand that it isn't much... just math, which in the average person's world doesn't play that big a role (that they can see anyway). Sure, math runs the world but the average person doesn't know or care. They'll just get frustrated if you ask them to do anything more complicated than balance their checkbook.
I think that CS topics, especially as part of a curriculum that promotes logical thinking and well-structured design, would have value as a core educational component.
CS integrates well with much of science and math, too. I'm in the beginning stages of including programming in my regular high school physics course, and so far the students think it (through VPython) is at least 'interesting'.
I think you can teach most children some basic programming. It advances computer literacy and teaches logical thinking. After all, for many students the only thing they get out of Algebra II is a lesson in thinking. It would seem you can get similar benefits with a programming class. I don't think programming should receive as much emphasis as reading or anything. However, it seems sort of crazy to say that there shouldn't be any programming in the K-12 curriculum.
Democracy Now! - your daily, uncensored, corporate-free
Some of you are old enough to have experienced "modern math", the kind of math that was taught in many schools in the US. I personally experienced it in school in California. I once found a first-year algebra "new math" text book at a rummage sale once that had "extra for experts" sections that were lessons in PL/1 programming. Keep in mind this book was published in the early 1970s. You'd need access to an IBM mainframe (or other computer that had a PL/1 compiler) to actually run your own programs. It was sort of a crazy idea then because not many high schools had access to computers in 1970. (Yes, Bill Gates was very lucky!) But it makes a lot more sense today. Computers are everywhere, most kids have access to them somewhere, programming tools that cost no money are very common, and (this is probably the most important thing) the programming languages available today are far more powerful and, in many cases, simpler to write than any that I can think of available in 1970 with the exception of Basic. So, IMHO, not a bad idea.
It's really quite a simple choice: Life, Death, or Los Angeles.
With our economic resources, our country should be producing the most brilliant children on the planet. More core fundamentals in the k-6 with focus on higher learning onward. There is absolutely no reason why we should be as far behind as we are. Bring on the CS, Sciences and Mathematics.
Those of us of a certain age will remember when primary schools deviated from the accepted curriculum of the time and began teaching "new math". We were taught rudimentary set theory as first and second graders. It was interesting but ultimately pointless as we had no use for those concepts until much later in our education--perhaps around early high school.
Some kids never got the concepts we were being taught and many parents saw it as pointless, partly because they didn't understand it and partly because they felt it was detracting from the things that "should" be taught that they could understand. Like basic addition and subtraction. Computer science instruction will be the same thing all over again. Something that isn't a core part of the elementary curriculum that will teach kids concepts they may not be ready for, and that they won't be able to use right away. (Note that I mean computer science, not computer literacy. I think many if not most kids in the US are computer literate by third or fourth grade these days)
If you must make computer science a part of primary eduction it should be the equivalent of a high school elective. Like auto mechanics or shop.
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.
Abstract concepts with little to no instant applications are what drive kids out of schools and into the more tactile job market.
People seem to be saying that you should teach CS because you might find it useful to be able to write the occasional script even if you do nothing resembling programming in your daily life, and sure it's true, but I think it's deeper than that.
I you should teach ideas like pointers, trees, that a file doesn't have some magical property that makes it fundamentally different from another file and and you can map text to image, image to sound and do anything you want with data.
I think people should learn debugging so when something doesn't perform they way they expect they don't think "It's broken" and give up but rather try to understand why it doesn't work as expected and maybe try to make it work they want it to.
*experiment meaning don't overhaul the whole education system on a bet that it will work.
When I was in grade school back in the freakin 80's they were talking about this.. WHY DO THEY KEEP RECYCLEING THIS STUFF AS IF IT IS NEW???? Reagan made Physical Fitness, Computers, Math and Science a priority back then. I am also sure if you ask someone even older than myself you will find other past presidents did the SAME DARN THING!!!! Like what a suprise education is valuable OMFG What president doesent do this????
CS is the application of other skills (math, critical thinking etc..). However, how would CS be different from teaching any other "trade" (plumbing, carpentry, metalshop, autoshop..) None of which are requirements by any Federal program. Want to make something a requirement, how about "Understanding credit cards", "Balancing a checkbook" or "Understanding an Auto Loan or Home Mortgage". Most kids graduating from highschool have no idea how to do this stuff. I sure as hell did not.
While I fully believe we should we teaching kids how to use computers (writing papers, email, researching using the web etc..). I'm a bit skeptical on advocating CS as a requirement. Sure many schools have elective classes (I took Pascal/C back in the early 90s in highschool) and could see at as partially fulfilling the "foreign language" requirement.
Computer Science... I shudder to challenge its meaning and its validity as a term. It's a fairly recent term, which is very loosely defined. The reason I don't want to bring up its ambiguity is that its definition can still stir up controversy.
Personally, I am in the camp that says CS is the study of computation. To paraphrase the late Dr. Dijkstra, "Computer science is as much about computers as astronomy is about telescopes." True computer science is done in proofs, mathematics, theory, not in programs. Of course, some would argue that it is about basic computer programming skills, the ability to operate a computer, and to understand its functioning.
IMHO, these functions associated with computer scientists are side effects, in much the same way that I/O is a side effect of the execution of LISP code. It is a desirable one, but is not the main goal. No, the goal of CS is to study computation, to classify problems according to their solvability as well as time and space complexity. It strives to create new, provable, algorithms. Or, barring that, to prove that no algorithm could exist to solve the problem at hand. To that end, it is a branch of mathematics. It is, in fact, a branch which offers considerable insight into other areas of mathematics.
As far as teaching basic programming skills, I think students stand a bit to gain from that as well. Obviously, theoretical computer science is not for everyone. However, as it was done with me, programming could be a "gateway drug" for the wider world of TCS. As a child of the 80's, when I went through school I picked up BASIC on my school's Apple II's. I showed a lot of promise with it, and so my parents bought me a Commodore 64. I programmed, a lot. The skills that I honed there led me to other skills. Eventually, when I said, "Is there nothing more?", I was shown the way to TCS. I suddenly discovered that programming skills had trained my mind to understand the concept of computability. Soon, I mastered the proof, and now I have the whole of mathematics at my beck and call.
So in conclusion, whether teaching outright computer science, or teaching programming, we stand a lot to gain. Our next generation of computer scientists are in our schools now. The trouble is, many that would be able to do it will probably never even hear the word. I was lucky. I was born during a period when the world was going computer crazy. In our current system, computers are now a matter of course. I often worry that because of a lack of computer education in schools, American computer scientists are a dying breed.
Just go look around at any CS program in the US. I promise that at the graduate level, you will find mainly Asians, Indians, and Russians, not Americans!
I am the penguin that codes in the night.
While I agree that students need as much exposure to computers as possible while in school, I think the term "computer science" scares me. Too often CS offers too limited of a scope of what a computer can and should do. Rather than focusing on it as a science (and focusing on the programming building, as most college CS programs do), they should use computers in every aspect from English/Journalism/Graphic design, to math (programming), to history (research practices, etc).
"I'd hate to see stuff like music and art cut (and they're usually the first ones to go) in order to teach everyone to program badly."
There, fixed it for you :-)
Anyone else read this and think Counter Strike before Computer Science?
I have 3 sons. All have taken high school "computer science". The eldest majors in "computer science" now, in college. And, I say, "WHAT SCIENCE?" They are being taught something that should be labeled "Microsoft Systems", or, maybe more generously, "Business Computing". Of my 3 sons, the youngest is the most into "science". That is, he knows more than one brand of operating system, and is becoming fluent in multiple languages. (in fact, he has left dad behind, lol) As for computer literacy - yes, all high school grads today should be literate. The fact is, in today's and tomorrow's business worlds, the computer illiterate will NOT find work higher than cashier. Even mechanics, carpenters, and any sort of engineer needs to know and understand computers, now, today. So - yes, any school worthy of the name NEEDS to be teaching computer skills. But, please, let's leave out the "science", unless we are teaching more than Microsoft Systems, alright?
"Windows is like the faint smell of piss in a subway: it's there, and there's nothing you can do about it." - Charlie Br
I went briefly to a very highly ranked technical institute. All Freshmen were forced to take 1 CS class regardless of Major. Mind you these were not dumb kids, none of them liked it, and very few got anything useful out of it. Only the CS Majors enjoyed the class. It's like a gym class for a fat kid basically.
I know you Yea-sayers will come right behind my comment claiming this wouldn't be a problem if they had been taught CS in K-12. But then instead of suffering through one semester of CS, they would have had to suffer through it for 12 years!
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
It is non of the federal government's business what children learn in school.
Learn 2 Constitution, Obama.
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
"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?"
What do you mean "try to?" And what do you mean by elementary school child when it clearly says k-12?
Let me put it this way: we had high school CS classes in the early 1980's and those classes weren't failures in the least. Even if you teach children just Logo (we learned assembly, BASIC, and pascal back then) it removes the "computer is a black box that I can't understand" syndrome in about a couple of hours. It transforms peoples' attitudes.
The only fly in the ACM's ointment is the the adults that implement gradeschool CS classes and school committees that think computers are magical and teaching "Office" is somehow teaching "computers" and thusly construct the curricula around that - removing all sorts of creativity and excitement.
A knowledge of CS would not help (~90% of) kids at all. not in school, and not in their lives.
Obama's goal is not to make all kids physicists, just to improve the quality of teaching, to try to entice more kids into the sciences. This would mean simply improving the current curriculum to better prepare kids for college, easing them into freshmen classes, lower the "hardness" barrier.
also: I work at my school's helpdesk, most kids are computer-retarded. adding a computer class teaching kids basic things, like how to use an office suite, how to recognize phishing attempts, etc would be much more beneficial.
They'll teach ONLY the computer science part, to such a narrow degree that students come away from it with no idea how to connect the ideas to actual computer programming or computer anything (like what schools seem to do with math).
My other concern of course is whether this will be forced on students vs. being an elective. Most people I know wouldn't give a shit about computer science topics, so I sincerely hope they don't foist this upon everyone.
Sorry if I sound negative about it, it's just that I have no confidence in schools whatsoever.
Is in our estimate of the students. You may be right. I do think a few of them would be able to handle it by the 8th grade. You probably have a point about the rest of the students.
Help stamp out iliturcy.
78% reduced/free lunch
Good luck getting the laziness out of that. It seems the people born into those situations have no work ethic. There are few examples of role models, and if there are, the role models are more likely to be shunned as 'bitches for the man' or some equally stupid thing.
Many of those people are bred expecting things to be given to them. They don't even comprehend the idea that they should work for what they get instead of sucking the government's tit.
Good luck on your endeavors. College students do care a bit more than others. If you teach CS at a college level, use ACM's breadth first method for intro courses. PLEASE.
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
Computing is a technical subject, which our schools are very poorly equipped to teach. The thing is, I don't believe that giving schools a bunch of new funding for computer science is going to get much in the way of useful results.
When I was a kid, I taught programming to my peers in high school (because the teacher really wasn't getting through to them), and I really can't say that learning how to write a BASIC program to scan a set of data and compute its mode, mean, median, and standard deviation will prove in any way beneficial to the people I taught it to.
For the time being at least, kids should learn how to type, and enough about the operation of computers to be able to use them. In other words, about the same depth that we give in Driver's education. Maybe some of them should also learn how to swap a drive or install an OS (like all drivers should know how to change a tire or their oil), but I think the idea that we need to teach computer science to everyone makes no more sense than teaching everyone how to use a structural steel catalog and materials data sheets to specify framing members for an office building.
For those kids who have an interest in computing and choose to pursue it, we should offer computing courses in about the same depth that we offer for other specialized areas (like we do for AP classes in biology or physics.)
-jcr
The only title of honor that a tyrant can grant is "Enemy of the State."
I think they missed the point. I teach older people about computers and the internet. They do need to know about how to use them, everybody does now. They need appreciation of the advantages (get knowledge, get work, find good deals, enrich your life) and dangers (unreliable information, viruses, data loss). However they don't need to know how to program or take them apart. Hey! That's MY job!
On y va, qui mal y pense!
Actually, there is much merit in the parent post.
I actually learned more algebra in my 10th grade Physics class than I did in the actual algebra class. The difference was that in "physics" we were actually learning about something much more "real" than in the "math" classes. In physics, it "clicked" as to "why" it was an important thing to understand.
Let's face it - without some link to solving a real problem, mathematics is just plain drudgery that is boring to 99% of students, who will proceed to flush the information as soon as they leave the class. Link it to the real world in some way, and they will learn it quickly, even as just a tool to understand what you are really teaching.
That's not to say that there is no need to teach mathematics - there is. But link the entire curriculum such that there is a utility to learning it.
Automobiles are so important in American society that every K-12 student should be taught automobile design!
At least, this seems to be the argument of some around here. However, just as it is the operation of the automobile that's important to understand, it's the operation of the computer system that's important to understand. And if one must learn the mechanics of transmission design... er, software design to operate a computing device, maybe the issue is in the operational interface of the device.
Besides, it's not as if mathematics classes skimp on algorithmic knowledge. I can name three algorithms that are taught pre-algebra off the top of my head - multiplication of multi-digit numbers, long division, and conversion of fractions into decimals. I'm sure there are others...
That is all.
Most people in the US drive a car every day. They do not know how a engine works. There may be a basic knowledge that you put gas in the tank, and the engine gets hot because the gas is burning because some spark plugs involved. Other then that most people just call a mechanic when it breaks. Compuers are the same way. If my Internet doesnt work, I need to find a nerd. I'm not saying the IT professional is the new mechanic. There is way more complexity, but to the rest of the world they see a piece of technology that works or doesnt. That piece of technology can be a phone, car or computer. When you get down to it thats all they really need to know. Knowing that your gas comes from a different country, and that its possible that somone can control what you see on the internet is important. It would be a waste of effort to set a high floor of base CS knowledge so that everyone can call Comcast blocking torrents layer 7 filtering. To me, it would be more efficient to make the technology easier to use and more reliable. If you want to teach math and logic, teach math and logic. Use the computer as a tool not as the reason. There is no reason to have students go through auto shop to learn about Boyle's law.
CS definitely is about communication skills. Software is speech. And it's vital to understand if not how it works, at least that it's not magic.
Back not too long ago, in my class we had 3 ORIC Atmos at the back of the room. We used educative software on them, but also we could program them with BASIC. Later on the new teacher switched to Apple IIe or something, they used LOGO also.
It's important to learn how things work, and not take them as black boxen. It's how I went to CS myself. I started using the box, then coding for it, in BASIC. Then I noticed it had a smaller black box inside called microprocessor, and I wanted to learn about it. Then I learnt there were smaller black boxes inside it called transistors. Then I studied electronics.
It's also a good intro for math concepts like functions...
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.
Did you actually read that paper? It's got the shakiest vibe imaginable. "Comparison of handwriting and some inspired guesses mean that we got them all," it says. Anyway, at best it shows that with standard CS education for a period of three weeks, some people will not learn to consistently apply a correct mental model to interpreting statements written in Java.
How do you apply this to the question of whether our K-12 students could benefit from CS education, such as training (over a period of 13 years) designing algorithms in plain English, a la Knuth?
Compare introductory CS courses to introductory math courses. Students spend weeks just learning to add single-digit numbers. Every child save those diagnosed with learning disabilities learns it.
I had a calc teacher who was just the same as you are, the problem was she didn't know calc well enough to teach it, so instead she assigned homework after homework that she couldn't fully explain to you once you even asked her. As for your "teaching" skills in CS... it's highschool, my god when I went through programming in highschool 10 years ago, my guy taught us cobol, and did nothing to get us really interested in programming, which is now your little paper essay was looked at by your students. You need to re-examine your methods of teaching. You sound like you think you know to much and they know nothing, when it all reality yes in highschool your job is to teach fundamentals and at least try to get everyone interested in the topic. Because lets face it, after highschool, if it was anything like my time at college, they will all have to relearn how to do things some other way. And remember, the smart ones that want to go to college are padding there class schedule to look better to schools, because of fucking jokers like you at the highschool level that think they are teaching at big time school, so they put the screws to everyone, by giving out back breaking work loads and pointless bullshit papers. I don't blame them, AP classes are all a joke to begin with, but boy do they look good on a college app.
I agree algorithms and breaking up a big problem into little problem (top-down) are what should be taught. Teaching programming is not a good Idea in HS. They could add a start on Discrete Math if they wanted a little harder course than just algorithms and design methods just using English like top-down http://en.wikipedia.org/wiki/Top-down Tim S
and i thought that CS meant Counter Strike!
One class everyone should have to take is symbolic logic. Not only does it teach you how to construct and scrutinize arguments, it also teaches you to think logically, and that's the first step to programming. Once you learn to think logically, you have learned the basics of constructing mental models of things.
Also, symbolic logic teaches you operator basics by tying them to verbal arguments, making them more accessible to the verbally minded.
Also, if logic was more widely taught, perhaps internet arguments would degrade more often into questioning semantics and attacking each others' premises rather than the complete utter lunacy I've seen a few fall into.
That said, I took a symbolic logic course in college. The class was small (only 7 people), and I think I was the only CS student in it. I was able to follow the professor very well, but the other students were having some major problems catching on. Over the course of the class, they did eventually catch on and were able to start thinking logically, although some of them were better than others. By the end of the course, most of them still weren't quite as quick to solve the proofs as I was, but I had been exposed to logic since I started programming. The progress they made though indicates to me that logical thinking can be taught.
You sound like you haven't been in school for awhile, so let me remind you of something: HIGH SCHOOLERS ARE IDIOTS. I know, I was there 3 years ago. As to the "innate ability" argument, I convinced 3 of my friends (all took AP calc, one is a math major at W&M) to take AP Comp Sci with me, and none of them did well. They just didn't "get it". The asian kid who is now majoring in math did the worst. It really seems that you don't have the slightest clue of what you're talking about. NOT everyone can learn CS if they want to.
given the degree of complexity of CS and the population's established disdain for knowledge (because celebrities + realityTV = cool), very little would be achieved. i'd rather see the masses educated on:
1) computer security
2) SPAM avoidance
3) independent thinking
4) reading (yes, some cant)
and possibly (if pupils aren't too tired):
5) World History/Geography
6) difference between model and role model
7) getting off the couch to vote
I completely agree.
I spend 15% of my time playing Counter Strike and I can say it would be foolish to underestimate the importance of good scores on a person's mood and overall well-being.
The younger generation already has a good grasp on computer usage; having freshly graduated from high school, I can say that the schools already push computer and business futures for all of their students. They were downsizing the music and art programs in our school.
What we really need is a law protecting art and music. Computer knowledge is great, but they're pushing uniformity in the student base, and mocking creativity. Most of the kids I knew could stare at a computer screen for 10 hours without blinking but couldn't be assed to read a book for 20 minutes without bitching.
Prioritize before it's too late.
Yes, it is that basic. I work with adults who use a computer all day every day and think it's a magic box - they quite literally do not understand the concept that it follows a precise idiot sequence of instructions, and that's all it does for everything. When they do realise this, their faces light up like it's a revelation. So yes, please beat this into their heads early.
http://rocknerd.co.uk
I know you're being ignored as a troll, but as someone who grew up on free lunches, you're right, I had no role models, everyone in my part of the social apectrum was a lazy SOB and I made aconcious decision to NEVER, EVER be like the adults I saw on a daily basis.
to those of you who are bitching at the harshness of the grandparent, I would have KILLED for a CS teacher like that, I had a guy who could barely turn on his desktop and was scared of his students.
The MAFIAA's terror campaign depends on the ignorance of the common user.
If kids become adept enough with computers to know how file-sharing works (quite possible in a sub-basic 101 on computer and internet architecture) then they'll know they have a greater chance of being struck by lightning while in a crashing biplane than getting sued.
Additionally, the basic structural knowledge would teach them how inconsequential a copy is!
Further, even if their parents dismiss them, as is often the case with the assertions of children, they can still engage in p2p and hide it from their parents using this knowledge.
The MAFIAA will most assuredly find some excuse to assure this never makes it into classrooms.
VLC FOR MAC IS DYING! IF YOU DEVELOP, PLEASE SAVE IT!!
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.
In the inner city its better for those kids to be studying. You know they'd be capin' punks left and right if they didn't have gorilla.bas. Our teacher friend does have the right idea, in terms of getting the most satisfaction from what he/she believes in. You have to find people who are willing to listen or you are just wasting your time. Maybe you can find a magnet school, or teach gifted education for younger kids and not HAVE TO BE such a hard @s$.
CS:Source is a much better version, perhaps they should include COD4 as well?
Do you want your children learning mathematics via limited roman numerals or do you want them to be taught mathematics that includes the insane but powerful concept that nothing can have value (zero place holder of the hindu-arabic decimal system)?
The abstract tools we create are extensions ourselves, of our own design and choice such as mathematics (roman numeral or decimal system), programming and computer concepts and even language (human to human and human to computer). Being of our own design we must be careful not to limit ourselves for the sake of a given abstraction set and rules of its use.
As such the place to really start teaching about computers is that of learning first about ourselves and our ability to create and use Abstractions. From here the proper sequence of learning basic to complex computer programming concepts is just as important as the sequence of properly learning mathematics. Where you start with learning the abstract symbols of the numbers and what they represent or mean, extensions of counting on our fingers. Then the symbols for calculation of addition, subtraction, multiplication, division, etc.. You don't just jump right into algebra or calculus.
But with computer concepts and programming, which are most certainly extension of our ourselves, we do need to first learn of our power to create and use abstractions that extend beyond just numbers and mathematics. We need to first learn about the physics of abstraction. And there most certainly is a physics to recognize about our creation and use of abstractions. Just as nothing can have proven use and great power in mathematics (zero place holder) so does the seemingly insane "there is a physics to abstraction creation and use" has great power and sets the proper foundation upon which computer programming concepts be built.
Try to teach algebra with roman numerals and you will find it difficult if not impossible. Only in the roman numeral days, there wasn't algebra to identify the limits of the roman numerals in mathematics. Same today, we don't see the limitations and difficulty of current computer science teaching, but we see plenty of the symptoms in buggy software, failed software project, development overruns, etc.. We have not yet seen the importance of first teaching abstraction physics.
We need to change the foundation at its core, clarifying it. We need to be able to zero in on it.
Here for more information on Abstraction Physics
What ever happened to bein' a kid?
Well... actually kids never were 'kids'. They used to work down a mine or in a farm for 12 hours every day from as early an age as possible. It's only in recent times that we've had enough wealth that kids can spend their time mucking around
They are smart and have lots of free time and need less sleep than me! Plus they are fueled by buckets of testosterone and think that $6 / hour is a lot of money! Teaching them CS will only drive the tech wage down even further!
The less people that know CS, the more we will make! Would you like to be replaced by someone who hasn't even gone to college yet? No! All of you, especially those in the ACM, no more ideas and get off my lawn!
Whoever wrote that has a very narrow idea of what programming means. The first example is only valid in a subset of Algol-family languages. Looking at it, I can tell you that the value of b is probably 20, and the value of a is either 10 or 20. The last line could be an assignment, it could be a comparison, or it could be a unification (the equals sign is used for all three in languages I'm familiar with). If it's assignment, then a will be 20. If it's comparison, the line will evaluate to false and a will be 10. If it's unification then a will be 10 and the program will fail.
Assignment is a concept that is only found in a subset of imperative languages (and not in mathematics at all). A more general model, that of binding, is found in all programming languages and in mathematics. Most students will have had several years of algebra teaching them about binding before they encounter assignment. Sequencing, similarly, is a concept that doesn't come from mathematics.
From what I've seen, students who learn declarative languages first do better than those that start with imperative languages. There's a reason Cambridge teaches ML and MIT teaches Scheme first, and it's not (contrary to popular belief) because they 'get the smart students who can understand that stuff better,' it's because those languages give a better introduction to the really important concepts behind programming.
I am TheRaven on Soylent News
K-12 is a joke in this country at the moment. Things like "No child Left Behind" and other such programs that focus on the lowest wrung have actually hurt the upper rungs. What we need is a system that is flexible enough to help those that are struggling but also to help those that need a challenge.
I think it needs to be an option in high school. That means having a teacher on staff, if only one, certified to teach it.
As for education for everyone, until the teachers are educated about the basics of computers it is hard to teach everyone anything. I know a lot of teachers don't know the difference between an operating system and a program. I think fundementally computers have evolved faster than our education system can handle. But that is a culture thing. A lot of teachers don't think they need to be constantly learning. I had an economics teacher in the late 90's who kept talking about how they did things in the Soviet Union. He got really pissed when I pointed out that the Soviet Union didn't exist anymore and they never really did things the way he said, which was theoretical communism. Teachers like IT professionals (well most of us) need to start realizing they need to be constantly learning.
An excellent method for teaching CS in middle and high schools is by using ALICE. Alice is designed to teach programming concepts to non techies and was developed by Dr. Randy Pausch at Carnegie Mellon. See www.alice.org
An AP class is material taught at a college level for potential college credit. Students taking an AP class should expect a lot of work outside the class. The class time should be used to cover the text book material, the extra study time is used to apply those concepts.
It is my humble opinion that if a high schooler wants the time to be a kid, then do not take AP classes.
And by the way, most students taking any AP classes take no 1 or 2 per semester.
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).
You haven't thought this through have you. Think of how many of your teachers actually gave you 1-2 hours of homework every night. I'd say one, maybe two at most. The rest let you slide, assigning little or no work outside of class. So your additional 6-12 hours of work is non-existent. In fact, I'm willing to bet that most kids have at least 1-2 study halls per day, plus additional time for lunch.
So your 7 hours of school is really about 5 hours of actual classes. When was the last time you got an art assignment for homework? Or a reading assignment that really took you an hour? Slowly whittling that down to 4 hours, maybe 3.5.
Double that time for homework. Oh wow! It's 7-8 hours of work for them, which is about the number you started with. Amazing.
The kids these days are too coddled. Nothing is their fault. Hard stuff should be handed to them. Everybody wins. We all profit! What a bunch of BS.
By teaching these kids that they need to work hard at some things, you give them the self confidence they need to succeed in life. My AP English and AP Western Civilizations classes were the hardest classes I ever took in high school, but still didn't prepare me well enough for college because I didn't take it seriously enough.
I recall in 9th grade I sat in the back of English class playing chess with another student because I was bored out of my skull. Another student started screwing around and the teacher yelled at him to pay attention, which immediately drew whining about why he got in trouble and I got to play chess in the back of the room.
The instructor whipped out his gradebook in front of the whole class and said "You want to know why? Let's see here. His last test grade was a 97. Yours was a 63. Any questions?"
Honestly, we need more teachers like this guy. Make them work hard in school, because school prepares you for the rest of your life. Suck at school, and chances are you suck at life.
And I don't want to hear anyone twisting that to say that you can't be successful if you don't get good grades because I think you can. Getting good grades and trying hard are not the same thing. Classic p->q reasoning.
But if you don't push these kids to try hard when they're young, they're never going to try hard at anything.
You know, as much as it would be cool to start teaching CS in HS I think a course in personal finance would be MUCH better and would include...
- doing your taxes
- managing your money
- how to buy a house
Another class should be things EVERYBODY should know (and guys should take this too) things like..
- Sewing
- Personal Hygiene (yes...please!)
- How to do your laundry RIGHT
- Personal Organization
There are too many people who lack the basic skills of living after HS.
And finally....
A short session should be done telling people what it means to be an Ass hole and how your life will suck and people will loathe you if you end up one.
You don't teach 1st graders Pascal, you teach them about the difference between a queue and stack. Then you teach them different sorting algorithm which they execute with their hands on wood blocks. And then in later grades you teach them logic and show them how a CPU could do multiplication like they have been taught and how it really does multiplication, then you ask them to rewrite the real algorithm for base-10 and award an Android phone to the kid whose multiplication speed has improved the largest percentage at the end of the week since the last standardized test.
Thank You
John
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 fits into the actual physical hours they have to study.
Make them do some hard stuff, but give them a day or two to schedule it around the things the other teachers are piling on them.
As for your pencil example... it's a bullshit exercise. You should have spent five minutes doing it in class. As a student, I would have filled that in a quickly as possible so I could get on with actually learning something. Being hard on the kids is half of being a good teacher - and if your test scores are accurate you are at least a decent teacher. But you have to give the kids some reason to take your abuse. I've mentored high school engineering projects where we had to force the kids to go home at midnight on a school night so their parents wouldn't yell at us the next day, because they wanted to be there and wanted to put in that work. You've got to give them some motivation other than just "well, we're theoretically learning something, and I'll get a good grade." Robotics is a little easier to make that much fun than math probably is for most people, but CS should be easy.
Don't start with OO - start with one of bug killer algorithms. Give them something they can see do something cool, something where they can compete. Then after they've had to slog through several pages of their own crappy code, show them how OO will make their lives easier. The only way to make someone care about CS techniques is to a) show them something cool they can do with it or b) show them how they will make their lives easier. If you show them the solution before they've lived the problem they will either accept it tautologically, or not care, and neither of those results in learning.
I'm sounding harsher for this than I mean to - but teachers need to realize that students aren't going to high school because they want to learn. They're going because they're stuck there, and it is the next pre-requisite for for whatever they want to do in life. But that doesn't mean that you can't convince them to enjoy the one hour they're stuck with you ever day and maybe actually learn something in it. Hold them to high standards, but realize that you're only one out of about ten things they've got going on right now and it's your job to make them want to actually make your time a priority.
The best teachers I had motivated and commanded the respect of even the troublemakers in the class. Unfortunately they are few and far between.
Education is not within the purview of the federal government. Perhaps that is something they need to focus on in K-12 core...
Besides, by the time they draw up a curriculum, you *know* it will be obsolete.
Contrary to popular belief, the fundamentals of structured programming have not changed signficantly... pretty much ever. Even the fundamentals of OO programming (which is built atop structured programming) have been pretty much fixed for the last 15-20 years.
If they're trying to teach the latest and greatest whizbang technology, then yes - it will be obsolete. If they're trying to teach how to program - it will always be relevant, no matter which language is used.
Teach 'em how to use the computers in K-12. Let them worry about CS later.
CS is not for everybody, and it really shouldn't be taught as CS until 10th grade at the earliest.
On the other hand, methodical problem solving is a skill that everyone can use, so let's teach that as a basic framework for everyone.
American schools aren't meant to make geniuses - they're meant to make obedient factory workers.
Music and art are already cut, for football.
To add computer science they'll probably offer fewer/no AP or Honors courses.
If you can't see the value in jet powered ants you should turn in your nerd card. - Dunbal (464142)
Who is going to teach these classes? The current generation of teachers would be entirely incapable. For this to happen there needs to be a massive push to hire qualified personnel, but what public school system in the US has the money to do this, especially given our current economic state? my hometown has been hit with budget cuts so high that they can't even afford to turn on the municipal christmas lights in the town center.
Your homework policy is very naive and presupposes that your course is the most important course your students are taking. How long are they at school per day? You say you give them 1-2 hours of work a night. If you truly think this is how schools should be taught, you think all courses would need this. How many classes do they have? 4, 5, 6? Let's average your 1-2 hours in to 1.5 hours. With 4 classes, these kids are getting home at 3:30 (ish?) and have homework until 9:30 if they don't eat dinner. 10:30 if they do. Make it 5 classes and suddently we're up to midnight with dinner. 6 classes makes it 1:30 AM. All the while, you are creating completely mal-adjusted children by giving them no time to socialize and develop other aspects of themselves.
You might want to consider stopping overburdening your students with practice and instead improve your teaching methods so that such large amounts of homework are not necessary.
How can the schools concentrate on teaching what's in the Constitution when NONE of our elected officals know what the fuck it is or what is in it!
The Truth is a Virus!!!
No one is saying you shouldn't make kids work hard in school or that we shouldn't push them to try hard. But I agree with the parent, after eight hours of being in the prison environment that is school, six hours of homework (2 hours of homework from 3 oblivious teachers) every night is bullshit. I think its the teachers that aren't trying hard if you can't get the subject across without 2 hours of additional work every night. The very fact that a teacher would create an assignment designed around how much time it takes to complete as opposed to how well it hammers home the actual point of the lesson is incredibly disturbing. But then again, I suppose you're teaching them a life lesson about task management and managerial incompetence.
No one cares what your captcha was
Houston TX, USA
I teach 9-12 science in a rural, poor school. It's the same here. 1-2 ambitious kids, and the rest are slackers. Science courses have been cut and rolled together to reduce the number of teachers, in good part due to lower enrollment. While this year is a fluke (I hope) our senior-level math and science courses have 1/2 the students of last year. However, this is part of a continuing trend downward over the last several years.
In great part, there is no ability to THINK in these kids. As you see, If they can't either write it down or memorize it, they don't want to do it. They even get in trouble for doing stupid things, because they can't creatively think how not to get caught. I see only a glimmer of the genius that I employed in HS to cause trouble.
Kids are getting caught texting in class on a regular basis. We linked two graphing calculators with a cable under a desk and wrote a blackjack game which allowed each player to bet. In math and science, it looked like we were really busy. I had modified pens which would launch things across the room, now kids get in trouble for baseball pitches.
Creativity and logic are dead. And I'm looking towards a PhD to teach at the college level. I'm getting dumber every day I spend in HS.
Velociraptor = Distiraptor / Timeraptor
CS is a specialized discipline just like Engineering, Fine Arts, or Automotive Repair. In the school system i went to you were almost required to take business courses (and were absolutely required to take a fine art) because of the offerings available and the credits required to graduate. I escaped this trap by being selected to go to the Technical Education Center for Automotive Technology for 2 years half a day.
I dont have a problem with requiring better offerings in the field of CS at the secondary education level but i do not think they should be required since some people really will never use them unless they are a class in "how-to-use-Windows-X?X?X?" despite the fact that CS can be applied other fields we already require too much non-core learning!
If they get the kids programming just a little in third grade, the kids will teach themselves from that point on. A set of kids who would grow up to be programmers anyway will grow up faster and be better programmers.
The better part of that will have to do with how facile they are at juggling structures and algorithms in their heads. They might wind up WORSE as team players, code commenters, flexible pattern learners, etc. because they started out early and had poor guidance at that point.
So AP-CS in early high school (or late grade school) will have to include remedies for this, and move into how to do group projects and how to take on new approaches/technologies.
But this leaves us with a huge problem/opportunity. Getting kids (mostly young males) into programming will make it much more possible for them to withdraw from others, get fat, and not mature as social animals. In other words, these kids will be high-risk for social problems, and schools will be able to identify them and target them for specific social skills activities.
I think teaching young kids to program is easy. You hand them a computer and do a crappy job of getting them started, and the ones who would do it even if you didn't try anything will pick it up and run with it. Do this just gets them started earlier.
That'll give them a number of extra years head-start.
But do we have the teaching talent to counteract the damage that computer-based isolation for those extra years will cause?
Hey, just a quick note- don't get too discouraged.... The main difference between good education and bad education is good TEACHERS. Sounds like you are one of those. Keep your standards high and do the best you can, that's all anyone can really ask of anyone.
Having said that, I tend to doubt that teaching college students is THAT different from teaching HS kids. It might be better for you just because of value of being in a new environment, it sounds like you are feeling a touch of the perennial teacher burn-out. But teaching is teaching. It is by nature a challenging profession (yes, it is a profession! even if it doesn't pay like one) and the only thing that is certain is that you will not reach every kid. But the reward of good teaching- seeing a mind grow- as I'm sure you know- is what keep us going. Keep doing what you do, wherever that may be. Your students will reap the benefit.
Sorry to disappoint you but you are trying to work an AP class in an inner city school. I would be thankful they turned in any work at all. I graduated from school ten years ago with a full load of AP classes (3 of the ones you are currently teaching) and between the homework, school, after school tutoring (tutor and student) volunteer work and my job I barely felt like there was time for me to breath. Our class relied not so much on homework but there was plenty to read. If we were able to we would take the Cliff notes of whatever book or subject we were on.
But I believe AP courses in certain schools (inner city) are just a tough situation. These are the schools that desperately need more college bound students, and at the same time they have to adhere to the standards set by universities. I certainly hated having to study 6 hours a night but I put the work in, mostly.
Looking back now I can see why it was much easier for me as a freshman than it was being a senior. Obviously the courses were tougher but I just had so much less time to do it all by graduation date. In contrast, my senior year of uni was signifigantly easier than my freshman and sophomore year. Topics were interesting, classes were smaller and you felt ready for the challenge as opposed to wondering where it would end.
But back to my original point, you really have to look around and ask what your students are doing at home and between classes. We had a hotshot AP physics teacher who threw hours and hours of work at us. When we didn't do the work he thought punishing us by giving us more would teach us a lesson. I talked to my old physics teacher, the guy that got me interested in the first place, and he pulled the hotshot aside and let him know that AP physics wasn't the only AP course his students were taking. Things were much better after that. In the end I got accepted to a great school, got the scholarships I needed and, got fired from my job for being late too many times.
Shit, I thought they were referring to Counter Strike.
You should try going to school in some of the east asian countries. Vietnam for example, the children there go to school 7 days a week. I went to school in a scandinavian country that also pushed their students as hard as possible. It should be required to push them that hard. Foreign countries do it and it's just one of the many reasons they kick our ass in the hard sciences...
So rise up, all ye lost ones, as one, we'll claw the clouds.
Honestly, I would love this guy as a teacher. It seems right up my alley.
As far as the 1-2 hours of homework/night goes, I rather hope that's not every night. A 4 hour assignment that you can work on every night and is due every Friday, or some sort of "not every night homework, but I have a list of stuff I need to do and when it needs to be done" is probably the best. It also teaches time management because if something is hard enough, the kids will figure out quick how to keep up with it. Anyhow, most districts have + points or +GPA for taking a AP class. It's meant to be harder.
Having been through the AP program with as many AP classes I could take (gifted for the rest), you will NEVER consistently have 4-6 hours of homework a night. On average I had about 30 min, less if I managed to pull some free time in class and get it done. Maybe once or twice a fortnight I'd have more than an hour or two.
@Londovir Keep on doing what you're done. The kids who manage to succeed in your class will look back and thank you for it in the future.
The Computer Science entry course ("CS101") has traditionally been centered on data strutures. What possible good could learning about queues and stacks do for a high school student who isn't going into CS when they graduate?
I suppose a class on very basic programming might be useful. Concepts like iteration, selection, subroutines, etc. Perhaps a little basic instruction on code quality. If nothing else, that might help folks write Excel or Word (or whatever) macros, which is a skill useful to anyone who is ever going to hold an office job.
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 .
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.
https://app.box.com/WitthoftResume Code: https://github.com/cellocgw
There's not enough in any one of those subjects to spend 1-2 hours of work on a night. You sound like the sort of teacher who can't be bothered to be efficient, because, after all, his student's time is shit.
How long does it take the most intelligent students to learn all the material for the semester? The least intelligent? How often do you let your intelligent students out of Calculus early in the semester because they've covered the material in a month or two?
If the difference between how fast your best students learn and how fast the worst learn isn't at least a factor of seven, you are wasting someone's time with your shit.
This whole discussion reminds me of the talk about teaching Computational Thinking two years ago.
Everyone has computers at home? Clearly you are the one with a misconception about America.
There are a lot of kids without access to computers, which is an argument for including CS education in primary school. This way they don't fall as behind to the kids who do have computers.
"how can they call it a MINE if everything here is THEIRS?!?!" -Straight Jacket
The same could be said for the fine arts. Does that mean kids shouldn't have to take art class?
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.
OK, but would people with quality math education be in the "consistent" or "inconsistent" group?
One of the things I ran into in school was that people with very strong math backgrounds simply could not fathom that "a = b" results in both "a" and "b" holding the same value and the value of "a" could change as a result. Many insisted that this just isn't possible, as although variables exist in math, for any given calculation once a variable has been assigned a specific value, it is then treated as a constant, and never changes.
Forcing everyone to learn CS would be the same thing as forcing everyone to take Anthropology. It's optional for a reason.
They should focus more on teaching mathematics well to ensure that students don't get raped when they get into college/university. Foreign students have an unbelievable advantage over the domestic.
As someone who has to hire undergrad CS majors, I would prefer that K-12 concentrate on getting kids to read at grade level, and outperform at math and science. Before any idiot says "But computer science is a science" I point to chemistry, biology, and physics and ask what Nobel Prize was awarded for "Best do-loop discovery." CS is a tool, nothing more. Computers will certainly be used in the classroom, but time should not be set aside specifically to teach M$ product usage (as my nephews had in high school).
A point to ponder; the most elite high schools in the US barely use computers. The emphasis is on learning to learn, not mechanical rote work.
Do READING first. Then we'll talk about CS.
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
Mindless homework isn't the way to push kids to do better. We should be teaching our kids how to "work smart". Hours of homework each night isn't necessarily "working smart", it's "working for the sake of working".
What we need to do is not have everyone lumped together in the same classes. The below-average kids struggle, and the above-average kids are bored and drug down to a lower level than they should be. AP classes help a little bit with the above-average kids being challenged, but not every school offers AP classes and AP classes are usually only in high school, so by then, you've had bored kids for the first 9 years of their education.
I was a gifted student, yet got Bs and Cs when I was in public school. (When my parents switched by private school with a more challenging curriculum and harder grading scale, my grades significantly increased. Why? Because I was challenged and the teachers there had us "work smart". They didn't give homework just for the sake of giving homework.)
As far as pure laziness, that's our society now days. We keep moving more and more towards a society that expects everything to be handed to them and citizens expect to be babysat by the government. Until we start brining back some personal accountability and responsibility, it will just get worse.
Long before we had the Internet, I was introduced to LOGO and BASIC on the Apple II. (This was like earily 1990s. The schools in the Midwest weren't up to speed with the folks in the big cities with their PowerPCs, Quadras, and earily i386 computers).
It would probably be a wise decision to teach CS in school, but not expose children to the Internet. I mean ABSOLUTELY NO Internet.
Before we teach children about looking up research online, have them search the encyclopedias and books. Let them learn mental math before we give them a calculator. I wish I had known about the vedic maths when I was younger; Multiplication is a breeze.
My recommendation would be either to teach Assembly Language or Python.
The Rapture is NOT an exit strategy.
Why should schools be directly accountable to parents? I want my local schools to educate the students beyond their parents' ability.
ARGUMENT
Some community schools fail to teach children.
Parents were once children in those same schools.
Therefore, the parents are as badly educated as the children.
CONCLUSION
We should not let those parents dictate the school curricula.
Sure, you'd have to get teachers trained in programming (which'd probably fall into the Math/Science department) but I think that the US needs some serious technical literally and what a better way than including computer science in the curriculum?
This isn't necessarily a whole course on CS, but hey, it could be a small unit in the math class or something -- at least enough to pique the kids' interests.
First, any claim that this test identifies "innate" ability is nonsense.
Because, y'know, not like we have any sort of hardwired advantages or limitations in other more easily measured aspects of our physiology... If only I had the drive, I could compete with the best pro athlete out there, regardless of height or mitochondrial density or baseline testosterone levels. And if only Paris Hilton applied herself, she could reconcile quantum and classical physics.
Sorry, but All Men Are NOT Created Equal, no matter how much the PC police want to claim such. Boys will hold dolls as weapons or pretend to blow them up, and girls will tuck a rubber knife in to its comfy little pink bed. Some people get ripped abs from walking across the room to get coffee, some remain squishy no matter how hard they work out. Some kids get in trouble for throwing rocks at squirrels, some get in trouble for taking apart the TV to see how it works.
In the world of CS, you don't need a study to confirm the fact claimed by the GP... Some people can code, and others can't (very well). Sure, anyone can learn VB, anyone can trudge through a chain of logic to figure out what a given input will do, anyone can (with enough training) hack out a few toy apps; but only a small minority of people can maintain the mental state needed to "think" in algorithms for 16 hours straight to come up with something that transcends mere arithmetic.
Perhaps, by way of compromise, this has more to do with few people having the desire or will to maintain such a mental state for long stretches. But if you ask a "real" programmer how they feel about coding, they don't describe it as a chore, they describe it as a form of meditation, relaxing and enjoyable. Therein lies the key difference, and no amount of "nurture" will change that.
every test is "closed book"
If your test is made trivial or even easy by being "open book", then your test is WRONG and you are a horrible teacher. Unless you're teaching a language and it's a vocabulary test, or one of the other rare cases where it really boils down to "you have to have this memorized".
In the real world you can look it up.
Comment removed based on user account deletion
High school makes people act like idiots. In other (less opressive) environments, most kids seem a lot smarter and more educable.
As for your anecdotal evidence concerning friends who had taken Calculus, any mathematician or computer scientist can tell you that success in Calculus is not at all a predictor of success in formal discrete mathematics. That's not news, and I don't think that anybody is trying to say it isn't true.
If you look at how universities teach their undergrad math majors these days, a lot of them include a transition class that comes during or after the basic calculus classes. The purpose of such a class is to teach students set theory, logic, induction, and other tools of formal math before sending them on to analysis or abstract algebra. If you look at what kind of math those classes use to teach formal methods, you'll realize that the prerequisite knowledge is actually just plain old algebra, which a lot of students get in middle school these days. Math departments have known for decades that they can't expect high school graduates to know any of the basics of math. Hence the mandatory remedial classes. Without them, it's hit-or-miss as to whether any given student will be able to pick up formal techniques as they struggle through the first few weeks of analysis.
The ACM clearly recognizes that much of the above applies to computer science as well. If you try to teach programming to students that have had no introduction to discrete math, lots of them will flunk out not due to lack of ability but lack of experience. In effect, the way most universities teach CS weeds out all but those who teach themselves the most important bits.
You now have CS as a top priority. Now, which subject gets shafted? Or do we just keep the kids in school from sunrise to sunset, and cut extracurriculars?
Gamingmuseum.com: Give your 3D accelerator a rest.
When I was in grade school it was called "New Math" and everybody freaked out that we were learning Venn diagrams instead of multiplication tables. If they had more real CS concepts in school then eventually we might get fewer people who think a spreadsheet is a database, this can only be good.
"...and yet, I blame society" Duke - Repo Man
If the difference between how fast your best students learn and how fast the worst learn isn't at least a factor of seven, you are wasting someone's time with your shit.
Hey! No fair being tricky... 7 is prime!
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.
Some days it's just not worth
chewing through my restraints.
The US has the best education on the planet. Why do I say this? because our system continues to produce innovators that the rest of the world envies. We do this in spite of the push to standardized tests or making everything a team project. We need to stop trying to downgrade our education to match countries who continue to pump out people who can only do what they are told.
"...and yet, I blame society" Duke - Repo Man
How about a class in Logic and Data Structure.
Don't even need to bring computers into the mix much. Just get kids involved in thinking problems out in a logical manner. Add in some stuff about different types of data structures being optimal for different types of problems.
Help! I'm a slashdot refugee.
I took CS through my junior and senior years of highschool. My junior years were spent learning logic and procedural programming with C. In my senior years, OO programming with Java was taught. While I agree it is good to learn CS at highschool, I don't believe it should be a manditory topic on par with math. Even Chem/Bio/Physics are electives, and we had to take 2 of the three of those.
One more thing, my teachers did not have a CS background but did successfully teach it.
I hear you. Best trick I ever accomplished was a TCP/IP stack in QBasic found while bored in Computer 101. Had a 3D pong game set up with another computer across the room. When we got caught, I got an A for writing it, and a pass from all homework.
a handful of selfish greedy people are no match for millions of selfish, greedy people -u4ya
We don't need to teach CS in any engineering sense in K-12. I think a discrete math class as an alternative to precalculus would have been very useful for me. Or an Assembly class, that would have been very cool.
"The Department of Education is not only The Department of Education is not only unconstitutional (and thus, illegal), it DOESN'T WORK. (and thus, illegal), it DOESN'T WORK."
The only body that has the right to say something is unconstitutional is the Supreme Court. Now if you were to say "IN MY OPINION" I wouldn't have a problem with what you say because it's just your opinion. The fact that the Department of Education has existed for more than 30 years indicates that your opinion is incorrect.
This is yet another silly idea that completely ignores reality.
First of all, who is going to teach CS in K-12? The same teachers who cannot teach basic reading and arithmetic now? Schools are not industry. Teachers have little desire or motivation to learn and improve on their own time. The President would be well-served to figure out first how to improve the quality of our teachers. Perhaps mandatory logic courses as a requirement of maintaining teaching credentials? Is Barack Obama going to dare challenge NEA and the AFT?
Once we improve the quality of the teaching staff, we might dream of introducing logic to schools. That would be the first step, and one that would be useful to everyone, not just future students of computer science. CS goes so far beyond that, there is no way it will fit into the program. This is supposed to be K-12, not a special project for ACM.
End anonymous moderation and posting on
At the least in the beginning they should focus on basics only and core fundementals. Careful choices about what to teach first and at what level regardless of subject is important. A few people have mentioned Logic. That is a subject that could be taught from early grade school. "Touching very hot things will harm you. Fire is very hot, therefore touching fire will harm you." I didnt take logic myself but I think you will get the idea. Certain core logic and analytical processes taught at an early age will serve a student well in many disciplines they may study. Also Logic and reasoning skills have become even more essential with the information age. Some kids think ANYTHING on the internet must be correct to some degree. People blame verious media for a wide range of social problems. Children armed with better reasoning skills earlier on could have a better "Bull$hit Filter" to process the vast swarm of information they will recieve throughout thier lives. The hopeful outcome is an education that prepares someone for a lifetime of learning, and the challenges of life in general. Each grade/year would build on gradually more advanced applications. There would come a time where the student would have the chance to specialize, I would say by sometime in high-school. Some people will not grasp certain subjects as well or willingly as others. Forcing someone through excessive amounts of any topic can have negative effects on thier education as a whole. There has to be a definate line where a subject is covered enough for general needs. Computer Sciences should be taught in schools but only to a certain level before the student must choose to specialize that way. This would serve well to get future CS specialists off to a running start, but not everyone will be a CS type of person.
hello, as a member of your local tv broadcasting network, i believe channel surfing should be taught to H.S. students as well. Without proper surfing skills students could potentially miss hours of entertainment and advertisements. which our numbers show is directly related to our current economic decline. In order to further student productivity we must push them to learn more passive and un-universally applicable skills.
It would probably be cool to teach some interesting programming to children, to give them that "head start" that will give them enough confidence to pursue a scientific career if they discover that this is their kick... ...but in the end, we pretty much know that, all these "CS course in school" efforts will take the form of courses where the young students are just stupidly trained to use whatever MS Office version du-jour for a couple of basic document writing activities, because "that's what they will be expected to use in the work-place when they will be adults and the school has to prepare them for the real life" (Or other similarly dumb excuses).
Corporate America will win another crop of future clients hooked to their commercial products.
The ideologist wanting to empower youngs and show them what they can achieve on their own with a computer : have completely lost.
"Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
You stop being one when you turn 14.
May the Maths Be with you!
You're completely missing the point.
They administered the test, then gave three weeks of training, then gave it again. There was virtually no change from the first test to the second.
This pretty strongly indicates that either you get it or you don't.
You may now say "well, it just means the training was crap", but we're talking about the simplest of programming concepts here: assignment. How many weeks should it take to "get" assignment? I would think the time should be on the order of an hour, tops.
"A great democracy must be progressive or it will soon cease to be a great democracy." --Theodore Roosevelt
Perhaps you've never read the First Amendment? Everybody has the right to say that something is unconstitutional. The Supreme Court is the only body with the power to be taken seriously about such things by the rest of the government. Actually, that's not quite right -- the voters also have that power.
(I assume we're talking Constitutional theory here, not real world politics where the President ignores Congress, Congress ignores the Supreme Court, everybody ignores the voters, and big corporations are the only bodies with the power to do anything significant.)
Some people say you stop being a kid when you turn 8, but everyone else calls those people pedophiles.
That's not actually true. There was a relatively brief period in the Industrial Age when working hours spiked for everyone, but for the majority of humanity's history, the typical individual (subsistence farmer) has had a great deal of time to sit around. Children have more free time today than they did as chimney sweeps in Victorian England, but much, much less than they did as a farmer's assistant in, say, the Dark Ages.
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, stuff existed but failed to get noticed and maintained. Open source research tied games used by public schools would continue past the life of the non-profit (MECC) government funding (MECC) or the platform (Apple ][e)
3)
Everybody blames teachers. I think its largely because americans won't take any blame on themselves!
Teachers do everything... Teachers can't create the tools that currently do not exist.
MOST teachers are like mechanics; if you need something designed you get an engineer not a mechanic.
They do not NEED technology to teach anything in standard K-12 education-- but I'd say that the technology is largely no good and its not the teachers fault. It is however their fault outside of the technology; I won't say they don't use technology as a scape goat because they sometimes do.
A greater problem is GREAT teachers are not properly promoted or evaluated. My BEST teacher was nationally recognized; but they didn't use her skills to help others after giving the award. She was instead FORCED out by politics when she'd be teaching wonderfully until she dropped dead. She washed her hands of the whole mess and still isn't being used!
Now, she'd not have won the award, because the test scores wouldn't be high. The principal gave her all the disturbed or failing kids; she had the worst of the school and they all made so much progress it was unreal (some more than others; still it was miracle work.)
Missing RANT)
Technology and Business are not models for use in education. Just because you have a good hammer doesn't mean you can treat everything like a nail... Education isn't analogous anything else.
Zero tolerance policy and standardized PAPER exams for example fit a square peg into a round hole by making something FUZZY like education RIGID like... technology. If it worked (which it doesn't) then we could replace teachers with computers, robots, and online learning. (I don't mean current online learning where humans are involved in the class...besides those are for adults anyhow.)
I TRY hard to observe students doing some of the work so I can help them; because just turning in homework and getting back a score is something a machine could be doing someday soon.
Rant 6) non experts. Would you like Obama telling you that you MUST run MAC OS on your computer? Sure it would help most the nation (windows users,) but it wouldn't make sense on plenty of computers; and be silly on embedded systems. Education shouldn't be pushed around by people who don't know jack but think they have a clue simply because they went to school. (ex: I've used a computer so therefore I know enough to outlaw everything but windows XP...)
Democracy Now! - uncensored, anti-establishment news
What? The Federal government shouldn't be involved in education. That's the responsibility of the state and local government.
Coder's Stone: The programming language quick ref for iPad
So in USA, government decides what to teach kids? And it's actually up to only one guy?
If I don't know any better, I would thought USA is a totalitarian society, and His picture is posted everywhere.
The only body that has the right to say something is unconstitutional is the Supreme Court
Oh? Where exactly does the Constitution say that?
Well, you've got a cite from the Federalist papers, right?
Okay, something from St. George Tucker's edition of Blackstone's Commentaries?
Huh. Private correspondence by one of the Founding Fathers?
No?
Hmmm.
The studies is using data from Middlesex University. Middlesex University isn't a good university. They don't get good student in the country. More on that have a look at Times Good University Guide:
http://extras.timesonline.co.uk/tol_gug/gooduniversityguide.php?AC_sub=Computer+Science&sub=18&x=52&y=6
In fact they are the 100th in the UK.
I've tutored non-CS majors in a really basic CS course and I could tell it was utter hell for them. I don't have a problem with students being taught word processing, spreadsheets, basic computer usage, and about basic hardware. Programming is an entirely new ballgame though. Terribly hard classes that are non-essential only cause despair and create more dropouts.
no work outside of class. So your additional 6-12 hours of work is non-existent. In fact, I'm willing to bet that most kids have at least 1-2 study halls per day, plus additional time for lunch.
Pay up! At least when I was in school, we had 30 minutes study hall, generally occupied by whatever class we had just before. So, 1.5 hours on the bus, 7 hours at school. Presumably, you'll want the kids to get 8 hours sleep so they can actually stay awake the next day.
So, we're at 16.5 hours now. I guess the kids really should eat before school and shouldn't show up in their nightgowns or unbathed. So there's an hour or two in the A.M. Add an hour for dinner and a bit of family talk. That leave 4.5 hours in the day.
Assuming one class has no homework that's 48 minutes each class MAX. Of course that assumes there are no after school activities at all (no more sports, band, chess club, etc). Further it assumes that they have no responsibilities at home and (for high schoolers) no job. It also assumes that leisure time has no value or importance at all. Sure, many kids will waste it on video games and TV, but some might cultivate a love for reading or learn things important to them that wasn't part of the curriculum such as computer programming.
If a country has over 300 million inhabitants, it's bound to produce a few geniouses now and then regardless of the education system.
59% minority
Wow! I knew US math education was bad, but...
"Strangers have the best candy" -Me
You my friend are an absolute idiot. If every teacher assigned 1-2 hours of homework and a student has say 6 academic classes per day that comes to 12 hours of homework. Now if you are like me and had a bad time at say 11 PM and school is 7-2:15 and with bus ride and stuff you get home for say 2:45 that leaves only 7 hours awake. With 12 hours of homework per night there just isn't enough time. With 6 hours of homework per night, that gives me 1 hour to eat oh gee thank you. So I say you are an idiot. And your attitude that they are all wannabe texters is utterly disgraceful. Maybe they just want to live a life. They are kids and should be enjoying life. I'm not saying don't give them homework, but I'm saying your demands are unrealistic. Plus the school encourages extra curricular activities which even at 6 hours they would only have 1 hour for.
It is your job to teach kids. With 2 or even 1 hours of homework per night you are not teaching kids, you are making them detest your subject because you are a sadistic bastard. I mean what the heck. In college I probably had an hour of math homework per credit per week if even that, granted I did it faster than the average student...but in theory your AP students are faster than the average student as well. So that is only 3 hours of homework per week. If you have two hours of homework per night that is 10 hours of homework per week. Even one hour per night is 5 hours of homework per week. Something is severely wrong. The rough rule of thumb for the standard undergraduate student is two hours of work for each our in class, but I'm afraid that still comes to 6 hours per week for a 3 credit college class. So I think you should be fired and have absolutely no business teaching to kids. Your job is to teach, not overload them with homework. Some have jobs as well or participate in sports or other activities. So like I said you are an idiot and deserve people dropping like flies from your class.
If you are the only AP Calculus teacher then I am truly sorry for all the would be math students who thought they were interested in math but then had your class that killed their interest.
On the reverse no one should be doing all the homework for kids or assigning extra credit like candy. Tests should not necessarily be open book, although in a math class even open book doesn't help that much. If you can't do the problem then a text isn't going to help you. Generally you don't have enough time to learn to do the problems from scratch and to still finish the test. Generally time is tight on a math test and even if you know how to do all the problems you barely have time to double check everything. So open book doesn't help. I am divided on open book because the real world is open book. Scientists doing research, people at work, they all have books they refer to. The meta skill is the ability to read, understand what you read, and apply it. Just memorizing heaps of information is not of huge value. But on the other hand they do need to take away a general overview of the subjects. But generally when I had open book tests in the past, they were hard enough to compensate for the open book part, hard enough that I prefer closed book tests 10/10 times...
The reality is that there is a balance. You should teach to the average kid in your class. Those below the average fail out. Those above the average find themselves with "easy" A's. Presumably AP calculus is equivalent to either a 1st semester Calculus course in college or 1st and 2nd semester college Calculus course. Integration and Differentiation should not take 12 hours per week of homework.
High school teachers used to whine over and over about how college is hard work and you will be doing hundreds of hours of homework per night. But the reality is that in college you don't get that much homework. The only real difference is that unlike high school you are more in charge of your learning.
ACM attacks to control High School with the assistance of Obama and Goldfish Fanciers...
A quote "Computer science is no more about computers than astronomy is about telescopes." -- attributed to Edsger Dijkstra. As it has been said by other posters and Dijkstra, CS is in no way about the application. It is about algorithms among many other things and if by teaching a child about ecology you can give them a greater respect for the interrelationship between populations and their environment, perhaps teaching them simple CS will give them a better understanding of how to solve problems.
Assembler is the cusp where the electronics meet the software. It is a doorway to the underlying electrical concepts in one direction and algorithms and data structures in the other.
When we teach children history, we start at the cusps, the seminal events that change everything, and work both backwards and forwards so they can understand both the causes and the results. I don't see why IT learning should be different.
For grades 3-5 though, I'd make a game of it. That's how I learned it. We started with a pretend machine - a black box, and magic beans we fed it with. If you fed the beans in the right order, special things happened. It became a puzzle to figure out why the box worked in that way, and the best way to feed the beans. Gradually the game became more complex. There were other puzzles too. I remember one, when I was 7, that was a round puzzle box with eight levers. There were discs inside the puzzle box. You could move only one lever at a time, either toward the center or the outside. The thing was, the discs were so arranged so that you could move the levers in a binary pattern. In order to complete the puzzle you had to actually count from 0 to 255 in a form of binary called Gray code, though that wasn't apparent to me until much later. After a few days I could accomplish this in under a minute. Apparently this device is no longer in production, so a sample would need to be found and licensed.
I really need a copy of this "The Brain Puzzle" for my son, so if you have a source, even second hand, I would appreciate it.
Help stamp out iliturcy.
Math and Physics. All else follows. How in Dazbog's name the Obamunists hope to teach CS to folks whom their NEA allies can't even teach to read at grade level is beyond me. :)
I once deployed a Green's Function in anger but most of the time trig, algebra, and good old F=Ma do quite nicely. Mind you our tame PhD physicist was consulting me about plasmadynamics about a month ago
Well I'm an idiot too, the old id-10-t error. I meant "bed time" not "bad time" at 11 PM...DOH
Also 11-3 = 8 hours but the argument still holds except you get 2 hours per night instead of one.
Just goes to show don't post comments late at night.
Maybe you're both right.
Remember, the good teachers have to work against the grain - against all the other teachers who just "teach to the textbook" and aren't really all that enthusiastic about their material, so an over-reaction in the other direction is a likely result.
Whenever I've gone into the school, either as a speaker, or to teach, and even today when I'm giving a white-board session, I tell people NOT TO TAKE NOTES! Note-taking is an avoidance behaviour. The teachers like note-takers, because they don't get any negative feedback on their teaching skills. The students would rather take notes than admit they haven't got a clue.
One thing I learned is that if I'm busy taking notes, I'm not learning. Instead, I listened to my teachers, and when their teaching didn't make sense, I told them so, and asked them to explain again. This pissed off some of them, but the way I figured it, if didn't understand it, that's the teachers' fault for not providing a clear explanation. Don't go and repeat the same thing 10 times - give me an alternate route to get to understanding. Neither of us is a robot.
So, when I'm standing in front of a group, I don't want them taking notes. It is MY responsibility to know my shit to the point where I can come up with a half-dozen different ways of presenting it, so that *one* of those ways will click, and so that I don't have to refer to the distraction of my own notes. It is MY responsibility to engage with the listeners, so that I can tell who is and who isn't picking up on what I'm getting at, so that I can avoid having to backtrack an hour later. It is MY responsibility to not be boring as all shit, not be repetitive, not talk down to them, but to be both informative and entertaining, because the key factor in all learning is to engage the listener so that they become an active part of the process, and WANT to learn more.
It is their responsibility to show up, to actively participate, to call me out on any attempt to bullshit them, or to gloss over anything that is lame or weak. Not to be good little stenographers. That's not learning.
This is the 21st century. We don't need notes - everyone has access to camcorders and video cameras if you want to have something to review. Just record the session.
Learning isn't like church, where it's expected that a lot of people will be dozing off.
*cough* BASIC? *cough*
Do we really want to ruin another generation?
Japan produces more patents per year than the US, with less than half the population. Maybe that explains GM and Chrysler.
I got my start in computers in 7th grade, back in the 1970s when computer access in middle school was far from universal, and have spent my entire life since as a computer hobbyist and most of my working life in computers as well.
However, this strikes me as being a lot like compulsory foreign language study in school. I spent a few years as a foreign language teacher and have come to the firm conclusion that compulsory foreign language study is also a terrible idea, and for the same reasons this would be: most of the people in a required foreign language class don't want to be there, have no interest in it, have little or no talent for it (amplified by their lack of interest), do not benefit at all from it, and drag the experience down for the minority of students in the class who want to be there and are motivated and good at it. All this would also be true for compulsory CS study.
I certainly favor making it available - it made all the difference for me - but if I had been sitting in a class full of dolts with no interest in or talent for computers and who were forced to be there - it would have been much less beneficial. Instead, I was surrounded only be people who were passionate about computers, and it was wonderful. By comparison, I took French in middle school because I had to. I took German in high school because I had to. I speak none of French or German today, something I suspect is true of almost everyone else who took those classes.
On the other hand, when I studied Japanese in college, everyone in the class was there because they wanted to be. Nobody who was taking a language class to fulfill a requirement was taking Japanese. I continued my study after graduating, and today I speak Japanese well, am comfortable conversing with native speakers at native speed, and am comfortable getting around in Japan whenever I have the opportunity to travel there.
Definitely, have CS available for those who want it. But don't force it on anyone. It won't benefit most people, and isn't of vital importance to their lives the way being able to read and write well and be proficient in basic math are vital. So many public schools are doing such a bad job on the core skills already that the last thing we need is to further dilute the amount of time available for those things with another required field of study. Offer CS where ever you have teachers who can teach it, to be sure, but make it an elective, not a requirement.
look at the past efforts. politicians were very afraid past children would fall behind on computers. so typing classes and "how to use your apple 2" classes were created. other programs basically amounted to silly math games and oregon trail being "taught" in class. now they want to cram a specialized skill down every childs throat? like it or not it is totally unnecessary. teaching critical thinking is more important when not going for a degree in cs. the idea that all the jobs of the future to replace our lost manufacturing jobs are in "IT" has already been proven a lie. outsourcing is hitting everything that doesn't require labor/physical presence. does a nurse really need to know computer science? not really. but its easier to get a good paying job as a nurse than it is in many tech fields at the moment. our school/state budgets are already broken. the last thing we need is another fancy prestige program that takes away resources from the core basics of education. whats more important after all, cs or math, english, and history? if your students don't have the math foundation their ability to do cs is very very limited. already colleges have to deal with a large number of students who have to take remedial courses in these core subjects. without this foundation of knowledge/skill any cs knowledge is meaningless. hopefully obama sees this. else we will have yet another bullsh*t computers are educational magic program wasting educational budgets all around the country. these types of proposals are always based on fantasy and unfounded fears.
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).
You have obviously never been to an east Asian country, where this is both expected and the norm.
The result is that many math- and science-based graduate programs have been taken over by Chinese and Indian students. Engineering? Indian. Math and Chemistry? Chinese. Economics? Chinese. American children are just as capable of working for 12 hours a day.
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...
You don't think that might be part of the problem? Who has time to do 1-2 hours worth of work every night * 5? 6? classes? By my math that's 5-12 hours of work every night.
Even if I lived right across the street from school, let's see... 7 hours of school a day I think is still the norm, 8 hours of sleep... leaving 9 hours to get done with all the homework, dinner, establishing and maintaining friendships, not to mention any chores that your parents assign you?
Do you really wonder why children don't want to put so much effort into their schooling? They don't have the time. MySpace and Facebook are popular because you can be on them for a few minutes a day and update your friends on what's going on. (Of course people can be on those sites 24 hours a day too if allowed.)
I know we expect teenagers to be getting more responsible, and "everyone" wants them to spend every waking moment becoming more valuable to society, but really... an hour or two every night for homework for every class? How much work do you think the average person brings home with them? You go to work and put in your 8 hours and go home. Well except for teachers. Children see their parents get home and rarely see them doing work once they're at home. So many people are taught that work belongs at work and not at home that they don't want to do homework.
You're expecting too much from them.
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.
I have to take a moment to recount (or brag about) something I did in 3rd grade (8 years old or so) that I remember very distinctly. We were working some kind of xeroxed workbook sheet (late 80s) and I was supposed to write several words in some tiny little box (forgot the reason, maybe matching items?). Since I didn't have room to actually write in the box, I remember putting an "ABC" in the box, and where I had more room at the bottom of the page wrote "ABC means..." and then whatever words were supposed to go in the box. At this point the only computer experience I had was playing with a Mac Classic for a bout 4 years, games only. So it's not like I knew about abstract symbolism from programming or anything. Always makes me wonder if anyone else in my class thought like that.
With the first link, the chain is forged.
Too much emphasis is being placed on "educational" issues and keeping children busy. What happened to children simply learning by playing?
In Boss By Day, Gamer By Night they discuss the importance of learning to play as team members. That seems to be a lost concept in current educational circles, along with the concept of Vocational Education.
For every problem there is a solution that is simple, obvious and wrong.
I'm pretty selective on Constitutional matters.
Fixed that for you.
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.
Nor has the federal government been granted the right to fund an air force or spy agencies. You see, General Welfare and Common Defense are in the same sentence in Article 1, Section 8, and any and all limits on the former apply just as much to the latter. So if Social Security and the Department of Education are unconstitutional because they aren't explicitly allowed by the Constitution, the USAF and the CIA are equally unconstitutional since Congress only has the power to fund an army and a navy.
But I've never seen a wingnut argue that the USAF is in the same unconstitutional boat as Social Security. Sort of like evangelical hacks who quote parts of the Bible in their justifications on banning gay marriage, yet ignore the parts that forbid the eating of shellfish, the stoning of adulterers (scores of moralizing Republicans who are also cheaters) and wearing garments made from different fabrics.
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.
Because many of them wont do it, that's why. Red states like Georgia would be 3rd world countries if it weren't for federal spending and regulations. A nationalized CS program not only makes kids from Georgia more competitive with kids from Connecticut, but also makes the U.S. more competitive with other countries. Even if you're the most uptight, self centered elitist on the planet, you want good public education because it means better educated workers for whatever business you are in or are invested in, and more customers with more money in their hands for whatever business you are in or are invested in.
I tell people NOT TO TAKE NOTES!
But that's how some people learn best - just as you seem to learn best from listening and discussion. It all depends on what works best for the individual.
Quantity != quality. I'm all for expecting great things from students, but the assignments need to be useful and not just busywork or rote memorization.
People who are busy taking notes aren't learning. Stop one of them, and ask them to repeat, without looking at their notes, what you just said. It's "Deer caught in the headlights" time. Most of them are so caught up in note-taking that you can pass off complete nonsense and they won't question it.
There are alternatives. Give hand-outs at the beginning or end. Make a video and post it for those who need to review (which is what notes should be for, after all - reviewing stuff, not the initial learning, which doesn't happen if they're too busy taking notes to, you know, actually THINK).
Any so-called "teacher" whose class is just glorified note-taking should be fired.
People who are busy taking notes aren't learning.
For some, that is learning. Just because something works (or doesn't work) for you doesn't mean it's going to be the same for everyone else in your class. Some learn best from listening, or discussing, or taking notes in a lecture, or reading text books. It all depends on what works best for the individual.
For myself, if I had been a student in your class, I would have been taking notes furiously because it's the only way I can pay attention. No notes = my mind is either asleep or a million miles away.
"For myself, if I had been a student in your class, I would have been taking notes furiously because it's the only way I can pay attention. No notes = my mind is either asleep or a million miles away."
As I pointed out, one of the responsibilities of a teacher is to be INTERESTING. If you make your subject so dull that people are daydreaming, or need to take notes just to stay semi-engaged, you're not teaching, and the student isn't really learning.
Yesterday while going through some old personal effects I found both the "White Book", and the "White Book" in the same box. Timeless Gems indeed.
Modern textbooks are written and rewritten every year to sell textbooks. If academia were as knowledgeable as they would have us believe, they would be able to filter the wheat from the chaff, the wine from the dregs. They would be able to select a book that were in print these last 20 years that would teach their students something of persistent value. And if we teach students something of transient and ephemeral worth that expires more frequently than they buy new shoes, what are we teaching them about the Truth, except that it, too, has value only for the next six weeks? That's teaching them to forget; that their investment in effort is transient. That is "not good." It's also a waste of money. I've long since despaired my local school district will offer something I consider education, so I teach my kids myself - but they still have to go to school because peer interaction is something I can't teach them.
Anyway, maybe that I found those two in the same box says more about me than about the books... Also in the box were "The College Survey of English Literature", 1951; "Operating Systems; A Systematic View" (Davis, 1992), and "Microprocessor Architecture, Programming and Applications (sub With the 8085/8080A)" (Gaonkar, 1984). Also ""An introduction to College Chemistry" (Briscoe, 1937), "David Macaulay's "The Way Things Work", and "77 One-Weekend Woodworking Projects" (Blandford, 1987). There was also "Alice's Adventure's In Wonderland" (Carroll). That last is probably a personal marker. I have like 12 copies, and I plant one in boxes I think are valuable for learning. It might have been there because I consider "Alice in Wonderland" a good programming manual. Anyway, I'm comfortable in the company of these books.
The box is at my feet now, and I'm looking at it. I learned these things long ago. These books have a few secrets left for me, but not many. But no, don't email me with a bid. I have young kids, and this is what I'd like them to know before they "graduate" high school so in addition to what their school teaches them, they'll know these useful things. Your kids? Teach them or not. Whatever.
Anyway, if you're a bizarre geek and you're worked your way through these, the top of the next box has "Trelawny" (Margaret Armstrong, 1940) which is a rollicking good read if you like pirates, adventures, or Byron.
Help stamp out iliturcy.
>Department of Education is not only unconstitul?
>it DOESN'T WORK
You tell 'em, Sparky!
Well sure, but if you want to go back to that we should give kids real work in actual jobs with compensation and social relevance.
Have you considered that different people learn in different ways?