A High School Programming Curriculum For All Students? 214
jonboydev writes "I know there have been many postings on what kids should begin programming with, but I have a little different perspective: I am a software developer looking to help my brother, who is a high school teacher, develop a programming curriculum. The catch is that it is a class for all students to take, not just those interested in programming, and therefore will focus heavily on teaching problem solving. This class would follow after a class using Lego MindStorms, and we are planning on using Python. I'm sure many of you would agree that everyone can benefit from learning to program and any help would be greatly appreciated!"
How about Alice? (Score:4, Informative)
Disclaimer: I haven't actually tried this, so this isn't an endorsement, but...
Have you considered taking a look at Alice [alice.org]? It's the free system worked on by the late Randy Pausch to teach programming without jumping straight into coding. From the site:
Re: (Score:3, Informative)
My father teaches a college course using Alice. It's sort of a programming for non-computer-science majors class. I've sat down with him a couple of times and played with the program. I suspect that for someone who doesn't have any programming experience Alice is really fun (creating movies, making things move onscreen), but for someone with any experience its all just a hassle. Too many mouse clicks and drags are needed to get simple things done, and sometimes the natural-language style of the program
Re: (Score:2)
The Alice tutorials in
I wholly support Alice. (Score:2)
I work in a university environment and have been programming for...a while...so when my son's Boy Scout troop approached me about teaching programming to some interested boys, I did a ton of research and came up with Alice.
If the goal is to teach programming concepts and logic, then it doesn't get much better than Alice. The course materials are already written, the language is easy to use, it's supported by Carnegie Mellon, and it's completely free.
The greatest thing about Alice is that it's an entirely vi
JavaScript? (Score:2, Interesting)
I'm a bit biased, but JavaScript might be something worth teaching in addition to Python. It's in everyone's browser already, so no need to download anything. Can more or less work well on server-side or client-side (I'm not a SSJS guru, so I don't know if there's any major gotchas). It has a moderately simple syntax, and whitespace isn't as important as in Python.
Re: (Score:3, Insightful)
If the job is to teach programming to people who don't care about it, I'd probably start with plain HTML and CSS. Thats of course not exactly real programming, since not Turing complete and all, but it teaches you the basics of how a computer works, that data and presentation are seperate and all those very basic things.
Understanding those basics about how a computer works is much more helpful in the long run then something very abstract like sorting a list, since it applies to almost all daily computer use
Re: (Score:2, Insightful)
+1
I totally agree. I do both JS and python programming.
python for server side, JS for client side, and python errors are much more human-readable/understandable IMHO.
And the interactive interpreter is a godsend for fiddling with a messed up class function (ie temporarily redefine it)
Re: (Score:2)
Re: (Score:2)
They don't teach you the low level details about bits and bytes, they do however teach you the whole thing about structured data, which pretty much what any program today uses in one form or another.
Re: (Score:3, Informative)
Re: (Score:2)
Programming is reasoning about actions, evaluation and transformation.
Programming is in large part the manipulation of structured data and HTML/CSS can help quite a bit to get the 'structured data' part understood, add Javascript or Python when you want to go into the manipulation part of it. My point is simply that learning how to sort a lists has zero application in everyday life, understanding how pretty webpages you see on the screen are represented as structured data on the other side is quite a important thing, because thats how pretty much all software works and becaus
Re: (Score:3, Interesting)
I love Python, but... (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Excel is certainly not your average programming language, but it can be used for programming. There are even some that have used it to write a 3D renderer [gamasutra.com] in it.
Mindstorm (Score:2)
Please don't. (Score:4, Funny)
The catch is that it is a class for all students to take, not just those interested in programming
What the fuck is wrong with the educational system again? Teach those who are interested. Or those who have any chance of not being a retard at it.
Teacher 1: "Hey, I heard that computer-thingie makes people smart."
Teacher 2: "Okay, let's force it on every little prick we have here! That'll teach 'em to touch one ever again!"
Christ. What's next? Quantum physics in ancient Sumer dumbed down so everyone can pass?
Re: (Score:2)
Re: (Score:2)
And what about those who'd rather go home and play Wii? Don't teach them anything?
Re: (Score:2)
Guess what? Our educational system offers advanced placement classes for students who are so inclined to take them. No one is being forced to take a dumbed down class. Fortunately for those folks who are not as enlightened or smart as you, a dumbed down class might offer a more cushy introduction to a topic that can be a bit intimidating to a lot of people.
There is no reason a introductory p
Re: (Score:2)
There is no reason a introductory programming course shouldn't be a mandatory part of a curriculum. Giving more students exposure to it would certainly not be a negative thing. Go take your nerd rage elsewhere.
No reason, other than there is a finite amount of time. Teaching someone programming takes away from something else, such as history, math and science. Programming is a trade skill, like learning to arrange flowers. But most people would say that there are more important things to learn than arrangi
Re: (Score:2)
Re: (Score:2)
Considering our reliance on computing in every single industry, in our personal lives -- fuck it, literally EVERYWHERE...
You can say that out about a lot of things.
"Considering our reliance on roads, everyone should know how to lay asphalt."
"Considering our reliance on refrigeration, everyone should understand Freon gas."
"Considering our reliance on integrated circuits, everyone should learn chip fabrication."
"Considering our reliance on knives and forks, everyone should know how to forge metal."
The fa
Re: (Score:3, Interesting)
For me personally, I would be flipping burgers if it weren't for exposure to programming. It happened
Re: (Score:2)
Re: (Score:2)
If everyone has to take this programming course, those students are going to get a whole lot less done, than if it were just those few students who were actually interested in the topic, and presumably, with more aptitude for the topic than the average Joe. If the majority... even half, of the class is disinterested, not paying attention, slacking off, making the teacher repeat material constantly, and ultimately not taking anything away from the course, t
I second the parent! (Score:3, Insightful)
It's a damned shame that you were modded troll. The troll moderation is NOT for modding down something you disagree with people.
That said, your actual post is a little harsh dude.
This BS of making kids take shit so that they'll be "well rounded" is horse shit.
ALL of the greats in the World; Past Present and Future, were NOT well rounded! They specialized in ONE thing and did it extremely well. Trying to be "well rounded" is a path to mediocrity - which explains much of our state today.
I wish I could find the article, but it stated that it was in the 1970s that some Ivy League admission director pulled out of her ass that incoming students should be "well rounded". Of course, when
Re: (Score:2)
Re: (Score:3, Insightful)
Ever heard of a Renaissance man? (Score:2)
ALL of the greats in the World; Past Present and Future, were NOT well rounded! They specialized in ONE thing and did it extremely well. Trying to be "well rounded" is a path to mediocrity - which explains much of our state today.
Heh, apparently the ONE thing you decided to do well wasn't history. Ever heard of a Renaissance man? [wikipedia.org]
Non sense. (Score:2, Interesting)
Re: (Score:2)
I stand by my original statment.
Your original "statment" was that all of the greats of the world, past, present, and future, were not well rounded. Your current comment contradicts this, because you qualify that statement by limiting it to modern times. In other words, you don't stand by your original statement.
All of your examples are form primitive man - anyone with a half decent brain and the means could have been a "Renaissance man" during the times you mentioned - cannot happen today
Sigh... first of all, I didn't give examples, but I will now. You're entitled to your opinion that Aristotle, Averroes, Leonardo, Newton and Jefferson were all "primitive" men.
I freely admit that the depth and breadth of various di
Re: (Score:3, Informative)
Pfffeh.... nobody could work in multiple fields these days. I mean, really... sure, Linus Pauling won Nobel Prizes in 2 unrelated areas, and is a giant in both chemestry and biology, wrote textbooks on quantum physics and discovered the molecular cause of sickle cell anemia, built weapons AND was a renowned peace activist - Nobel peace prize and all ... but he died like in 1996 or something. Ancient history man...
Re: (Score:2)
So the whole concept of the Renaissance Man is lost on our modern world?
I get where you're coming from, but sometimes being exposed to something is just plain good for you. I can't count the number of adults I have met who have memories of absolutely hating their piano lessons as kids but are so thankful for them as adults even though they don't (or can't) play any more.
As a homeschooling parent, I agree that we should allow kids to focus most of their energies on topics that interest them or skills they h
Re: (Score:2)
Yes, none of the greats of history were polymaths. None of them received a classical education.
I agree that foisting a well-rounded education on students in high school is a bad idea, but if you're trying to imply the classical education of universities is a bad idea, you're sorely mistaken.
Re: (Score:2)
Also, I think you'll find that several of the legendary greats who you think were not well rounded, were i
Re: (Score:2)
"The troll moderation is NOT for modding down something you disagree with people."
In practice all moderation on Slashdot is about what you agree or disagree with. Why try to challenge a good argument when you can just bury it?
not quite problem solving (Score:5, Insightful)
Programming more importantly is problem analysis, figuring out how to use the tools and information you have to build towards a solution.
In most of my programming projects, there are myriad different ways to approach the problem, and the time taken to compare them I find to be the most important part of any programming project.
Recent example: I just got done coding a utilization graph for a server. In bash. Obviously bash is not the ideal language but was required so a lot of thought had to go into how to approach the problem.
After some consideration, I determined the way the utilization information was gathered and stored was the most important thing, because bash isn't particularly speedy and having to mow through 100,000 long log file isn't going to be pretty. So the main focus of the problem turned from one of "how do I display a graph in bash?" to "how do I record the information in a way that bash can quickly process it?" This requires understanding the limits of the tools you are provided with, more than understanding the actual problem. Only after you have this can you move toward a good solution to the problem. No matter how clever of an idea you have, or how "perfect" of a solution you come up with, picking the correct path to that solution is often just as important as the results.
Most of the time when I am going to code something, I spend a good hunk of time just sitting and thinking about it, considering how things are going to progress if I try different approaches. Only after I'm satisfied I have a good "plan of attack", do I actually start working on a solution. My solutions aren't always optimal, but they're usually pretty close, and save me a LOT of valuable time which would otherwise be wasted in having to either make fundamental changes to the foundation late in the game, (every programmer's nightmare) or dealing with extremely topheavy already-written code that isn't producing results in the way that I need them and has to either be data-converted or be clumsily coped with as-is. (every maintainer's nightmare)
I suppose you could sum it up by saying, "teach them problem analysis before you teach them problem solving.
Re: (Score:2)
Re: (Score:2)
challenge! I also write in assembly and occasionally microcode.
Writing in lower level languages has certain advantages. For example, the optimal C++ code for doing something, when compared to assembly, is slower, a LOT larger, and requires more memory.
Bash isn't a proper low level language because it's interpreted, but it does keep a polish on one's skills to build up complex things from simple things. You can always do a complex task using simple tools, but you cannot always do a simple task using compl
Re: (Score:2)
challenge! I also write in assembly and occasionally microcode.
Writing in lower level languages has certain advantages. For example, the optimal C++ code for doing something, when compared to assembly, is slower, a LOT larger, and requires more memory.
In 99.999999999% of the cases, those extra advantages you speak of are simply imaginary, more related to the rush of appearing to be among the mythical REAL PROGRAMMERS than to any requirements of real life.
Bash isn't a proper low level language because it's interpreted, but it does keep a polish on one's skills to build up complex things from simple things. You can always do a complex task using simple tools, but you cannot always do a simple task using complex tools. (they are not general enough to do everything you could possibly want to do)
This is not a matter of simple or complex tools, but of correct or incorrect tools. If when presented with the problem of doing boring filtering and manipulations with server logs the first thing you can think of is writing an assembler program to handle it, in the immense majority of cases you are makin
Re: (Score:2)
Kind of like the difference between classes like "Algebra 1" and "Applied Algebra". They teach very different things.
How about some Java? (Score:3, Insightful)
I helped create a Java curriculum for a group of programming-naive high school students. I don't regularly use Java, but it behaves similarly to other languages (good for me and for them). There are plenty of tutorials out there that they can explore in their extracurricular time. Also, there are many sites and fora dedicated to java, allowing my students to get plugged into the broader community of programmers.
I helped my dad do this (Score:5, Interesting)
You died of dysentery. (Score:3, Funny)
Processing (Score:3, Informative)
http://processing.org/ [processing.org]
Clean, quick, cross-platform, can do pretty wild things right out of the box.
Make it fun, get them hooked.
This is stupid (Score:4, Insightful)
Not everyone is interested in programming, or any sort of engineering. Get over it. Forcing every kid to take programming (and "forcing" is the right word) is like forcing every kid to learn how to build an engine for their car (and NOT something useful, like changing the oil).
With all the cutbacks in arts and general sciences that take a broad approach to education, why are you wasting their precious school time and especially-precious-now school money on such a specific skill?
It's like someone who is passionate about embroidery insisting that every kid should learn embroidery for their own good ("Think about the problem solving skills they'll learn by figuring out what stitches they need to get to the pattern they want!") Whatever general skills they learn in this class, they can learn better by studying a more general subject.
Re: (Score:2)
I would argue that more kids would benefit from learning how to a build an engine becasue they wiklll all deal with cars, and that level of knowledge helps prevent them from being ripped off; where as programming has nothing to do with repairing or buying a computer. Computers are thriogh away appliances to most people.
Now if I could buy a car for 1000 bucks and use it for 3-5 years. Then learning anything outside the operation of the vehicle would be a waste of time.
What they could also learn... (Score:2)
They could also learn some typing and/or proof-reading skills; I'm sure that'll come in handy when they post on slashdot ;-)
Re: (Score:2)
Re: (Score:2)
Actually, "Not everyone is interested in $X" is a true statement for all values of X. Are you proposing not to teach kids anything?
No, as I said in my post, I'm advocating teach *broad* knowledge. Math, science, art, history, etc. Programming is a specific trade skill, utterly and completely useless to anyone who won't be doing it for a living. There are an infinite number of trade skills we can teach kids. How about how to change chemicals in a pool? That's a skill that's actually more useful than progra
Re: (Score:2)
I agree that *some* programming skills are largely non-transferable trade skills... parsing markup languages, creating DLL interfaces, le
Re: (Score:2)
For what it's worth, I learned cross-stitching in 4th grade. Everyone in class did. I think it was largely a way to keep us busy and quiet when we finished our work early. And, given that it was more engaging than most of our lessons, I'd do my work more eagerly and enthusiastically because I k
Re: (Score:2)
Re: (Score:2)
Yeah, teaching something that forces people to become more logical thinkers and better problem solvers is an utter waste.
End sarcasm.
Unlike you, I don't think of education time as precious. Schools -- even the best ones -- are as much about warehousing students as educating them. How much of a given day does even a good student spend truly engaged in the material being presented?
I think programming shines as an educational task:
* The students spend more time doing than listening to the teacher.
* There is
Re: (Score:2)
Not everyone is interested in reading/writing, or any sort of English.
If you can't figure out the difference between learning to read and write, and learning a trade skill, then I'm afraid I can't help you.
mandatory Lego sales (Score:2)
Also, if you need Legos to teach programming then you're doing something wrong.
smallTalk (Score:2)
While I don't personally care for smallTalk, it has a simple enough syntax and was designed as a teaching language.
More important than language, you'll want to keep the kids engaged. Basically they'll need some results quickly, and printing strings to the tty isn't likely to count for much. That is one of the strengths of GUI programming, poping up windows, playing with colors, and stuff like are likely to keep the kids paying attention long enough to learn something.
- doug
Have lots of projects and labs (Score:2)
In Soviet Amerika... (Score:3, Informative)
...public school programs YOU!
Re: (Score:2)
And you're absolutely correct.
I've been teaching for 5 years, and this is my last one. It's become clearer and clearer to me that this is the entire point of public school in the US.
Give all the kids the same (standardized) coursework, give them the same (standardized) test, and make them all functional cogs to work in this society. Teach them to turn on at the bell, and turn off at the bell. Teach them to bow to authority. Teach them that to fit in they m
Learning styles, disabilities, levels? (Score:2)
As a high school teacher, I appreciate the opportunity you're trying to offer: not many schools have computer programming classes, so that's pretty neat.
If your school is going to require this class, be very careful to think about different learning styles and learning disabilities. Programming goes well for very linear, sequential thinkers. It may not go well for abstract free-spirits. How about kids with dyslexia, dyscalculia, and/or dysgraphia? Will you have different levels of programming for differ
SImple (Score:2)
" I'm sure many of you would agree that everyone can benefit from learning to program and any help would be greatly appreciated!"
No actually, that's not true. Your letting your bias make decsions for you.
If you have a class for kids interested in programming, there are three goals.
1) Concepts. You just need a language that teaches the concepts that will be used in programming. The Lego IDE works well, as does Java. Once you ahve concepts, every language becomes syntax.
2) A language. You want something where
Re: (Score:2)
Stay away from script languages because they don't really do much long term wise. IF you can write in a language like Java, C++, you can write in Python. That is not true the other way around.
That's like saying "If you can read The New England Journal of Medicine, you can read Dick and Jane. That is not true the other way around."
You said that "once you have concepts, every language becomes syntax". Yet you want to start kids off with languages like C++, whose syntax is an abomination that would take the
Make the little twerps (Score:2)
learn INTERCAL.
squeak.org (Score:3, Informative)
Teach concepts not implementations! (Score:2)
Should have used Logo/Scheme/Lisp. You'll spend more time teaching syntax rather than programming/logic.
Take a look at
CompuSci without Computers [csunplugged.org]
How To Design Programs [wikipedia.org]
Re: (Score:2)
Logo has rather simple syntax. Why would you spend more time teaching it than the implementation?
Reverse backwards (Score:2)
Well that's your problem - it should follow before it.
How to Design Programs and TeachScheme! (Score:3, Insightful)
While they use Scheme instead of Python, which you seem to have settled on, the TeachScheme! [wikipedia.org] effort and the book How to Design Programs [wikipedia.org] are aimed pretty much at the kind of thing you are trying to do: HtDP is designed for universal programming education (aimed at either high school students or lower division liberal arts students in college), and TeachScheme! is directly aimed at teaching in High School.
(Linked Wikipedia pages because it seems like both websites -- and the main PLT website -- are down at the moment; the website links are on the wiki pages and I'd recommend going to those when they are up.)
no,no,no....php all the way....! (Score:2)
Php, is fun,simple,advanced,and cool all at the same time, it is simple enough for the newbs,advanced enough to control pcs going unto your web page, quick enough not to overload the servers, and also web based, so as to allow more interaction by the students (all of the students today want a cool facebook page or myspace page).
The best also about this is its free, and comes free with linux also free for those students who cant afford windows. Those who have windows, can install webserver1.0, and run php di
Re: (Score:2)
Re: (Score:2)
I'm not a fan of PHP, but if the class was focused on doing a big web project, it might be a good choice.
Now, if I were teaching such a class, and a student wanted to go further in web-oriented programming, I'd encourage them to take what they've learned and move over to a framework like Rails or Django. But PHP + web gives you a good dose of instant gratification, which I think is *the* secret ingredient for any introductory programming class.
Whatever it is, don't make it half-hearted! (Score:2)
I can report on my own experiences.
As part of my High School experience, one math lesson (or was it the good part of a day?) was carved out for programming our TI-83 calculators. Having already programmed it (hey, it's programmable; no, I didn't make it run Linux), this was fun and relaxing, and my program for solving second degree polynomials had more than just myself as a user.
But I seemed to pick up a general attitude of "We don't like it".
I can also report on being in their shoes; in my probability-and
Whoa there... (Score:3, Interesting)
I read this as, "It is a programming class available and accessible to everyone, not just geeky programming students; it is 'programming for normal people.'" Not, "All students must take this class."
Could be wrong, though. Maybe the submitter can clarify...
Re: (Score:2)
I read this as, "It is a programming class available and accessible to everyone, not just geeky programming students; it is 'programming for normal people.'" Not, "All students must take this class."
That wouldn't be a catch.
Who the hell banned non-interested people in the first place? And why?
Hate to advocate microsoft... (Score:2)
Storm
Re: (Score:2, Insightful)
But i have heard of a lot of people that after programming for the first time loved it so much, they changed their future career plan.
Re: (Score:2, Insightful)
Re:Good luck with that (Score:4, Insightful)
Our teacher was a bastard, all of our assignments were text processing, using functions that we had to write our selves. I could do it but it sucked and wasn't fun so I basically swore off programming for the next two years of high-school.
In college we had to take a programming class which I wasn't overly happy about. The language we used was Perl, and there was a good amount of text processing in that class also but it didn't suck for two reasons.
1. We used a language that was appropriate for the type of assignments.
2. The class was well ordered, we had an end goal, we were given a project at the beginning of class and every assignment was designed to help us complete the project.
Re: (Score:3, Insightful)
You are probably the intended audience for the "general programming class". This is the crowd that wants to solve a really big problem, and doesn't want to get bogged in the details. Someone is going to write the compiler for you, write the functions which do something you need, etc. You just want to integrate packages, think big and are happy to hack and slash bugs as they crop up. I suspect that most people who use computers to accomplish a task, want to know simple ways of automating mundane tasks, etc.
Re: (Score:2)
Even the schools (which are colleges in my experience) which offer the class you're talking about, call it as "shell scripting".
Although I was surprised that anyone had even enough clue to offer the class (the elite designing curricula have human shell scripts called "grad students"), it's a shame that it has such a crummy name. It should be called:
"Getting shit done, by exploiting other people's hard work."
That'd be a draw!
Re: (Score:2)
The better approach would be to make programming a part of, say, the pre-calculus course, or maybe make Algebra II a prerequisite. If you do that, you end up with students who have a good background in math and logic (in theory at least) and are ready for a bit of applied discrete math.
That said, I've taught the basics to bright and motivated 12-year-olds.
Re: (Score:2)
I missed the logic part of Algebra II. Maybe you meant Geometry?
Having actually majored in Logic and Comp Sci at different times, I can safely say that the 2 paltry logic-ish courses, and three proof-free math classes most compsci students have to take are no substitute for a hard-ass class in deductive proofs.
Since logic and reasoning are hardly ever taught at the high school level, it might be better to just have an "applied logic" class with a programming element. Make 'em program in Prolog, and do first
Re: (Score:2)
As someone who was tricked into a math degree, and is only beginning to see its practical benefit, I wholeheartedly agree.
It's funny; in high school I didn't see the point of memorizing all these tricks, when a computer could do quadrature (even some of my "superior" classmates didn't realize this). Now, as a stats Ph.D., the integrals are too fucking hard to do (closed forms don't give you much...), and I use a computer to do stochastic integration (MCMC). There's something wrong here...
Re: (Score:2)
Really? I had a (completely useless) mandatory programming class in the 7th grade (it was in BASIC on an Apple //e and I had already been offered programming jobs at that point [not that they could have hired me, but they didn't know how old I was]) which if memory serves, all in the class managed to pass. I also managed to teach most of my 4th grade class basic HyperTalk (on an Apple IIgs) when weather made outdoor recess unappealing. The problem here isn't that the students won't get it (assuming the clas
Re: (Score:2)
My high school's computer programming class was also AppleSoft BASIC on Apple //e computers. For awhile it was a mandatory class. Eventually they created another class called Keyboarding, which really was just typing but using a computer instead of an IBM typewriter, and it counted as computer science credit.
Programs in the BASIC class were writing a database program (which I'd rewritten the original spaghetti code one year to use GOSUB instead of GOTOs, which then became the standard that was taught), a gr
Re: (Score:2, Insightful)
Since when? I graduated HS in '04 and they were definitely teaching to the lowest common denominator at the time. Good ole NCLB. I wish they were teaching to the highest common denominator. It's better that the kids who are actually going to go on to higher education get a good foundation in high school than to set the bar low so that those who are just going back to the farm/McDonalds don't fail at anything.
I was a classic underachiever, none of the curriculum from elementary school onward was challenging
I wish. (Score:2)
I didn't get any math education during 6th grade, because I tested into Pre-Algebra, but it was too much trouble for my school to get their hands on any Pre-Algebra books, or to bother teaching me, and the small handful of other kids who qualified. (I'm not sure why they bothered testing us, in the first place, under the circumstances.) We were told that we would have to take general math again, in spite of the fact that it was a complete waste of time. We were so bored, we would have been willing to sel
Re: (Score:2)
Students that are not interested in computers will just follow the instructions in class, somehow manage to pass the test and get on with their lives.
Re: (Score:2, Informative)
That being said, the interface was very intuitive. Commands automatically were bolded and there were a lot of mandatory line breaks and tabbing which made it easy to figure out how deep into your loops you were.
I don't code for a living. I write long equations in excel once in a while, but that's about i
Re: (Score:2)
You must be the only one :)
Python predicts my every whim... Perhaps the problem is you're trying to be too clever. In that case, assembly is just right for you
Re: (Score:2)
Am I the only one who finds Python cumbersome?
Cumbersome? Nope, but definitively brittle. Especially when refactoring and copying code from one indention level to the next its just way to easy to mess things up and ending up with program that is broken in very non-obvious ways, automatic variable declaration and such make the problem even worse.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Basic? Bah.
Python? Yay!
I haven't programmed in the former since I was about fifteen. But I can't think of a single advantage that Basic has over Python, either as a programming language or as an instructional tool.
Real-world utility? Python, hands down.
Availability of libraries? Again, Python.
Ease of programming? Clarity of the resulting code? Ability to program to solve non-trivial, real-world problems? Ease of installation? Ease of demonstrating programming concepts? I'm just not seeing where Ba
Re: (Score:2)
Programming teaches problem-solving and logical thinking. So long as the programming language is powerful enough to be a vehicle for that sort of exploration, yet simple enough to keep the class from bogging down in syntactic minutiae, how can a programming class be a bad thing?
Training is bad? What the hell... (Score:2)
the ones that have gotten programming in
hs and college are less prepared as professional
programmers than those with no formal training.
They're also more likely to spend (i.e. with overwhelming probability waste) time looking for a polynomial-time algorithm for doing register allocation.
And... what the f? Having implemented a compiler as part of my university classes, I'm less prepared to work on Google's V8 compiler than a person with no experience at all?
Either you're flat out wrong, or I'm not sure we agree on what you're saying.
Re: (Score:2)