Programming Is Heading Back To School 169
the agent man writes "Researchers at the University of Colorado at Boulder are exploring what it takes to systematically get programming back to public schools. They have created a game-design-based curriculum, called Scalable Game Design, using the AgentSheets computational thinking tool. Annual summer institutes train middle school teachers from around the USA to teach their students computational thinking through game design and computational science simulations. What's truly unique about this is that it is not an after-school program; it takes place during regular school courses. Entire school districts are participating with measurable impacts, increasing the participation of women in high school CS courses from 2% six years ago to 38-59% now. Educators would like to be able to ask students, 'Now that you can make Space Invaders, can you also make a science simulation?' To explore this difficult question of transfer, the researchers devised new mechanisms to compute computational thinking. They analyze every game submitted by students to extract computational thinking patterns and to see if students can transfer these skills to creating science simulations."
To ask the question: (Score:1, Insightful)
Why?
Programming should be a college-level course, for those who want to go into the field. If a high school wants to offer an AP class, swell. But I just don't see the need to waste nonprofessionals' time by teaching them perishable skills they will not use.
I simply can't explain why an average student needs to know this. Whatever they're taught, unlike English or math, will be obsolete inside a decade. I'd be thrilled if Mom knew that USB ports were pretty much interchangeable (thank you USB 2.0, 3.0, and
Re:To ask the question: (Score:5, Insightful)
Everyone should learn how to program, because knowing how to program gives you total power over your computer. You can only say you truly control your computer when you can use programming to make it do anything you want it to do; otherwise you are at the mercy of software vendors that seek to take that control away from you.
Re:To ask the question: (Score:4, Insightful)
Everyone should learn how to program, because knowing how to program gives you total power over your computer.
Well, that's a stupid reason to learn programming. Do you also only think as far ahead as the next fiscal quarter? Do you only have plans to do work tomorrow, with no clue as to what your assignment in two days might be? Are you looking further ahead into the future of your living space than just next month's rent/mortgage payment? Or is programming the only thing about which you think in such small and short terms?
Sure, power over a set of hardware is a nice immediate benefit of learning computer programming. But computer programming is so much more than that. Anyone can throw a python script together. Anyone can leak memory like crazy in C. But to wield that control over hardware in a way that accomplishes a useful purpose requires a good deal of ingenuity and (occasionally) a touch of magic.
Teaching school-age children computer programming necessarily also entails teaching them to think differently. It teaches them to break a task down into its constituent steps. It teaches them to know exactly what they are doing and to know that they know exactly what they are doing. These are life skills that are useful to very nearly anybody, even if they don't use it to control their own hardware. The ones who want to learn it will learn to think as they must, and even the ones who memorize it for the exam will have to retain some of the skills that are necessary to write a program that does nothing more than start, do an arithmetic operation, and exit. The ones who do not learn this will simply fail the class.
This ideal is why programming should be taught in schools. There is so much more benefit than just bending a few digital logic gates to your will.
Re: (Score:2)
Teaching school-age children computer programming necessarily also entails teaching them to think differently.
Damn Apple fanboys!
All kidding aside, I couldn't agree with you more. You don't teach kids computer programming so that they can all go out and write computer programs. Well, you put it best:
It teaches them to break a task down into its constituent steps. It teaches them to know exactly what they are doing and to know that they know exactly what they are doing. These are life skills that are useful to very nearly anybody, even if they don't use it to control their own hardware.
It's all about critical thinking and reasoning. Just about every educator I know claims that they "integrate critical thinking skills" into their lessons -- but I've yet to find one who can articulate how. It's more "the right thing to say" than something that they actual do. By teaching computer programming, we hav
Re: (Score:2)
Damn Apple fanboys!
All kidding aside, I couldn't agree with you more.
Thanks. All kidding aside, for the record, I hate Apple as much as the next Slashdotter. Linux FTW, damn Apple's tyranny, and all that.
Seriously, anyone who's gonna pay $99 per year just to get the iDevTools deserves to have whatever they want posted to the App Store. And screw the whole "Unix for people who don't need a computer" thing.
Re: (Score:3)
Re: (Score:2)
This isn't about teaching them how to do something. It is about getting them excited to want to do it.
Re: (Score:2)
This is about teaching kids. I learned to program as a nine year old , hacking away on a "Dick Smith Wizard" 4k computer and a Basic cartridge trying to figure out how to make games. It crash coursed me on some basic maths that put me on a flying start when we started algebra in highschool , and set me up with a life-long interest in math and computing that 25 years later earns me a pretty decent wage. That whole concept of "Can't fix your computer? Ask your kids" started with our generation, and it was ALL
Re: (Score:2)
Everyone should learn how to program, because knowing how to program gives you total power over your computer. You can only say you truly control your computer when you can use programming to make it do anything you want it to do; otherwise you are at the mercy of software vendors that seek to take that control away from you.
This is completely unrealistic. Many people don't even know how to *use* a computer, or even how to type on a qwerty keyboard.
It's also completely unnecessary. Programming skills have nothing to do with being at the mercy of Evil Software Vendors. When I install ubuntu on a new machine, here is the list of packages I install, all of them open source:
fluxbox fluxconf menu feh numlockx aterm mg bluefish gedit texlive-full tipa ispell tex4ht dvipng ssed inkscape gimp imagemagick pdftk xpdf autotrace potrace g
Re: (Score:2)
Re:To ask the question: (Score:5, Insightful)
I lose nothing by having someone else build a house to my specifications. Architects don't tell me how I can use my building afterwards, either.
I lose a lot when a company comes along and says I can only do X, Y, and Z with something I bought, especially when they have a vested interest in restricting me.
Re: (Score:3)
Apple does, by locking the device down. Sure you can jailbreak, but they're still telling you what you can do. Microsoft intends to, with the way they're setting up Windows Phone (and I wouldn't be surprised to see that extended into non-desktop versions of Windows 8.)
Show me a smartphone or other similar device you can buy without software.
Re: (Score:2)
If the device had no software, it would not be able to do anything.
Just toggle in a loader with the front console switches.
Oh, wait...
Re: (Score:3)
If software were just a component, companies wouldn't be doing what the GP complained about. That the GP complaint is real and well documented means that software is not "just" a component.
And computers also aren't "just" another tool. It is the tool of informatics, that is the art that is currently revolutionizing ourselves. Computers are "just" a tool the same way that reading is "just" a skill and critical tought is "just" a capability.
Re: (Score:2)
Should I learn carpentry so I can build chairs and tables to my exact specifications and desire? I mean, if I don't then I cannot fully use this wood that I bought.
You should learn some woodwork skills and have a reasonable understanding of what carpenters do. You should be able to plane a door to make room for a new carpet, and recognise when broken furniture is worth taking to a craftsman for repair and when it is firewood. These are basic life skills, and plenty of analogies can be drawn to what is considered "advanced" computer use.
Significant power, then? (Score:2)
Yes, there are constraints, but there are also plenty of problems I run into on a daily basis which I can solve, much more easily and cleanly, because I am at least Unix-savvy and also a programmer.
For example: I'm not sure I want to write my own browser -- actually, I kind of do, but who has the time? -- but userscripts and extensions mean I can hack up websites quite easily. Right now, most webcomics I've ever read, I've added keyboard shortcuts to. (Except XKCD, which already had them!)
Or, take personal
Re: (Score:2)
I've got the oposite problem, I want more programmers in the world so I can give my job to some kid and become his boss and get off this bloody codemonkey treadmill I've been on for 20 years.
Re:To ask the question: (Score:5, Insightful)
Learning to program isn't just about learning the language. It's about conceptualizing and problem solving. Those aren't perishable skills.
Re:To ask the question: (Score:4, Insightful)
I hear this argument a lot. X isn't just about X, it's about all this other stuff that it sorta kinda addresses too.
I think the question really needs to become, 'Does X teach other important stuff *better* than all of these other things we could cover?' I'm sure there are Shop teachers that would argue building a bird house or fixing a car teaches problem solving.
You can learn a lot playing Monopoly or Checkers or Chess or Dungeons and Dragons or watching TV or studying math or programming or working in a factory. I'm not sure that programming really does a better job of teaching 'problem solving' than many other things. Procedural programming, particularly at an introductory level, doesn't seem like it would do a good job. Algorithmic programming, sure, but to get to that point you need to cover the basics and then, most of the time, I think you could have the same educational experience focusing on the problem and math to solve it.
Re: (Score:2)
Oh god it does. You're just speaking from the perspective of someone who already knows how to program, and probably hasn't tried to help someone else struggle through the process.
Look, fundamentally, in order to program in a procedural language, you must be able to come up with a procedure. In order
Re: (Score:2)
That's very eloquently stated.
Maria Montessori tells the story of a woman with a young child. The child had put their dirty shoes on
Re: (Score:2)
Well, in shop class or chemistry class children can be injured, however you can teach programming at a very early age (9-10 year olds).
Re: (Score:2)
Agreed, really the goal should be to spend more money on improving Math education in the West to make it more attractive, more interesting, and just generally taught to better standards.
I'm a programmer, and have loved and lived computing most my life, but really, taking a maths degree was the best thing I ever did. It made learning and applying computer science stuff as well as many other things easier than ever.
I agree with the GP that those abilities are important, but I agree with your point more that t
Re: (Score:3)
That said, it's still fair to ask what makes computer programming such an ideal way to learn conceptualization and problem-solving.
There are two considerations. First, that some programming skill helps a lot in using spreadsheets. These are ways to monitor a family's finances or plan financial or life goals. Even for an average joe, this is a specialized skill that can pay off for anyone who saves money or makes loan payments.
Second, programming is unusual as being a remarkably cheap and powerful means of building something of value. In other words, programming has a low barrier to entry compared to other crafts. With a few hundred
Re:To ask the question: (Score:4, Interesting)
This year I turned my son's 4th grade class into a computer using nothing but the kids, baskets, 3x5 cards and a white board.
You should have seen their eyes light up when it hit home that a computer is nothing but a machine that follows simple instructions.
After one afternoon the kids were writing their own "programs"
This is an example of 9 and 10 year old's learning problem solving and conceptualization with about $15.00 bucks worth of materials.
Angry Birds is all the rage for 4th graders. After summer vacation and they move onto 5th grade we are going to "write" Angry Birds with the same 15 bucks worth of materials.
Re: (Score:2)
I would like to see that demo. Do you have a youtube video or something?
Re: (Score:2)
Brillaint! Any chance you can post your lesson plan & notes online somewhere?
Re: (Score:2)
Well, this is one thing where I agree with you. I would never have believed it.
No, seriously, programming (and the practical understanding of logic that it comes with) is a basic life skill in the XXI st century.
I think it also makes you understand something very important: trade-offs are required. At some point, you need to decide between exact and fast, or perfect and complete. If only a bit translates to the "real life", this makes for better, more adult, citizens.
Re: (Score:2)
I had one course where we were given a basic spec in a formal notation, lectured some on theory, and told to hand in our project at certain milestones. The project was the only gradable thing in the class. We were writing a compiler. If that doesn't get you understanding "here's the code, find the bug" is the majority of what you will do, then nothing will. Especially when the spec itself contains a "bug" (in the form to two contradictory rules such that by the grammar provided a line could exist that b
Re: (Score:2)
Ignoring all the "programmers" I've interviewed and/or worked with who simply cannot design a program, but instead keep throwing code at things until it seems to work, then quit...
That's a little bit of knowledge for ya... btw, make sure your interviews contain some actual coding. Like you'd ask a cook to cook before hiring them.
That's not where the student spends their time! They spend their time learning the arcana of whatever language is being taught, and this is enough material to completely obscure the conceptualization.
Depends who teaches them and how they do it.
I could show you how to program in Ruby, Scala, or LISP, (and have seen others do so in Haskel and other languages) in such a way you hardly notice the syntax.
Not everyone's brain works like a Slashdotter's.
Bullshit. (At least before school gets too them.) Almost everyone is capable of learning something like algebra or programming or auto mechanics or child care
Re: (Score:2)
If they wanted to focus on programming, there are two "basic" options... HTML with JavaScript and/or Visual Basic (HA, just kidding). I mean Access type databases (AP course for sure, not because of the easy programming and scripting, but because of the database concept).
Re:To ask the question: (Score:4, Informative)
You seem to have a completely distorted idea of what programming is.
It has nothing to do with knowing the different kinds of USB plugs. It's knowing how to describe a calculation so that it can be automated by a machine.
It's essentially applied math.
Re: (Score:3)
It's knowing how to describe a calculation so that it can be automated by a machine.
I'd go further. It's about understanding your problem well enough to figure out how to *always solve it*.
My example is Sudoku, mostly because a solver is the first nontrivial program I wrote. You need to understand the game on another level, and in an entirely different way, in order to find the answer to (effectively) all of them. "I know how to solve Sudoku puzzles" is not the same, and not nearly as powerful, as "I can solve *every* Sudoku puzzle". Making that leap from the specific to the general is wha
Re: (Score:2)
If you want to go into higher computer science and such then yes it's very much applied math, but the basics of it is not. For example, understanding program flow, basic object management (how do we copy/move/reference information), loading and saving information, network communication and that sort of thing. I'm fairly sure you could teach a lot of practical programming without ever going far beyond primary school math. You could at least make it to basic business app level, connect to a database, select a
Re: (Score:2)
It's all about logic and structure, That also tends to help you understand math, but it's not math that makes you able to program.
Sure it is.
I mean, aside from the fact that all programs are, in fact, mathematical expressions, there's the fact that mathematical thinking is exactly what programming is. I'm not talking about O(n), I'm talking about logic, recursion, sets... Maybe basic calculus seemed really unrelated, but it seems like the more math I learn, the more closely related it is to the coding I've done.
Like for example I've rewritten some really horrid SQL, I'm sure both Microsoft and Oracle has put tons of work in optimizing microseconds off the execution time...
Even stuff like software engineering, though. Math, particularly trying to prove interesting things in abstract spaces, tryin
Re: (Score:2)
I mean, aside from the fact that all programs are, in fact, mathematical expressions,
This is a bit like saying psychology comes from brains consisting of neurons, neurons obey the laws of nature and those laws are applied math so psychology is applied math.
there's the fact that mathematical thinking is exactly what programming is. I'm not talking about O(n), I'm talking about logic, recursion, sets.
Sure but you hardly need a degree in math to understand how to loop through all items in a list, even if that is an extremely rudimentary application of math. How to structure a program isn't a deductive logic like developing theorems from axioms in math, design and structure is more informal logic that is argued not proven. I'll admit re
Re: (Score:2)
Re: (Score:2)
Re: (Score:3)
The same reason the average persons should know that a toaster works by running current through some wire coils to heat up the bread. The same reason people should know how to do basic math without a calculator. Basic programming skills simply don't go out of date. Put a 70 year old FORTRAN programmer who's willing to learn in front of any modern language and they could be up to date in a matter of weeks. Knowing how your computer works, hell, just knowing that it isn't a magical box that is impossible
Re: (Score:2)
That means a good base in all the essentials of modern society: language skills, math, science, computers, and yes, they should have some experience doing manual labor as well. At least then if they choose to enter the work force they'll know what they're getting themselves into.
Well that is the intent, but good luck finding an electronics class, car repair, shop, or any number of other real life classes in a modern HS. Much less a proper economics, statistics, etc class. It is all reading,ritting and rithm
Re: (Score:2)
In elementary school I had a friend from South Korea, he came here for fourth grade, and he had already had some schooling in Basic. Granted that's a God awful language to start with, but he wasn't that smart, comparatively speaking, but it's something that was available to him in elementary school.
Re: (Score:2)
Basic. Granted that's a God awful language to start with
Why? It seems like a perfectly good language to start with to me.
Re: (Score:3)
But I just don't see the need to waste nonprofessionals' time by teaching them perishable skills they will not use.
As Hatta noted [slashdot.org], these "perishable skills" include conceptualizing and problem solving.
I simply can't explain why an average student needs to know this.
Perhaps that is a symptom of how you view knowledge? Everything nontrivial we learn or do has some application outside the narrow confines of the knowledge or activity in question.
I'd be thrilled if Mom knew that USB ports were pretty much interchangeable (thank you USB 2.0, 3.0, and high-power USB for wrecking that bit of simplicity, BTW). But she's scared to death that if she plugs something in wrong, hardware damage will result (thank you APC for making your "data port" [read: USB] connector the same as Ethernet instead of a USB B jack like God intended). And we're supposed to teach people like this programming? And expect it to stick? Give me a break.
The obvious benefit is that if you succeed in this teaching, then they won't be "people like this." The number one lesson of technology is that you have to try stuff in order to learn how it works. Once you learn that, you might still be a techno
Re: (Score:1)
Re: (Score:3)
One in a million people need understand machine language.
One i one a thousand need to understand a high level language.
One in ten need to understand Excel macros.
Everyone needs to have some understanding of how computers "think".
One in ten get by with no knowledge.
One in a thousand pay someone to look after all their computing needs.
One in a million control the programs.
One in a ten million control the architecture.
Programming was a high-school level course as far back as the 1970s and, for many, it was at
Re: (Score:3)
Why?
Programming should be a college-level course, for those who want to go into the field.
Negative. I flipped an Apple IIe disk upside down on accident and began coding at the age of 8, in elementary school. Teacher was smart enough to find me a couple books on BASIC, and fortunately my step-father had a home computer -- MS DOS came with MS Quick BASIC, and a few simple games. Taking apart video games such as NIBBLES.BAS and GORILLAS.BAS jump started my programming career.
For Christmas I got an expensive Borland C complier (on 24 5.25" floppies) -- I was selling software (shareware) by the
Re: (Score:3)
I'm not really sure if it's fair to assume other people would have your experience.
I'm sure there is some rich, successful business man who has many millions of dollars who started his first lawn care business when he was 8. That doesn't mean the key to future generation's financial success is to make them all cut grass all day. There are plenty of entrepreneurial types who do what you've done, in other areas than computer software. And there are lots of people who study computer science and never make a
Re: (Score:2)
Why?
. Whatever they're taught, unlike English or math, will be obsolete inside a decade. I'd be thrilled if Mom knew that USB ports were pretty much interchangeable
1. I hope your mom is out of middle school. She belongs to a different generation which did deal with equipment that broke easily if you experimented without knowing what you're doing. She is not the intended audience.
2. General programming and logic skills are no different to math and English. The underlying language with it's syntax and semantics may change, but the basic concepts of logical operators, iteration, conditional statements etc. apply to all procedural and object-oriented languages. Being able
Re: (Score:2)
I simply can't explain why an average student needs to know this. Whatever they're taught, unlike English or math, will be obsolete inside a decade.
The fundamentals of programming a computer have essentially not changed at all in quite a few decades. The only real difference between now and 30 years ago is that today you have more memory and CPU to waste and languages that do a bit of the stuff automatically that you used to manage manual. The core programming concepts are essentially the same.
Re: (Score:2)
Why?
Presuming we're talking about electives (and I know *I* had slots for electives during the normal school day starting in Jr High in my schools) and not core required courses, then why not? Seriously, having as broad a base of electives available as possible can only be good.
I'm pretty sure an "average student" didn't "need" the electives I took in Jr High or high school, but I'm certainly all the more well rounded as a result.
I took the same view to my college electives as well, with my required humani
Re: (Score:2)
I would absolutely love to see well taught programming classes available in high school. Unfortunately, that is not going to happen until the schools get out of the ever-more-desperate race to meet the no child left behind standards.
I originally supported the NCLB ideas. I was wrong.
Re: (Score:2)
Programming should be a college-level course
Why? I'm willing to bet that a significant portion of this sites users we're writing BASIC programs on their micros before the age of 10.
I also recall a number of studies in the 80's introducing computer programming to younger children via Logo.
I just don't see the need to waste nonprofessionals' time by teaching them perishable skills they will not use.
Don't be obtuse. Programming is a skill that is entirely separate from the language you used to learn it. Those skills ALSO transfer seamlessly to non-computer areas; I can think of no better way to teach critical thinking and reasoning than through computer program
Re: (Score:2)
What you learn is the concept of unambiguously breaking a process down into discrete steps. Abstracting a general behavior from a bunch of particulars. This is good for everybody to learn, even if they will never touch a computer again. It's valuable in nearly any job you're ever going to work.
It certainly shouldn't be a university-level course; if you don't already know how to pr
Re: (Score:2)
Re: (Score:2)
A kid who's family doesn't own a computer might become fascinated by the subject after being exposed to it in school and maybe he'll actually learn a useful skill other than how to take a bong rip and shotgun a beer.
In other words, getting a business degree, to become our bosses.
Re: (Score:2)
Re: (Score:2)
I somewhat agree. Kids need to be given some sort of physical activity; this could be as simple as running circles around the playground, or could be organized into games or sports; the latter makes some sense, since most kids enjoy that.
But the idea of having having sports teams, competing with other schools, I agree; it's ridiculous and has nothing to do with the purpose of school. It's an anachronistic h
Let them.. (Score:1)
Let K-5 and non-math-geniuses from 6-8 bring graphing calculators to school. Parents shouldn't care, since most kids will need one for later math classes anyway. The only people that would be bothered by this would be the teachers. Me and my friends would always play BASIC and ASM games on these devices during our free time in 7th grade algrebra. Later on, I eventually started reverse engineering games like phoenix, and, the amusingly-named, "pimp wars." It was good fun, and got me interested, which is real
Re: (Score:1)
...and who's going to be paying for that? The kids who can afford graphing calculators aren't the ones who need help here.
Hell, I'm a comp sci major, from a somewhat wealthy family, and I never owned a graphing calculator...nor has anybody I know. Sure, we used them in highschool...but we borrowed them from the school. Those things are _way_ overpriced, and far too expensive to expect even that even a miniscule percentage of kids would be bringing their own to school, even if it was encouraged. What the hel
Re: (Score:3)
I had a friend in highschool who played "Drug wars" on his palm pilot. One day his mom was snooping on the palm pilot and found an itemized list of drugs, payments received, payments pending etc...
Confusion and hilarity ensued.
What about automechanics? (Score:1)
Back 40 or 50 years ago working on cars was very popular and all school-age boys were building hot rods in their garage. There is less interest in building hot rods because it's harder to invent something in your garage which has not been done before without a team of people helping you. The same could be said with computers and programming.
Re: (Score:1)
Re: (Score:2)
Unfortunately, and ironically, computers are too prevalent in cars to really be able to do that nowadays. I knew two kids in HS a couple years back that were building hotrods, but they were building the same hotrods you were talking about - '70s Corvettes and GTOs and things. Modern cars are really too complex to take apart and fiddle with, unfortunately.
Re: (Score:2)
It's not really the computers are the problem; you can get replacement engine computers that can be programmed to change the timing and fuel injection if y
Re: (Score:2)
Modern cars are really too complex to take apart and fiddle with, unfortunately.
Bah, total BS. You can do plenty of fiddling on a modern car before you hit the electronics. Modern hot rod kids start by replacing headers, injectors, boost valves, etc. The computers all work around that, often to some advantage. Then you start buying alternate fuel/air maps, and other computer mods. There are even open source ECU mods and even open source ECU's. A quick google search like http://www.google.com/search?q=open+s [google.com]
How things have changed (Score:2)
It's funny that back when I was in high school in the early 80s and we were one of the few schools that had a PDP-11/44, an IMSAI 8080, and some TRS-80s, the head of the computer program got all pissy if he saw us writing game programs let alone playing games and now game software is a multi-billion dollar industry.
Re: (Score:2)
Multi-billion dollar industry or not, faculty members still get pissy if you use their computers to play games (unless it was the assignment).
A change of mind? (Score:1)
Catering to the neo-serfs are they ? (Score:4, Insightful)
I taught myself BASIC at 13, and Assembler at 14.
I wanted to do it, but little else so college didn't work for me,
so I dropped out.
Later I saw that ti would shift to countries that can pay their
coders less, and US firms went for it a great deal and or
brought them to the US via one of the 73 different Visas.
So while I am glad to see them do something for those
with this desire, it came about 3 decades late for me.
Good Luck to all the neo-serfs under the new world order.
Re: (Score:2)
Re: (Score:2)
I have a working (graphical) snake game I wrote in QBASIC (self-taught) saved from the month I turned 13 (the code is of course horrific). School didn't teach me any programming either (I self-taught a variety of languages though), until taking a university course in computer game programming. Fast forward to the present day, and I have one shipped PC/360/PS3 game on my resumé and am a year away from adding a PS3-exclusive to that.
I live in the same economy as you, had the same opportunities. The diffe
NCLB (Score:2, Informative)
From what I've been told, most school districts have ditched whatever programming curriculum they once had because the standardized tests don't include it, so it's a distraction from "teach the test".
Re: (Score:2)
You get what you test. You don't get what you don't test. It's a side effect of our deciding that we're way behind the rest of the world in general without actually bothering to do any investigation.
The other aspect of it is that as more stuff gets crammed into the curriculum, something is going to be left out and that thing is always one of the items that's not on the tests.
Re: (Score:2)
Teachers distract parents when they start talking about 'teaching to the test' - the tests were designed as assessments, indicators of a schools progress, not an exhaustive, all-inclusive inventory of the only things students need to know.
The tests are designed to identify weaknesses in the instruction, and by resorting to rote memorization and occasional cheating, issues in our public schools get buried under by standardized test scores.
Standardized tests are so skewed now it's amazing - kids in my distric
Re: (Score:1)
Ok... (Score:1)
teach relational algegra instead (Score:1)
I'd be happy to see an increased emphasis on teaching algorithms and data structures. But I'd be happier if students learned relational algebra. Microsoft Access or similar would be a perfect vehicle for this, not too big, not too small, easy to relate DDL to their input and output representations (i.e. forms and reports). It's not Access or SQL per se that's important, but the relational database concepts which you must learn to use the effectively. I know a bajillion programmers, and almost none of th
Re: (Score:2)
I think you would hold kid's attention for about 2 minutes with gripping stories of relational data bases.
2 minutes of rapping and dancing to the beat of popular Hit Pop or obscure R&B rhythm, stories of relational databases will be told. Inspired by song and dance of relational databases, we'll all end up with American Idol rejects, crushing their hopes and dreams, forcing them into dire poverty and teaching them the lessons of importance in education. In the end, they will produce children, which is our ultimate goal, computer scientists.
Whoa! (Score:2)
Until I read this article, I had totally forgotten that a teacher taught me Logo on primary school.
So many memories, like the time I learned to replace words from a text, first we had to write a story with certain highly-uncommon words, and then they would be replaced for their synonyms (hilarity ensued!). And the time I saw an implementation of Battleship and I thought "Gosh, I'll never do that, it's too hard..."!
It was easy to pass (we were six/seven years old after all), but it was my first contact with
Agent Sheets 3: $99 per licence per kid !?! (Score:3)
My dear old great-grandmother had this saying from the old country. It went something like this..
"$99 bucks per license per kid. Go Fuck Yourself!"
I had a cool great grandmother. Like she said, this is exact reason charter schools and privatization of public schools is nothing but legalization of theft of public property.
Ignorance (Score:2)
"$99 bucks per license per kid. Go Fuck Yourself!"
I wonder then what she would say at the cost of "traditional" textbooks.
Re: (Score:2)
Charter school typically cost less than 'traditional' schools, so I'm not sure how her "$99" saying relates...
Charter schools do one thing most public schools do not - they put the children first - they are non-union. Don't think that makes a difference? Did student performance increase or decrease after tenure was introduced in your district? Given the choice between an 'out of control principal' firing teachers without cause (the teacher's union favorite justification for tenure) or a couple hundred teach
This will turn off some portion of students (Score:3)
Had I been presented with an educational program based on games, I would have hated it.
The very first program I wrote did real work that I needed done. All programs that I've written since then have also done real work. In this, I was assisted in this by the fact that I was a communication arts major and could choose my own path in learning computer science without the interference of an instructor. I went on to work at Pixar and to be credited in their films, and to be one of the founders of the Open Source movement in software, etc.
I've never liked games very much, and to be able to do something real with the computer made it much more exciting.
Not everybody learns the same way.
Real work (Score:2)
Will, to do real work they have to know the problem domain. And to be honest, writing games is more fun than writing a prime number seeking program.
Also, one man's "real work" is another's useless fluff.
P.S.:
Since when does "a communication arts major" do real work?
Re: (Score:2)
Re: (Score:2)
We're not really educating from Washington. Shamefully, the "No Child Left Behind" act which is responsible for replacement of two weeks of education each year with testing which isn't returned to the student in time to do them any good, and for giving the most powerful push to schools to teach to the test, is the product of my former congressman out here in the San Francisco East Bay.
Which brings up an important point. There is not some faceless enemy called "Washington" that does bad stuff to you from a d
Re: (Score:2)
Re: (Score:2)
Mm, it doesn't have to be programming per se to teach fundamental concepts. I credit LogicWorks (is that the name) on the old Apple IIe to giving me a solid foundation of how to assemble complex AND / OR / NOT gates in the correct way.
Robowars was a great way to learn programming too, as your code was directly used to hunt and kill your competitors... taught basic code concepts, interrupts, and so forth.
Re: (Score:2)
You did note that it is an education program for teachers, designed to give them material to teach to public school (primary / elementary and secondary school) level students, that is under 18.
And because it is important to stress this point, this material is intended to be taught by teachers, not programmers, to any student. The goal of such a program should be basically to look behind the curtain [imdb.com] of prepackaged applications and understand the basics, in general terms, of how computer systems (hardware and
Re: (Score:2)
Children frequently engage in constructive play, or Lego would not be so popular. My 10 year old's favorite toy, right now, is an architectural CAD system that was intended for adult use. He found this himself and demanded that I buy it! He throws off houses and landscapes, complete with 3D rendering, on a daily basis.
If you decompose play you can break it down into various motivators: social, competitive, entertainment, and constructive, and no doubt others. Nurturing that constructive urge is one of the m
It's how I got started. (Score:2)
Making up games in BASIC got me started on the path to a good career.
Disappointed programmers (Score:2)
There will be a lot of disappointed programmers from this program when they get out into the real world and find 99% of the jobs are building programs to generate TPS reports.
someone watched The Oxford Murders... (Score:2)
Kalman will be proud. This is mad, I tell you, MAD!!!
Gamemaker (Score:2)
Re: (Score:2)
Citation needed (Score:2)
What movement killed it in the first place? (Score:2)
We are already doing this at our high school (Score:2)
Our tech teacher designed this type of approach 3yrs ago and its a popular class. Using Gamemaker software gets kids into the class who might not go for straight up programming. The path is: Game Design 1, Game Design 2, then Java. At that point students can continue on to advanced Java projects that they define themselves. The other neat thing we do is in the Game Design 2 class there is is 1 large project - students form into teams of 3 and then they are matched to 1 or 2 Art students. They learn to work
Why not have more project classes? (Score:2)
I am a strong fan of teaching creative things like programming in a project based way. It does not matter if they write a VB script which simplifies their lifes, a small web-spider which searches trough the local school web page or program a small game, whatever they like. Teachers just just make sure its doable and assist if help is needed.
Re: (Score:2)
I agree, set up a nice introductory course with Python, its a pretty easy to grasp cross-platform language, that could be used by beginners and then id they wish to explore more they have the basic knowledge and the tools to do more readily at hand. Any dumbed down "education-specific language" would be a disservice if you want to foster truly skilled graduates.
As far as the first post - I learned programming in High School, BASIC, it got me interested enough to learn more languages and practices and get b