Should programming be a required curriculum in public schools?
Displaying poll results.18421 total votes.
Most Votes
- What's the highest dollar price will Bitcoin reach in 2024? Posted on February 28th, 2024 | 8481 votes
- Will ByteDance be forced to divest TikTok Posted on March 20th, 2024 | 7820 votes
Most Comments
- What's the highest dollar price will Bitcoin reach in 2024? Posted on March 20th, 2024 | 68 comments
- Will ByteDance be forced to divest TikTok Posted on March 20th, 2024 | 20 comments
Wouldn't work (Score:5, Insightful)
I remember reading something a while back about how certain people's brains are just more geared towards programming and that other people simply won't really "get" it no matter how much you try to force it into their head. There should definitely be more programming classes available to those who want them, but if you're going to force the less tech-oriented students to take a tech class, it should be something that either teaches them general computer usage or helps them use computers in education.
That's another issue with how computers are used in education: you have to strike the perfect balance between "using teaching time and resources to teach technology" and "using technology to educate". Getting the wrong mix ends up screwing both aspects over since you end up with technology being forced into places it doesn't belong, or you end up with students who only know how to use a computer to do their homework.
Re:Wouldn't work (Score:5, Funny)
I had to take four semesters of foreign languages during high school and two in middle school. I failed all six.
I'm an excellent computer programmer with over 25 years in the industry.
If I had to fail foreign languages, everyone else can fail a couple of semesters of computer programming.
Re:Wouldn't work (Score:5, Interesting)
Pretty much the same agreement here.
My teenage brain wasn't wired for going home and learning things I spent all day learning. So I didn't and I failed a bunch of classes because I just rarely did homework. No biggie, because I did spend time reading programming books and other resources that just weren't available through traditional education.
I'm sure there are loads of kids that are like I was. They get crappy to marginal grades in subjects "their brains aren't wired for." The classic underachiever.
I guess the biggest problem is getting people to teach programming. I've taught a few students when I worked at a day treatment school, but would I go back to something like that (for that pay) when I could be building cool stuff instead (for that pay)? You'd probably just be best off leaving the kids to run their own show, as the adults will do nothing but hinder and control it.
Re:Wouldn't work (Score:5, Insightful)
"My teenage brain wasn't wired for going home and learning things I spent all day learning."
No teenage brain is. That is why parents also have to instill a reasonable work ethic and show them algorithms for reaching goals. If we all just passed stuff off that we weren't naturally good at as not being worth it we would be inadequately prepared for life.
I was not and am not naturally inclined towards math, but in my adulthood I went back to school, spent hours a day at it and had tutors and I finally got through basic calculus and even a little linear algebra. It was hard. And it was worth it.
Re:Wouldn't work (Score:3, Interesting)
No teenage brain is. That is why
... people should pull their children out of these shitty one-size-fits-all schools.
Re:Wouldn't work (Score:3)
Why is my parent modded flaimbait?
He is perfectly right!
Our school systems (not looking either at USA nor germany nor any other for that matter) fail in three ways: they can not teach a genious (bored bored bored) they can not teach the mediocre ... and most of all they can not socialize them to live/learn together.
When I was young we kids considereds chool a children prison .. no one realy understood why we should spend 6 - 8 hours a day in school when you could read/learn the stuff in 1 hour. No one told/educated us how to prepare for a test. We had like 2 written tests a year in 'normal classes' and 4 tests a year in 'main classes'.
How the heck am I supposed as a 10 year old to 'prepare' for a test that covers half a year of school? When noone, neither school nor parents introduce the concept of 'preparation'?
Did I mention that the whole amount of knowledge could have been taught in 6 weeks instead of six months?
Re:Wouldn't work (Score:5, Insightful)
It's not about having a predisposition towards programming. Plenty of people aren't predisposed to math, science, english, etc, but they still have to take these courses.
Just because you take a few classes that help you to understand logic and how computers work doesn't mean you have to be a computer scientist.
Re:Wouldn't work (Score:2)
"My teenage brain wasn't wired for going home and learning things I spent all day learning."
No teenage brain is.
People are different - even teenagers.
I used to look forward to school starting, because I got glorious new maths, physics and chemistry books. I spent the first couple of weeks going through all the exercises and tests at home, and then was bored out of my mind for the rest of the school year. Sometimes I stole my three year older brother's assignments, so I could have fun solving problems.
Re:Wouldn't work (Score:2)
When I was in high school I took two years of IBM basic {electively, and I know 1980s was a long time ago} the computer courses offered at that school, now that my kid goes there, are Microsoft Office.
I think even VB.Net would be better than what they have although I would prefer C or C++.
Re:Wouldn't work (Score:2)
Somehow I got past the "typing and MS Office" class. I don't know what my life would've been if I was forced into those instead of being able to try out the cool stuff instead.
Re:Wouldn't work (Score:3)
I'm completely disappointed with my kid's classes most of the things I loved about school aren't there anymore aside from the IBM Basic they don't do any lab experiments in their science classes either due to cost and insurance issues.
I used to spend my last morning class {history} impatiently watching the clock because after lunch it was Computers and Science. If I were to take those courses as they are offered now I would probably fall asleep.
Re:Wouldn't work (Score:2)
Posting to undo accidental down-mod.
Re:Wouldn't work (Score:2)
Please no more required subjects (Score:2)
I'm not convinced you can learn a language in school. I had to study 4 languages in high school (one of the many down sides to growing up a native speaker of a dying minority language). For years, never mind semesters. I always had decent grades for them too. Two of them are now missing. If you don't get to use a language every day, it just goes away, no matter how hard you studied it in school. I would have been better off taking crash course a month before, if I ever end up needing one of those languages. Or another.
I don't agree that one needs some special innate ability to learn to write code that most people just don't have. Anyone who can learn how to read and write, and is capable of following a recipe for baking a cake, is capable of learning how to understand and write a simple program. Writing instructions in English is not a fundamentally different thing from writing instructions in your favorite programming language. If you do it every day, in an environment where you get feedback from peers, and care enough to learn best practices, most people would probably be able to learn to do it well enough to get paid for doing it. Mind you, I'm not saying everyone has what it takes to be a great computer scientist. This is about programming.
Question is: should you make them? There are already so many required subjects, and this is yet another one that most people wouldn't have any use for throughout their entire lives. Almost everything learned would just fade away within a few years after graduation, leaving nothing but a bad memory of spending endless frustrating hours learning something you couldn't care less about and would never need in your life.
I think a good school should probably offer computer classes for those who are interested. I just don't see the benefit to forcing it down people's throats
Re:Please no more required subjects (Score:3, Insightful)
Anyone who can learn how to read and write, and is capable of following a recipe for baking a cake, is capable of learning how to understand and write a simple program.
Have you ever tried it? Have you ever tried to teach people programming? I do it for ten years and according to my observastions there are some people (about 75% of population) who will never be able to program.
I'm convinced you'll observe the same if you try to teach a class Chinese, yet in China, everyone manages to learn it just fine. Start early and practice every day works for almost any skill.
Re:Wouldn't work (Score:3)
Anyone who can pass home ec can pass programming.
Re:Wouldn't work (Score:2)
Re:Wouldn't work (Score:2)
Re:Wouldn't work (Score:2)
I've yet to see a compiler's output as pleasant as my mother's apple pie.
When can I expect gcc to make me pie?
Re:Wouldn't work (Score:2)
When can I expect gcc to make me pie?
#include "mpi.h"
#include
#include
int main( int argc, char *argv[] )
{
int n, myid, numprocs, i;
double PI25DT = 3.141592653589793238462643;
double mypi, pi, h, sum, x;
MPI_Init(&argc,&argv);
MPI_Comm_size(MPI_COMM_WORLD,&numprocs);
MPI_Comm_rank(MPI_COMM_WORLD,&myid);
while (1) {
if (myid == 0) {
printf("Enter the number of intervals: (0 quits) ");
scanf("%d",&n);
}
MPI_Bcast(&n, 1, MPI_INT, 0, MPI_COMM_WORLD);
if (n == 0)
break;
else {
h = 1.0 / (double) n;
sum = 0.0;
for (i = myid + 1; i = n; i += numprocs) {
x = h * ((double)i - 0.5);
sum += (4.0 / (1.0 + x*x));
}
mypi = h * sum;
MPI_Reduce(&mypi, &pi, 1, MPI_DOUBLE, MPI_SUM, 0,
MPI_COMM_WORLD);
if (myid == 0)
printf("pi is approximately %.16f, Error is %.16f\n",
pi, fabs(pi - PI25DT));
}
}
MPI_Finalize();
return 0;
}
Re:Wouldn't work (Score:2)
Oops - It didn't like the brackets around stdio.h or math.h. Oh, well - You get it.
Re:Wouldn't work (Score:2)
Re:Wouldn't work (Score:2)
...if you can pass home ec, you can learn programming...
I have to disagree there. If you can follow a recipe, you can make cookies exactly as well as the person at the next station. If you can copy and paste, you can run a program exactly as well as the person at the next computer. But running an identical program is NOT programming, making identical cookies IS baking. If you can find me a job where they want the same program written every day for years, sign me up. I'll return the favor by finding you a place where they want the same burger cooked 1,000 times a day.
Running a program does not make you a programmer any more than making 3 identical trays of snicker-doodles makes you a chef.
Re:Wouldn't work (Score:2)
It's a shame so many programmers insist bugs must exist. They spend more time coding in bugs than working on processes that eliminate them. Rather than Open Source programs, we should have Open Source libraries. Have millions of people combing through libraries removing bugs and validating code, then the "new" programmer can write complex more simply than baking cookies, and just as rote.
But yes, when we have a bunch of programmers writing entire programs from scratch that have been done 1,000,000 times, it's new and interesting. Like baking cookies from no recipe and without any measuring devices.
Re:Wouldn't work (Score:2)
Re:Wouldn't work (Score:3)
Re:Wouldn't work (Score:2)
Re:Wouldn't work (Score:2)
Re:Wouldn't work (Score:2)
I'm not talking about sanitizing inputs from a web form headed to an SQL database. If you're referring to the cheapest possible bidder that pays pennies for shit code, then obviously you'll get exactly what you pay for. You seem to think that that's the only option out there. It's not, and that's my point. Like I said, generic components that fit everyone's requirements are the hardest components to get right. I did not state, nor imply that they do not exist. You can infer, however, that there aren't that many out there that can truly be used by everybody.
I'm wiling to bet that the primary reason you've only experienced "shit programmers" that "mumble" and don't give a flying fuck about your business is percisely because of how much of a flying fuck you gave about them, personally and professionally. Give nothing but contempt, and you'll get nothing but contempt in return. Fail to invest in them, then don't expect any investment in you in return. Ride them constantly, and they'll give you a reason to ride them, because it wouldn't matter to them one way or the other... why should they bother if you'll never acknowledge anything anyway.
If my experience taught me anything, those concerned with blame are a cancer on the mind, creating an environment fit for a soap opera, forever stuck extinguishing existing fires simply because they won't bring the building up to code.
Re:Wouldn't work (Score:3)
And I believe everyone should take some form of home economics, and that it should not be a freshman class, but a senior one. One needs to be able to cook, clean one's living space, take care of one's clothes, handle one's personal finances, pay one's taxes, and do all sorts of other personal-life tasks. I did not take Home Ec, and I struggle with cooking and keeping my house clean and organized. My wife describes as a college student having to teach other college students how to do their own laundry when they got to the dorms and apparently never learned that basic skill. This was at friggin' MIT. They were book-smart and real-life stupid.
By contrast, computer programming is useful to only a fairly small subset of the population of even computing professionals, let alone humanity-at-large. Computer repair/desktop support technicians, network infrastructure specialists, network engineers, and even many application-support specialists won't benefit particularly from in-depth programming knowledge as they won't really need much programming in those roles, and the programming that they need can probably be gleaned from O'Reilly books and other sources. I certainly don't need a semester or year of programming in order to do shell scripting.
Basic computer usage skills do make sense, but those developing the curriculum will have to be very responsive to industry changes, which makes it difficult for such an education to be terribly practical in this era of the commoditization of computers and electronics.
Re:Wouldn't work (Score:2)
And I believe everyone should take some form of home economics, and that it should not be a freshman class, but a senior one.
Why not freshman? Why not even earlier? I learned how to do cleaning and cooking by the age of 8. Long before Home Ec was offered in my middle school (I took wood shop, instead, but I had already learned a lot of that before, too).
(Unfortunately, liability issues have driven most "hands on" activities out of schools (and out of what parents teach their children).)
Basic computer usage skills do make sense, but those developing the curriculum will have to be very responsive to industry changes, which makes it difficult for such an education to be terribly practical
That depends on how it is taught. Unfortunately, at least in the US, these classes often end up being "how to MS Office", which was easy for the teachers. Then MS radically changed the UI of Office. It is not a good idea to teach the details of a specific version of a specific tool set so early in a student's education.
As for programming, once children have gotten the basics of arithmetic, they can start learning programming. And programming has the potential to improve actual understanding of math over memorization of formulas and cranking out calculations.
Re:Wouldn't work (Score:2)
Because normally students only get one semester or one year of Home Ec, and since after that year it's most needed for real, it makes sense to teach it then put it into immediate practice. If one doesn't put it into practice then one tends to forget, and as freshmen, sophomores, or even juniors, students have a lot of opportunity to fall into previous practices (ie Mom and Dad do it) as opposed to being forced to continue the new ones.
Re:Wouldn't work (Score:2)
Re:Wouldn't work (Score:2)
The real barrier to programming is the OCD disorder that compels the programmers to try the for loop 1000 times to see what happens. Yes, there are that many things you can try there that aren't simply extrapolatable. You can have equations in every term, with differing results, and you can change the value of the increment within the loop, making it into a while or conditional, rather than the original intention of a for. So yes the "play with things" is different, but both cause learning.
Programming isn't hard. Describing how to drive is programming. "Step one, get in the car (calls subroutine open locks, open door, get in, close door, buckle seatbelt) step two pre-driving checks (call put key in, turn to "on", look at dashboard lights, check mirrors, look around car for obstacles) step 3 start car (foot on brake, car in park/neutral, turn key), step 4 drive (car in drive/first (call clutch if first), release brake slowly, steer, accelerate, stop when needed).
The only problem is seeing everything as a program. Getting ready for work is a "program". You could write it down and automate it, Wallace and Grommet style. Well, that and convincing programmers that programming is actually a common life skill, and not painting the mona lisa every time it compiles.
Re:Wouldn't work (Score:2)
This is true of all learned subjects.
Temper your nihilism.
Re:Wouldn't work (Score:2)
Re:Wouldn't work (Score:3)
There should definitely be more programming classes available to those who want them [my emphasis]
You know I hate to be boring and complain about missing poll options ...
Re:Wouldn't work (Score:3)
Agree 100%. Should a plethora of programming courses be required? No. Should they be available? Hell yes.
Re:Wouldn't work (Score:2)
Incorporated option (Score:2)
What about treating it like other "literacy" types? Many subject include projects include the option or expectation of writing, speaking, mathematically analyzing, and or graphically illustrating topics. Why shouldn't dedicated education in this modality be supplemented by incorporating it in the other classes?
Mathematical and computer modelling is a huge educational and research tool. It'd be nice to see a bit more of that in our classrooms.
Problem Solving (Score:5, Insightful)
Re:Problem Solving (Score:5, Insightful)
I think problem solving and logic are much more important than coding itself. Lots of kids have no interest in coding and it will just be another class they struggle in. Teach them how to solve a problem logically and they can apply it to lots of things in life. Coding can be used as examples to show how the logic flows through the process from beginning to end, but to try and force a bunch of kids to learn how to code variables, If Then statements, recursive loops, I'd be banging my head against a wall as a teacher.
"Ah, but teaching them coding is a vehicle for teaching them logical problem solving," said the ex-math teacher in rebuttal. I used to use the same rationale for explaining to students why they needed the logical problem solving abilities they were learning in my math classes as much (if not more) than they needed the actual math techniques. I don't know how you would teach "logical problem solving" without some vehicle like math, programming, etc.
Cheers,
Dave
Re:Problem Solving (Score:2)
Flowcharts no longer exist? When did that happen?
Re:Problem Solving (Score:2)
Flowcharts no longer exist? When did that happen?
Sometimes I actually find it amusing when people criticize some unmentioned, tangental aspect of an assertion and then don't bother to connect what they've said or offer an alternative. In your case it's just sad.
Cheers,
Dave
Re:Problem Solving (Score:2)
Re:Problem Solving (Score:2)
Flowcharts no longer exist? When did that happen?
News to me
Actually, flow charts are a form of programming. A good place to start. Something like a simple variant of Simulink or LabView would even allow the computer to run the logic depicted in the diagram.
No, but make it available as an option everywhere (Score:4, Insightful)
Re:No, but make it available as an option everywhe (Score:2)
It should be the opposite - make calculus a mandatory course.
Calculus is/was Required (Score:2)
Just like calculus... don't make it required
Obvious missing option -- ELECTIVES! (Score:5, Insightful)
[x] No, it should be elective.
Remember electives? Typing was elective when I went to HS. I took it specifically because I figured it would be useful for computing. Home ec, auto shop, languages, etc. All elective. IIRC, you were required to take at least one elective to broaden your horizons; but the choice was yours. I'm pretty sure my HS computer class (with 8-bit NECs!) was elective because there just weren't enough resources to make it required. That made for a teacher and students who were both motivated. The teacher was a consultant who only taught for that one hour. I wonder what he's up to these days.
Re:Obvious missing option -- ELECTIVES! (Score:2)
Re:Obvious missing option -- ELECTIVES! (Score:2)
[x] No, it should be elective.
Seconded.
Just because computers are something "they'll use every day" doesn't mean programming should be a required course, any more than automotive repair should be. Or food prep.
In the case of many public school attendees, Point-of-Sale and industrial deep fryer operation would be far more relevant to their future careers.
Re:Obvious missing option -- ELECTIVES! (Score:4, Insightful)
I would argue that food prep should be a required class. When I was in school, everyone was required to take cooking, sewing, and wood and metal shop. Cooking is, or ought to be, a daily activity for most people; they certainly shouldn't count on a lifestyle that has somebody else preparing all their meals. A cooking class with a good emphasis on nutrition could do a lot to reduce widespread obesity.
Re: Obvious missing option -- ELECTIVES! (Score:3)
I went to school in a third world country in 1982 and we had it then (basic on conmodore pets)
That rocks. BTW, my HS experience was in 1984 in Fairfax County, VA, USA. That was and still is considered one of the best public school systems in the US. At the time, most of the school was not air conditioned. One wing had AC and that's where the computers were. We had one classroom that seated about 30 students. There were perhaps a dozen of these NEC computers in there. The only other computers I was aware of at the school were a handful of Atari 800s. Sadly*, these were used to show flash-cards to underachieving math students, and perhaps a few other lame academic applications. I didn't have the time to ask if I could grab one and POKE around with it. I suspect the answer would have been "NO" anyway. The NEC machines were interesting in their own way. Much like the C-64, you could read/write directly to the memory used to display characters on screen.
*Sad, not because I don't think underachievers deserve resources; but because I think the computer was already being used as a silver bullet for whatever was lacking in these students.
Re:Obvious missing option -- ELECTIVES! (Score:2)
Are CS courses really available in all districts? It's easier to assume that now when everybody has 3 computers falling out of their pockets. It definitely wasn't true when I was in school. There may still be some districts where the courses aren't available or there aren't enough slots for all who want to take them. When I was in school the tech was a bottleneck. Today the bottleneck is probably a shortage of qualified teachers. So. I don't think it's available as an elective to everybody. Certainly just throwing a bunch of kids with iPads and a text book into a room with the PE teacher who was the only guy available... that's not teaching. Of course, that goes for a lot of things not just CS.
Might be useful for screening.. (Score:3)
Seriously, there are those who do have the aptitude, but they'd be going like 90 while their classmates are struggling with if .. then .. else
I don't think high school is a place for screening courses, save that for the first year of college.
"yes, your code works, but you put documentation in it, that will not do."
Tough question... (Score:2)
Better question, before or after algebra (Score:2)
Algebra introduces the use of variables. Should students first see variables in a programming class or a math class.
Re:Better question, before or after algebra (Score:2)
I disagree. Many people understand the concept of variables long before their introduction to Algebra.
I remember Algebra being a course about factoring and moving variables within the equation. I am not going to deny that the skills gained in these exercises are useful; but, they should not be a barrier.
I remember being in High School and not being permitted to take a computer class because I was not in Calculus. This didn't motivate me to study Calculus; further, computer classes should not be used as a carrot for some other part of the curriculum. They should be used through the educational process where appropriate (I really cannot believe we are going back to this discussion after thirty years).
Long term will spell doom (Score:5, Funny)
Eventually some of those high school students will make their way through an MBA course which will lead to disaster.
Let me put it this way - how much worse could your boss/team lead/manager screw things up if they thought they could code?
Re:Long term will spell doom (Score:2)
[X] No - it'll do more harm than good
I'll have to agree with this. Programming should be only taught to people who have already managed to learn the basics by themselves, using whatever methods available to them. They are the ones that will benefit the most from being taught, having already proved that both motivation towards subject and required reasoning capability exist.
Nowadays, there are plenty of self-learning resources available on the internet, both the tools and documentation are available mostly for free. The remaining obstacles for kids today would be motivation, and time. And let's face it, no one actually learns to program by doing school exercises (because the trick is not knowing how to implement all those complicated algorithms, but knowing how to avoid having to solve the complications in the first place... KISS).
Instead, I would put "using Google" to the required curriculum. Based on my observations, a lot more people would benefit from that...
Re:Long term will spell doom (Score:2)
Using Google?
Seriously!
I have came across many of using google type that can not write a single line of code without using google.
Yes, seriously. I spend a surprisingly lot of time googling stuff for others (I don't magically know everything, either, even though they seem to think that I do). If they knew how to do it themselves, they would save (a) their time (because I usually can't respond immediately), (b) my time.
Re:Long term will spell doom (Score:2)
how much worse could your boss/team lead/manager screw things up if they thought they could code?
Maybe they would be better at their jobs if they knew a little more about software, and that it is not black magic, but an art that takes time and care to get good results.
Re:Long term will spell doom (Score:3)
Tough to say. It might be offset from the GOOD that would come if people would quit making SharePoint lists with text fields to hold numeric data. ...
1
10
11
12
2
3
kill me.
Re:Long term will spell doom (Score:2)
You're right, better leave them doing the same job with a convoluted Excel spreadsheet.
Yes, as part of computer skills (Score:3)
Should all kids be required to take a computer class? Yes. Several? Yes. This stuff is going to be a big part of their lifestyle for the next 70 years. It'd be idiotic not to give them more of a clue that they'll get browsing Facebook.
What should those classes teach?
- OS principles (files, folders, networks, security)
- Basic hardware and architecture, printers, etc
- Troubleshooting, debugging skills
- Basics of software, which includes an intro to programming principles and practices (processes, procedures, loops, bugs, etc)
Computing and data will be such a fundamental omnipresent part of ALL modern life that no one can call themselves educated without gaining some rudimentary understanding of how they work. That includes software, how it works, and how it's made.
I Don't think it should be an elective (Score:2)
Speaking as someone who had to do a "computer" subject at school back in the mid 80s, I will say that I leared a lot from that time that still applies today. We basically only learned BASIC, but I can't remember the PCs. I think they were Casio.
Anyway, this subject was compulsory, even though it was not a core subject and was not part of final year exams. Most of us loved it, even though quite a few struggled with it.
Like some others have already mentioned, programming does teach you logic.
In my opinion and experience, I highly recommend it.
New Math (Score:2)
Some of you lot here might be old enough to remember or have been victimized by "new math" [wikipedia.org]. Among other things, new math attempted to teach school kids various things that would be needed in order to be more computer savvy. I learned, among other things, basic set theory and the idea that numbers could be represented in other than base 10, including binary representation. But after I had learned programming I found at a rummage sale somewhere an older "new math" basic algebra book that contained various "extra for experts" sections that taught the basics of PL/1 programming.
These books were ahead of their time and were not a bad idea. The students who felt they could do the work could complete the exercises; those who were not inclined to be programmers could decline. I suspect few students learned anything from those books considering that the exercises could only be run on a minicomputer or a mainframe at that time. But today it's a different matter entirely.
Start simple and young, slowly build up from there (Score:2)
That just leaves the biggest problem of all... Finding enough (any?) qualified teachers who are both willing and capable of actually delivering the tutition.
Logo - turtle graphics (Score:4, Informative)
It should be taught as a tool (Score:2)
Re:It should be taught as a tool (Score:2)
Why? (Score:2)
Why on earth should kids learn to program? If you want to teach them programming, are you going to teach them every other profession too? Will they get flying lessons, in "pilot class"? Will they be taught architecture, so they can build their own house? I think it's nonsense.
Re:Why? (Score:2)
Because no matter what profession they choose, they will work with computers. That's the way the world is going. Teaching them how to use those computers effectively will be a huge advantage to them. For example, most office workers spend their days doing the same repetitive tasks over and over again. Knowing how to write scripts to automate those tasks would be very useful. Teaching the basics of programming isn't equivalent of training them to be developers, it's just showing them how to use the tools they will be working with.
Missing Option: There should be no public schools (Score:2)
It's not the government's job the educate children, even less so when the funds used to do so are extorted essentially at gunpoint from people who don't even have children or whose children are not using the public schools.
However, in the current terrible and violent public school system, it's beneficial to the kids to have programming courses available, at least those so inclined may get something useful in life out of it. The overall public school experience is detrimental and harmful though, to kids and to those who are poorer resulting from the extortion used to fund the babysitters at best and indoctrinators at worst.
YES! (sort of) (Score:2)
One or two good computer classes that would teach a bit of code but mainly a) how computers work (hint: NOT MAGIC, and NOT SENTIENT) and b) logic would be great.
Re:YES! (sort of) (Score:2)
One or two good computer classes that would teach a bit of code but mainly a) how computers work (hint: NOT MAGIC, and NOT SENTIENT) and b) logic would be great.
Because people use computers every day, and thus should have at least a basic understanding of how they work, right?
So... why isn't a basic Automotive Maintenance class mandated as well? Oh, and we should also mandate a basic electrical class, since we all use electrical devices every day. Oh, and a basic food prep class, and a basic parenting class, and a basic household/finance management class...
You know, I started off going for sarcasm, but the more "joke" mandatory classes I think of, the more I think, "hey, maybe we're on to something here..."
Re:YES! (sort of) (Score:2)
Many of those subjects *are* required in American high schools. Electricity and the principles of combustion engines/mechanical systems are covered in physics and chemistry. The math used to manage finances and in food recipes is covered by traditional math classes, even in elementary school. Biology covers the mechanisms behind producing a child, if not the parenting.
There is value in understanding the basic concepts of computing, just as there is value in the basic concepts of chemistry, physics, biology, etc.
Require nothing (Score:2)
Alternate Question (Score:2)
Should wood shop be a required class? Welding? Auto shop? POS system operation?
Schools are supposed to places that teach kids to be well-rounded, fully functional adults, not how to be a good employee. Let the businesses pay for their own damn training*.
* Not to say it shouldn't be offered as an elective, like wood shop or media production.
Critical Thinking would be better (Score:2)
No. We've been lied to (Score:2)
There is zero financial reason for anyone in America to pursue STEM. They are better off getting into medical, legal, real estate or starting their own business.
All my life I wanted to be a programmer like my Dad was in the 70's. He made good money and it was a very respected career even through the 80's. I tinkered with computers, learned to program in BASIC, then C and went on to learn a lot of UNIX shell scripting.
I graduated high school in 1991 and entered college with a bit of excitement. Half way through I dropped out after learning that these jobs were mainly being sent overseas. My dream of working at someplace like Motorola or HP, etc were dashed to pieces as none of them would be hiring local talent anymore. What a joke it all was and still is today. Office Space summed it all up pretty well IMO.
Re:No. We've been lied to (Score:2)
I think that you can find crappy work environments in any field of employment, and Software is no exception. I've been coding professionally since the late 80s and have nearly always enjoyed my projects and work environment.
Like art or science (Score:2)
Most students won't be scientists, but science is required, in part to help students understand the basics of how science works.
Most students won't be artists, nor can many of them succeed at being good artists, but many schools require at least some art or music, in part to help students have a basic understanding of this important part of our lives.
Most students won't become programmers, but they should at least understand the basics of how you tell computers to do things. This understanding will help them solve real-life problems in life, since we are already awash in a sea of computers.
Yes, some computer language instruction should be required, but there is no need for much more than a taste, except for students who choose to pursue a career related to programming or engineering.
Spooky (Score:2)
It already is? (Score:2)
Before high school? Really? (Score:3)
The purpose of grades 1 to 8 are to teach kids how things are made and work, not how to design / engineer them. That's largely the purpose of college and university.
So much to say on this topic (Score:4, Insightful)
What are mandatory STEM subject that nearly everyone else thinks are useless? math, chemistry & physics
Now that we are adults (many of us are now parents also) we can see that this all of it was important and we should have applied ourselves better in high school. We can say "all kids need to learn computing theory, programming etc. because it is important" all we want; but, look how it was when we were young. Ultimately, the lessons I take away as far as educating our kids:
1. We need to pay & respect teachers better to get better results in public education
2. For key STEM subjects, you must find a way to make it relevant to the student TODAY.
3. Parents must work everyday to keep their kids motivated to learn.
4. Bottom line: kids need discipline and fun in their lives in equal measure. Don't beat it into them, motivate them & let them WANT to do it.
Are you out of your minds? (Score:3)
No, no, a thousand times no. Would you require plumbing classes? Electrician classes? Carpentry? Auto repair? Accounting? The list goes on. You can't offer classes for every job specialty that there is out there. The logistics alone are unfeasible. Where will you hold these classes? Where will the equipment come from and who will maintain it? Who are you going to get to teach programming? These are fine things to offer as electives, but to require programming is idiotic.
Re:The problem... (Score:2)
Show me one person who wishes to do such tutoring - and I'll show you someone who can't competently explain any of it.
My experience with programming classes in high school (yes, in the late '80s) differs from yours. Your statement is wrong. I've lived through the exception. Yes, most of the learning was self-taught, but those who didn't understand had it competently explained until they did.
Re:The problem... (Score:2)
In the 80s, lots of adults were fascinated... this enthused them to study alongside students. That happened. Today, adults are either specialists already or are disinterested. Specialists are, in my experience, today, unlikely to find a career teaching a mandated subject (likely to a bunch of less than enthusiastic high school students) a compelling occupation.
Re:The problem... (Score:2)
The specific teacher I'm thinking of had a PhD in education, so I'm not sure had he come later that he would have had the interest crushed from him. He enjoyed sparking the curiosity of students, then getting out of the way and letting the students teach themselves, with himself as a resource, if needed.
Re:The problem... (Score:2)
That description of measure theory re-affirms why I wanted to know more in the first place. I tried reading one book - and, while the subject material was interesting, the language used to explain the concepts felt rather opaque and this represented an uphill struggle - for me - as a non-specialist. I cheekily mentioned it - erm - because I'd love to find someone who has a deep understanding who wants to de-mystify the subject... My interest was piqued by the possibility that measure-theory might illuminate an approach to comprehending scale - distinct from "counting units". Everyone has an intuitive grasp of the real line - but - I suspect - it is a poor model for lots of observations. I don't know what a better measurement model would be - but think a clear understanding of measure theory might provide helpful insights. I am enthusiastic about the idea that novel measurement models might have significant practical applications.
I was not previously aware of a connection from measure theory to Kolmogorov - though it doesn't surprise. This is something I'd love to know more about - but I'm failing to find accessible material from which to learn.
Re:Yes, but appropriate for age level grade 6-12 (Score:2)
Re:Learn some algebra first (Score:2)
What use is programming without some knowledge of algebra?
Aside from basic arithmetic, a programmer needs very few math skills. I've almost never used algebra during my entire career as a coder. Of course, for my own projects it's a different matter, but even then I've never used anything beyond trigonometry.
Re:Learn some algebra first (Score:2)
What use is programming without some knowledge of algebra?
Aside from basic arithmetic, a programmer needs very few math skills. I've almost never used algebra during my entire career as a coder. Of course, for my own projects it's a different matter, but even then I've never used anything beyond trigonometry.
Isn't a function basically a representation of an algebraic formula? And I was always under the impression that exponents were de-facto elements of algebra...
Re:It'll spark (Score:2)
Knowing how to program doesn't mean that you will be a good programmer, but it will be easier for you to spot a good programmer.
Re:Calculus should not be an elective (Score:2)
In any university-track school curriculum, calculus is a requirement, not an elective.
Yea, but the problems are the following:
1) except for engineering and math students, very few students will *take* higher math classes in college
2) the first two weeks of college calculus covered more then the entire year of high-school calculus. It's slowed down so people who want to go to college, but don't want to take math, can keep up.
3) learning abstract logic through programming in an expressive language like python or ruby (or perhaps some domain-specific language) is much more applicable to day-to-day life then calculus, which is only really used by engineers and scientists. Even math-heavy jobs like those in the accounting and finance fields don't use much calculus, do they?
Re:missing option (Score:2)
We already have many, you silly fox... Let's give your kind your own country,
Re:Been there (Score:2)
I took a comp sci class and two programming classes in High School. There was talk of adding a third but it never happened while I was there. We learned pascal in the final class and I suppose their might have been copying going on but I sure didn't know about it. Both of the teachers I had though were interested in the curriculm and had experience programming themselves. Actually now that I think about it there wouldn't have been a good way to copy paste any of the code as we were working on 8086's and 8088's that didn't have any means of communicating between them, maybe we could have used floppies or something.