Possible end result?
Poettering's Pulse Audio? Something good coders will spend years fixing?
The idea that computer programming should be compulsory in schools is hugely popular with metropolitan media luvvies and quango-hoppers - but serious questions were raised by people who do it and teach it this weekend. Some argued that the current overemphasis of the field, rather than encouraging an enquiring technical mind, …
"In terms of logic, teach philosophy."
When I was a student at St Andrews (a few years ago now) all students wanting to graduate with an MA (i.e. all the Arts undergrads) had to pass first year Philosophy. Jolly good idea too - pity it didn't include the scientists as well.
And Latin? I had an interview, again many years ago, for a job as a programmer developing shipboard weapons systems, and they said that their best programmer was someone with a double first in Latin and Greek.
Bring back the good old days - Latin instead of meeja studies!
The reason maths is incorrectly believed to be not equal to fun is crap teaching and contagion from adults who believe it is not fun.
I was absolutely furious to hear that my niece's grandparents, worried she wasn't up to snuff for her new school, had given her reams of sums to do (some of them they marked incorrectly, ironically).
This is turgid; no wonder she texted me that she hated maths. So I texted back to her to find me a pinecone, see that it was made of two spirals of 'squares' and tell me the number of the squares in one of the spirals. She texted me the bigger one was 13; I texted back the smaller one was 8.
Guess who's interested in maths again?
I can't do much more than very basic maths -- it's just the way that my head works.
But, I love the way that maths works, how numbers work - or how bloody weird numbers can behave.
I can't see the beauty in equations but I can see Fibonacci in plants and galaxies.
So, you lot with maths can do the painting and I'll look at the artwork you produce.
"The reason maths is incorrectly believed to be not equal to fun is crap teaching and contagion from adults who believe it is not fun."
Non-mathematician's view of maths teaching:
A long explanation of the perfectly obvious situation the teacher is about to render into mathematics.
A sudden flurry of equations being rearranged with maybe a new notation being thrown in on the side. If this were taken a little more slowly it would be perfectly easy to follow it but it's done at such a speed as to appear to be sleight of hand.
The teacher then adopts one of two attitudes. Either the pupil is being wilfully stupid because it's obvious or else extra coaching is required which takes the form of explaining the obvious at even more mind-bending length followed by repeating the conjuring trick at double speed.
Those who can follow the shuffling may go on to become mathematicians, those who can't won't so maths becomes something practised by those who selected for their ability to understand other mathematicians who can apparently write with both hands at the same time. (I'm a biologist so I understand natural selection).
You can repeat this, with appropriate modifications, for any subject you care to name; we can't sense that there are difficulties, let alone what they are, for those whose aptitudes lie elsewhere. Yes, that includes you, and maybe me before I retired, training up users with the new shiny S/W. Lull them to sleep with a long power-point presentation and then lose them by typing all the text & clicking the buttons faster than they can follow because you know it so well by now that you can do it with your eyes closed.
I was taught French for two years by a number of substitute teachers who could not speak French. Needless to say, I did not do well in my GCSE.
I would have more confidence in this scheme if it invested in teachers and supporting them for a few years before rolling out the a program like this out. Good English, Maths and Science grades will set people up in the long term more efficiently than learning just programming in isolation. One of the best programmers on a team I was on was a former accountant who got into IT through BtE.
I had a French teacher (age 11-14) who could not speak French too. I spent 3 years doing 2 hours of French a week. The class consisted of sitting down, reading a bit of the French book, followed by writing down 20 odd words. We then had to spell the words and get them checked by whoever we were sat next to.
She'd been doing the job for 5 years and getting away with it until a bi-lingual kid in my brother's year joined. Says a lot about the school system that she was not sacked on the spot after the Froggy (we did do original nicknames back then) attempted his first (and probably her's) conversation in French.
I've learnt more French watching the odd French skin flick in foriegn hotels then I ever did at school.
I was taught French for two years by a number of substitute teachers who could not speak French. Needless to say, I did not do well in my GCSE.
I had this experience as well. One the the exams involved listening to a recorded tape of questions all in French whilst filling in a multiple choice answer booklet. My understanding of the language was so bad that I couldn't tell where one question ended and the next began. To my embarrassment I closed the answer booklet a good 10 minutes before the tape finished playing.
Surprisingly, I got a D grade for my French GCSE. I'm still at a loss as to what would be required to achieve one of the four grades below D.
I have a deep suspicion that Coding isn't the New Latin. But rather the New Woodwork. In effect, teaching kids to do jobs.
When I was at school we all had to learn to make dovetails and fasten stupid bits of wood to together. I don't think many of us were wanting to be joiners, and some of us were turned completely off the idea of any kind of skilled work by this dreadful tedium.
Latin was for the remaining grammar schools, where they expected kids to go to posh universities.
Coding is the 21st Century version of getting kids to so something at school that will be useful - because education is wasted on the working classes.
"...but school is there to teach."
Sadly no, the school is there to get kids to pass exams, get better grades, push up the OFSTED rating and get better funding for the school to repeat the whole sorry process.
I'm no autistic or anything on those scales but like a lot of kids at school I was very, very bored because the pace was so slow. I loved learning, my parents were constantly teaching me practical useful skills. My Mum loved history and reading and my Dad was very practical, a mechanic by trade but worked as a manager of the repairs dept of a chain of leisure centres and a keen amateur photographer to boot. I love spending time with them as we always did interesting stuff. I hated school because most kids were morons and the teachers constantly had to keep holding classes back to the lowest common denominator. As a consequence most of the brighter and keen kids got bored very quickly, we coalesced into our own clubs and studied the subjects we liked, mainly computers, in our own time.
The sad fact was I went to college and lasted 2 months before I quit, I was even more bored there. I tried another college and the pace just wouldn't move fast enough in the technology subjects I signed up for. This was around 1988 when most kids had been told to get into computers by parents and most didn't have the aptitude or interest, they'd just been told to chase pound signs. The second any discussions started about core theory on database structures or sorting algorithms, they were completely lost and we had to spend more lessons teaching the basics they should have learned at GCSE. Meanwhile most of the keen kids had been using computers since the early 80's, we'd taught ourselves the core and what we needed is teachers to take all that raw knowledge and organise it correctly and help us apply to in a formal way.
One thing I do with own daughter is to teach her to study problems and understand things from a practical point of view. We had a discussion on the nature of freewill for her R.E. class the other day, much the same as my parents did with me. Talk over a range of ideas around the core subject to put it into context. That way you have the basis and ability to take on a problem with a more practical bent and construct arguments and arrive at a more rounded conclusion. She wants to be a vet, which like a doctor or an IT tech you have to diagnose a mystery, draw conclusions and suggest a safe and effective remedy.
+1 for doing useful stuff.
It's worth making it compulsory in the lower age brackets because it teaches methodical thinking, solution approaches (object-orientation/procedural/functional) and a little bit of coding/scripting gives people tools to do things, even if they don't want to go into CS.
I don't really use my CS degree knowledge that much, but I've often used a bit of perl scripting to translate from Office-based templates to configuration database formats. I'm not really a programmer, but I often use vim, sed and regexes to reformat data.
Lots of things are not fun at school and we won't use them later - we don't need more gamification. I've never needed to dissect a frog since school. While there is some need to learn about things, its much more important to learn how to learn and to give (force) a wide tasting of areas to children who at least initially aren't interested in any of them.
"....It's worth making it compulsory in the lower age brackets because it teaches methodical thinking, solution approaches (object-orientation/procedural/functional) and a little bit of coding/scripting gives people tools to do things, even if they don't want to go into CS....." No! Please, stop right there! if anything, ramming OOD down kids throats is guaranteed to turn them off programming. We don't need more mechanical Java or C++ coders, we need enthused programmers. Yes, logic is important, but what you suggest is like the straight-jacket approach that produces mediocre coders - all mechanical process, no creativity and no enthusiasm. Instead, I would suggest teaching it as a creative process, let the kids get quick 'wow' results from simple programs. The accepted first step is the old 'Hello World!' program, except it is taught in Java or C++, whereas I would suggest using HTML as a first language. HTML is simple and gives immediate, visual results. And it works with those that assume they can't code because they don't have a Maths degree.
Years ago I had an artist friend who was convinced she could not do anything with computers because (a) she was female and (b) she hated maths, both assumptions being the result of years of schooling. During her school years she had been forced to plug away on set code on a BBC Micro, doing structured programs to calculate the volume of spheres and the like, which held zero interest to her, and hated it. As far as she was concerned she 'simply was not mentally equipped to code'. But she asked me, a 'computer nerd', because she wanted a website to act as an online gallery for her and her friends and assumed you needed the equivalent of a PhD in Physics to produce such. She was amazed and genuinely interested with the immediate visual results of simple HTML. Within a few hours, stirred by the creative side of the colour palette in HTML and the way she could use images on webpages, she was coding webpages in HTML. After the fun stuff had taken hold, I introduced her to CGI and the more process-orientated back-end bits. She was so interested she took an evening course in webdesign and started creating websites for friends and family as a side-line to her art. She and her husband now run their own webdesign business because she was not taught boring, straight-jacket process material like OOD, because the structured part came later after the spark was lit with a bit of creative 'wow' in 'simple' HTML.
I have used that approach when teaching mine and other kids to code because HTML gives them that quick and easy 'wow' confidence boost which Java and C++ take much longer to create and which OOD can never do. It is easy to learn and there they can quickly compare 'cool' webpages with their friends on topics that interest them. I doubt if any of them would have been as enthused with a dry, stuffy lecture on OOD and logic.
So the reason that software engineering hasn't reached the same level as civil engineering isn't that it is a lot more complicated than looking up the standard beam profile from the standards book to bolt to the standard bolt from the standards books - it's because of the BBC micro?
So that will explain why it is completely professional in other countries and no US software project ever overruns, why Japanese software has taken over the world and why Swedish code is as reliable as a Volvo.
They say once upon a time a Mathematician, a Physicist and an Engineer were given a small red ball each and asked to find its volume. The Mathematician measured the diameter and calculated the volume. The Physicist went the Archimedes route and measured the liquid spilled. The Engineer, well, opened the catalogue of small red balls and looked up the standard volume (hey, stop kicking me, I'm one too so I'm allowed to bash ;)...
My B.S. is in Psychology, but in my senior year I found myself spending more and more time in the computer lab writing programs to analyze data from studies my classmates were doing and playing backgammon against the mainframe. At that time, my wife would not let me change majors again so I finished the degree and went back for an Associates in Data Processing. Programming is like the ultimate Skinner box. You try a little something and the results pop up on the screen and you get the reinforcement. And you think, "I wonder what would happen if did this?" And you try it and again you get reinforcement. Of course, people who don't get reinforced don't see it as quite so much fun. That's where skilled programmers who can guide new students come in. And let's be honest, all education is not equal. At my first job as a professional programmer I sat next to a guy with a B.S. in CSC that couldn't format a floppy disk. I had to write a batch file to do it for him to stop him from asking me how to do it every day.
The brewsky is for the best kind of positive reinforcement.
Are hardly essential... logic, though, really is. Aside from Maths and Physics, Philosophy is probably the best way to work through this, provided it doesn't just turn into History of Philosophy as so many subjects do when academified... so teaching some formal philosophy to non-numerate students might be the stepping stone to a populous that is capable of becoming 'good' programmers in later life.
So says this history graduate anyway...
how would you teach them to move a zombie / hamster? It would be necessary to have one at the ready. Which basically means that you'd have one set of people preparing all the class material. Which is exactly what the quangos hope to get out of this... Is it good? No not at all. The teacher is not interested in the subject, so (s)he will not teach it well... Result: meeellions of minions even less interested in whatever could give them a job...
Education standards driven by politcal connections are a *bad* idea, no matter what...
Also bad is to make the guy who hated maths head of maths education standards...
Passionate people at the fore.. And I mean really deeply passionate people.. Them for whom it hurts in their brains when they are not allowed to do it... Those are the best, because they know why something is fun... why they love it so much, why it gives back so much... Stuff that nobody else understands... :) Because passion is not a job! :)
"how would you teach them to move a zombie / hamster? "
Quite easily - the teacher sends the kids to code.org. There they would find ready made coding courses. e.g. Plants vs Zombies themed course:
Or they could send them to scratch.mit.edu where kids can mess about with clip art and sounds. Here is one kid's dancing hamster:
Or if the government or schools felt strongly enough about it, they would develop a curriculum around scratch. Kids would enjoy the messing around with it and would be learning programming concepts while they do.
"To be good at Computer Science you need Maths and Physics,"
Maths and Physics would certainly be a big help when you're starting Computer Science. They are about how things work, why they work, what will happen if you do certain things, etc. All good stuff for the logical thought needed to get a program (do we say "app" nowadays?) to do what you want it to do. I'd suggest that they are not essential however and that an open mind and a willingness to learn and an enjoyment of learning are key factors to success.
What we need, in the industry, are people who can communicate with other people and understand their problems, needs and requirements - then implement those in a deliverable system, on time, within budget and to specification. Those abilities are woefully lacking in many industries.
How about a group of kids are put in contact with another group of kids, at a different school and given the task of producing a system for them, having regular meetings and trying to establish what is needed and then doing it. Initial guidance from teachers and a set of 'template projects' would be needed here. Regular progress meetings and test feedback would soon teach them the skills they will need in the real world. Experienced teachers would be needed to stop fights breaking out.
Only the marketeers and the ignorant say app to mean program.
It is interesting that our NTT was the first to bring out a system for distributing limited Java programs to run on phones. The programs are called 'appli'. NTT should sue Apple, clearly a case of theft by contraction!
What next, bevelled corners?
> "To be good at Computer Science you need Maths and Physics,"
There may be some correlation between people who choose maths and physics AND like programming. However, they are neither a prerequisite nor a foundation for it.
The main requirement for a programmer is the ability to think in the abstract: a discipline that doesn't seem to be anywhere on the curriculum in schools. A close second, in terms of attributes that indicate good or bad programming ability is an analytic approach to problem solving.
However, it would seem nigh on impossible to teach these in schools, or even exercise them as skills as it would require teaching staff who were similarly "gifted". And those are mental facilities that seem to be rare in schools, difficult to assess or test and not exactly encouraged in teaching staff.
The main requirement for starting to learn programming is the ability to think in abstract.
The main requirement for actually doing a non trivial programming (anything more than 200 lines that has existed for more than 6 months) is being able to debug.
Maths and physics are a good grounding. Physics is useful for working out why things catch fire after leaving a machine operating at 80C+ in a non air-conned room.
Maths tends to apart as software becomes more complex. Have a google for Joe Armstrong's 'The State we're in' talk. I'm still waiting for a Mathematician to 'prove'/solve Chess. It should be simple: 8x8 2d grid, 16 pieces.
I agree with you within limits.
From what I can see from outside, and from hearing from people I know who've had the misfortune of direct experience (temporary teaching and having children unfortunately subjected to the closest bad school), the school system in most places in the UK has two purposes.
1. Ideological programming according to the luvvie agenda
2. Keeping people who hate learning out of unemployment statistics until the end of their high school years, doesn't matter how much it wrecks the chances to learn of those they bully along the way.
Apart from the private schools, selectives, doubtless many good ones in rural centres, that seems to be the reality.
"The main requirement for a programmer is the ability to think in the abstract: a discipline that doesn't seem to be anywhere on the curriculum in schools. A close second, in terms of attributes that indicate good or bad programming ability is an analytic approach to problem solving."
Sounds like math to me.
Computer Science is applied math, to say anything else is just denial.
As far as I can tell, computer science seems to be based on Automata Theory, Algorithms and Group Theory at the core (you're welcome to add to this). Additionally, a understanding of what occurs underneath all of the software is based on physics. Can you be a good programmer without this, sometimes, however, the best programmers that I have met either have this background through school or self education.
The worst programmers I have personally met have espoused ideas as you have. For example, my one technical lead who though object oriented programming was like a living creature. Or another technical lead who didn't have a understanding of foreign key despite being a database programmer.
perhaps you are the exception.
Why can't the people behind "Gamification" get hold of the basic fact that a game is only fun IF you have chosen to play it?
Forcing programming on the youngsters is going to produce a generation of programmers in the same way that compulsory English Lang/Lit produced a generation of writers and compulsory RE produced a generation of priests.
... introduce the youngsters to coding, but don't expect most of them to be impressed. I imagine that only a few will really get into it as much as I did in the 80s. We're all different, we all have our own hobbies and interests.You can teach people to read and write but only a few will become poets or authors; it has to really appeal to you before you take it any further.
So I just can't imagine any great percentage increase in the number of very interested kids. All you can hope for is to reach a few that might not have realised how fascinated they would be, along with the rest of them having just a bit more of a clue than they would have had.
Probably worth a try, but I can think of so many more life skills that would be useful to kids, that we don't seem to bother teaching them!
"I said that in middle age I rarely – ie, never – regret not having "more fun" at school, or not goofing around enough, but occasionally regret not having taken one or two things more seriously. That's my position on Fun Learning"
Completely agree with you here Andrew, BUT the times have a changed; you're not comparing like for like. I don't think it's fair to compare 'our' times at our school with those today, as they are so differnet. For example I have three year old who has had parent's evening at nursery and another tomorrow where I'll be told how he doesn't hold a pen properly or whatever (like I give a shit, he's just turned three. I'm sure he'll figure it out). My mother wouldn't have been dragged in when I was toddler, but the emaphsis then was on play and behaviour not assessments against expected levels of attaninment. And that's the problem isn't it, the fact that suggesting the addition of fun into the daily routine is a revolutionary concept. It's bonkers and really shows how borked the education system has become in recent years.
If they were doing it properly (i.e. my way!) the naturally occuring fun would trigger the interest and lead to other stuff, but I don't think that fun is there anymore. I bet you had teachers who'd go off curriculum all the time or spend longer on the practical fun parts than was warranted because it was just a hoot. My pals who teach can't freelance at all, no time, no permission.
I wish the nursery my nearly-three year old little boy went to was in a position to complain that he did not hold his pen properly. He can maintain the hold, if given help to hold it properly at the start. However, such things are beyond his age according to the EYFS, so are not to be encouraged. They also do not encourage him learning to read yet, which he even says he wants to.
Why does he want to read? Because he has learned to love reading at home. Why can he hold a pen? Because I made him a very nice one which he knows is 'his'. (The advantages of being a skilled wood-worker, having been taught the basics at school, 25 years ago.)
Schools wanting to engage youngsters in IT could do far worse than look at the work being done by the Raspberry PI foundation. Plugging a computer into real world sensors and activators, with an easily manipulated programming environment like Scratch, will engage the attention of far more children than moving a Logo turtle around the screen. Some of those may then have the aptitude to take it further. However, that aptitude requires creative imagination, logical thought and the ability to remember a large collection of small details. I suspect these are very difficult things to 'teach'.
Those who can, do
those who can't, teach
those who can't teach, teach PE.
I'm still of the mind that compulsory coding is a waste of time, yes there will be a small number of kids who like it, but for the rest it would be an absolute waste of time. How many jobs, as a percentage out there, require you to code either html or actual coding with c# or c++ etc. I'd hazard a guess it's less than 1% of jobs, possibly less than 0.1%, possibly even less than 0.01%
What is the benefit of 100% of people being taught something only useful to the 0.01%.
I'd like to see more after school coding clubs, I'd have killed for one when I was at school, and some areas these clubs are sorely lacking, but making it a lesson for all kids just seems a nightmare.
And I say that because of the chaos of the dirt simple IT course I went through as a kid. Simple tasks like making a spreadsheet, pupulating the data, and adding a pie chart out of said data would take an entire lesson, not because it was difficult, but because of other kids with no interest in doing the work, in a room with computers just leads to trouble.
Ah, the infamous oxbow lake. I took Geography up to A Level and due to changing schools 3 times and changing teachers during my secondary education, I end up studying the rainforest ecosystem 4 years in a row. Slash and burn, baby!
And I found history either dull (pure facts) or annoying (empathic learning *shudder*).
Anyway, back to topic, I have absolutely no problem with teaching programming.
- It involves structured thinking and problem solving.
- It requires the translation of spoken or written requirements into logical processes.
- There are different parts to it that suit different personalities.
- It can have many different levels of complexity to challenge different abilities.
- It allows for both individual and group activities.
- It's creative.
- It's useful.
- An interest in it can lead to a real job.
The only problem with teaching programming is that to do it you need people who can teach programming. If the government were serious, then they'd need to take time train teachers to teach programming. But governments never take the time.
When the word 'fun' is used as an attempt to get young people interested in something, they usually run in the opposite direction having learned from adults that the 'f' word is usually used as a bribe.
Anyway, there seems to be a drive from HM.Gov. for all+dog to get in to 'apps' (whatever that means). Apps seem to be the Next Big Thing to make your fortune - just look at those milionaire teenagers - a possible con trick as there are a hell of a lot of apps written but few actually making any serious dosh in comparison.
How about some scientists instead of possible appearances on The Apprentice?
As suggested in the article, it takes more than laying a few bricks to build things.
There's the intellectual challenge of constructing a tower of invisible blocks. The quiet satisfaction of a job well done when it withstands the worst battering of the testers can inflict. And the pride in seeing the tower you've constructed improving someone else's life, even if it's only a little bit.
Fun? Not so much. I know nobody, and nor do you, who says, "Ya know! Screw this trip to the beach/movies/restaurant. Let's stay home instead and write an optimised red-black tree implementation in assembly. 'Cause that'll be way more fun."
I know nobody, and nor do you, who says, "Ya know! Screw this trip to the beach/movies/restaurant. Let's stay home instead and write an optimised red-black tree implementation in assembly. 'Cause that'll be way more fun."
I think maybe you've come to the wrong website.
Everybody on the register is, or knows, somebody who would rather write an optimised red-black tree implementation in assembly than go out and socialise.
I think learning some programming concepts - basic logic, reusable code, the importance of documentation - would be useful. Maybe the best way of doing this is to use an actual, real-life language, but the trouble is that by the time you're in a position to apply your knowledge, computer trends will inevitable have moved on. I remember having to learn Algol at Uni - never saw it again once I left.
I regret not having more fun at school. Instead it was more of a prison camp I had to endure until I got to college and could have some fun. IT became fun once I got the teacher to do the 'work' (office on win 3.1 copy from sheets stuff) and me and the IT engineer (definitely not the teachers) started pulling computers apart and fixing them. The best education was the non-school related stuff.
from Mr. Orlowski, and from other commentards.
I must add that your luvvies hate technologists, technicians, and technology (except on the 'Look at me, have I not got the luvviest fondle-phone' or 'Look at me, I am on the INTERNET! and famous on twatter' etc. level).
Appreciated the woodwork and all. Nice to learn about the techniques, metalwork, too, later introductory sessions on fitting, turning, tech. drawing, welding, and so on, but that was later, end of high school years.
Nice to learn how it is done and to experience doing it yourself, having small hands, fitting was painful, but am happy to have the experience.
Being in not-luvvie-dominated East Asia (most Chinese leaders after Deng have been engineers, our political class is infected by the lawyer disease, but most of the tech. companies are headed by engineers), we also had basic electricity from early high school (or the last year of primary, I can't recall).
I think that is a very good idea.
To be more to the point, I think it is a good idea to introduce the more mathematically talented late-primary pupils to Logo, and slower ones to the same in high school. After all, that is what the language is designed for, education. It is also fun.
For the really interested, and in later high school, machine-code programming or logic-circuit design as an option for bonus marks within maths (whichever part covers Boolean algebra or symbolic logic), or simulation in a high-level language as an option for bonus marks within physics or chemistry might be good ideas.
I agree with the OP who points out that the basics of maths and physics are much more important.
Also, although I can't stand the luvvie mentality there, I've always kept up my humanities education, even extra subjects at university.
Victory of UK luvvies = death of lively 80s 90s UK tech.
I love teaching LOGO. I've used it over the years with numerous kids who have given up on on learning, particularly learning to read - my main professional role- because it teaches them to think logically, to understand that sequence has significance and that it takes the combination of a number of different strategies to get a result.
Not just getting the turtle to whizz around the screen. But actually getting the kids to put together a proper programme, structured. So that they can go back to class, enter the name of their routine and the turtle will draw a picture on the IWB. Maybe a house, with windows, roof, garden, trees etc. Or a car when they type "car".
BUT, that's a world away from having a class of 30 kids dutifully typing sequences of boiler plate code. My LOGO work starts with getting the kids hooked on the idea of controlling the "turtle" and then setting small challenges to lead them through to bigger ones.
The government and its allies believe that education should be al about drilling stuff into kids. Step by mechanical step. Reading is taught by pure, mechanical, phonic "decoding" and computing taught by pure, mechanical "coding" .
You are one of those there constructionists :-) which is what is needed and many people miss, I was watching an interview about the development of Scratch, it was summed up as it had to have 'Low floor, high ceiling and wide walls, the low floor makes it easy to start, the wide walls means it easier for all types of students and the high ceiling is so that it does not restrict the most talented. LOGO was from the same stable and for the same reasons.
The programmer missed the fact that the majority of kids at school will work in a service industry in the UK, not be programmers, but it does not mean computational thinking won't be of use to them.
Biggest problem, it's just another political headline grabber, the government has no idea what they need to do, so the soundbyte 'learn to cod'e, comes in, not that the politicos would get the last bit.
Logging in mainly to give a vote, but also to add,
i. You are very right to say typing in boilerplate code is pointless,
ii. add to my earlier suggestions for high school projects for bonus marks, XML models in various subjects.
Kudos to you for using LOGO in teaching, and formatting the text to look structured is good education.
I shudder to imagine what the politicians and bureaucrats who claim they want to 'teach coding' think that means.
Suppose it would be regurgitating the boilerplates you mention.
"Others thought that compulsion would put people off. Others challenged this, saying that you could make that argument against teaching anything. Physics can be badly taught - that doesn't mean you should scrap Physics. It was more of an observation about our lack of faith in the education system."
I think success in learning a subject is a function of the ability of a teacher to teach well - which includes a personal enthusiasm - and the aptitude of the pupil. To some extent deficiencies in the one can be made up for by performance of the other. In particular a pupil with sufficient enthusiasm and aptitude may bypass an indifferent teacher if other resources are available. OTOH a pupil who doesn't have an aptitude for the subject is unlikely to make good progress with even the best of teachers. And compulsion is only likely to reinforce negative reactions.
In my case:
Games & PE compulsory. I have spent the remainder of a long life detesting pretty well all sport especially anything which involves groups of people chasing bags of wind around a field.
Latin compulsory. The chief characteristics of the senior Latin master, as far as I could tell, was that he wore a Homburg & was reputed to have been a jazz trumpeter in his youth. Neither seem to have been qualifications for a good Latin teacher but as I was virtually never in his class I don't know if he had additional abilities. Certainly the rest of his department were also-rans. Failed O-level Latin; my knowledge of the subject is mostly botanical.
Science not compulsory beyond Gen Sci but well taught, especially physics and biology. I ended up as a botanist before moving into IT in my forties. But to be fair I arrived in school with an interest in science from way back.
IMV a compulsory core curriculum should be extremely restricted - the clue is in the name - and should be well taught. There need to be extremely compelling arguments for getting any subject into it and simply being a political fad de jour is neither compelling nor an argument.
Outside the core there needs to be a chance for the child to get exposure to other subjects but with freedom to drop the worst and spend more time on the best.
I don't know if things have changed since my time but my experience was that teachers - who presumably had an aptitude in their subject - couldn't grasp where the difficulties lie for those who didn't have it and were thus unable to help. This isn't particularly related to teachers - how many of those here who have to support non-ITers, either in work or in family, really understand what gives those supportees their problems?
In order to teach coding in schools TPTB need
1. To devise a curriculum
2. Recruit potential teachers with an aptitude for coding (and a salary structure that would make teaching as opposed to industry worth their while).
3. Train those potential teachers to teach the subject and to be able to help their pupils a good deal better than many of my teachers helped me.
That isn't something a government can decide to introduce at a whim; it will take time.
Only once that is up and running and proven to be effective as a non-core subject should it be considered as a core subject. And then rejected.
"In order to teach coding in schools TPTB need
2. Recruit potential teachers with an aptitude for coding (and a salary structure that would make teaching as opposed to industry worth their while).
3. Train those potential teachers to teach the subject and to be able to help their pupils a good deal better than many of my teachers helped me."
And that's where it all falls to pieces. I'm a software engineer, and this summer I decided to apply for Computer Science teacher training. All three of my applications have been turned down, but vacancies are still listed in Clearing.
Funification detatches people from the reality of just about everything from science to arts.
Chemistry is more than just fizz, bang and stink.
Consider what would be a typical classroom interaction today:
Kid: Miss, I've finished my macaroni collage. Do you think 'll be an artist?
Miss: Well done Johnny, you'll be a fine artist.
A more thruthful session would go something like:
Kid: Miss, Ive finished my macaroni collage. Do you think 'll be an artist?
Miss: Ok Johnny, compare it to what Pete and Suzy have done. If you're going to be a real artist you will have to learn to accept critisism and competition. The hard part of being an artist is selling enough to keep you solvent. You will need to find other ways to earn a living. Go join Betty who's over in the corner practicing flipping plasticine burgers.
I could do Maths up to O Level, but A Level Maths (especially Pure Maths) and Physics were where I hit a wall.
Oddly that didn't stop me from graduating in Computing because I could "see" how to break a problem down into its constituent parts and then write a program to carry out those individual actions. No maths, no physics, just logic.
As for the "fun" bit, well I learned 6502 Assembler by figuring out how to hack into computer games for infinite lives...
Learning is always more effective and attractive when it's fun (barring life and death lessons that need to be learned)
I'm all for opening up the potential pool of techs and programmers any way that can be done. Anything, ANYTHING, to lessen the numbers of alpha basement bois and programmer hacks. ("hacks" as in bad writers)
IMHO, programming classes? Sure. I do think it's a good idea to have available programming classes. Those who are interested, and possibly don't know where to get started, or don't have a home computer to use for it, or don't have the time outside of classes, should have some classes to take.
Mandatory? No, I've heard at programming interviews, question 1 can be as simple as writing a program to print numbers from 1 to 10, without using 10 lines of code (i.e. using a loop), and that eliminates 90% of candidates. If anything was made mandatory, the most I can see being sensible is a few sessions to weed out who can at least write a simple loop when shown how (and the ones who can't, don't waste their time.) Some people just have no aptitude for this kind of thing, and some of them already know it. I wouldn't want to be stuck in a full semester worth of classes with a high fraction of the class (probably) disinterested and just not getting it, it does them a disservice as well as those that can get something out of the class.
but you have to face that only some of the kids will like your game when it gets harder. Afterwards you either force it down everybody's throat or you accept that the kids go back to their own favorite games.
The question is whether you just want to give everybody a little taste, hoping that some get hooked or if you want to educate beyond that.
Forcing kids into any STEM (Yes, buzzword, but it does cover the meaning) subject is not going to work for a lot of them and probably even going to turn some of those with a talent away from it.
Much better to keep things like math, chemistry, physics, programming, etc for those that actually have a feeling for it. And I'm not saying they have to actually WANT to learn it badly enough to voice it out themselves. Kids are bad at saying what they actually want and it's hard enough looking forward to the end of school for most, let alone what they might enjoy doing 20 years later. Teachers and parents on the other hand often have a pretty clear idea what kids have a feeling for and what they might enjoy.
Second to that there needs to be more linking between subjects. Teaching JUST programming, maths, physics, chemistry, biology, history, geography, etc all by themselves without looking at it from different angles is not the right way to go about it. Being able to create an abstract model of a car with some blocks and springs, and then translating that into math calculations you can use in a program to model that car teaches abstraction, modeling, physics, maths and programming. All at the same time. This can be applied to pretty much the entire STEM cirriculum in most schools. Integrals and differentials make no sense if you are taught just the math part of it. Learn to apply them in physics and suddenly you have a use for them, making them much easier to understand.
Some kids (speaking from experience) cant be motivated by just basic programming, but getting a LEGO robot to follow a black line on the floor suddenly makes it metric tons of fun.
Heck programming and grammar could be linked with some creativity, improving language classes as well. Kids need information on a subject, encourage them to look for info in not just their native language. Suddenly knowing another language can be useful.
Unfortunately, we a still direly lacking in the IT education, in terms of teachers skills. I'm all for bringing the opportunity to a younger level, but before that is possible, we'd need teachers who can code.
On the matter of making it mandatory, while I certainly see the possibility of it causing some negative effects, I'd also like to point out this analogy:
While the writer of the article has a very valid point, it reminds me of a possibly similar misconception best personified in Disneys' Ratatouille:
"In the past, I have made no secret of my disdain for Chef Gusteau's famous motto, 'Anyone can cook.' But I realize, only now do I truly understand what he meant. Not everyone can become a great artist; but a great artist *can* come from *anywhere*. "
Surely, widening the trawling net is would improve overall skills? Even if it's only for the next generation of teachers?
While we have quite a few tech savvy people on the island, we're outnumbered 1000-1 by numbskulls who say stuff like "oh yes, I'm really into computers" or "oh yes, my son/daughter are really into technology", which actually translates into they've spent £500 on a phone and spend all day glued to Candy Crush and Facebook...
That really doesn't count as "tech savvy" by any definition...
Any subject can be killed by a dry as dust curriculum and bored teachers. To teach and inspire students, the subject must initially be enjoyable to grab peoples curiosity, whilst relying on the absolute minimum prerequisite knowledge in other subjects..
The only maths you should need is a bit of basic arithmetic. (If someone says they can't do algebra ask'em "4 cans of beer for £6 how much each?"..)
Any project work should be a fun practical and relevant to the interests of the student
If physical computing\programming doesn't suit a student they should at least end up being aware that software is fallible and limited. For those that do wish to go further then we can start to introduce the fancy stuff.
I'm IT Manager in secondary school, and have been for 12 years. I have yet to meet an IT teacher who has a formal background in IT, let alone software development.
It's not the teachers' fault.
The problem is that people with the skills necessary to teach development aren't interested in becoming school teachers. They can make good money by staying where they are. They just isn't any incentive for such people to make the jump and retrain as teachers.
Our IT teacher (bless her) is a good hard-working IT teacher but couldn't code to save her life. She's terrified by the new curriculum emphasising coding.
I've been involved in IT for 25 years now in various capacities, yet couldn't teach it. I tried teacher training years ago and just couldn't hack it, so I stuck to doing IT rather than teaching IT.
I remember when I was in elementary school almost 30 years ago and there was a big push at the time to make math, science, etc. "fun." And where are we now? The same sort of people are still trying to do exactly the same thing.
The lesson here is that there's no good way to make this stuff fun. Learning anything useful is hard, period. That's why we have to have schools and tests and so forth.
Everybody should just finally give up on this fun nonsense and focus on presenting the material in a clear, logical way so the kids who want to learn have a fair shot at it.
Programming isn't coding.
Any dummy can string together a few lines of code, but it takes a programmer to know which lines of code are need to solve a real world problem in the most effective and efficient way..
Mass teaching everyone to write code will result in an influx into the job market of even more incompetent 'programmers' than the universities are turning out. Then, evolution will see to it that only the fittest survive, resulting in a lot of disappointed people, and even more failed development projects.
I've worked with so-called 'programmers' who took computer science at uni, because it seemed like a good idea at the time, and I wasted a lot of my time, either explaining to them how to do the coding, or correcting the mess they'd made of the software architecture ("what's a process?", "What's IPC")
Those who think maths and physics are of no use to a programmer will starve in the contract market, where the next project might require them to write a fast Fourier transform, for analysis of an incoming audio signal, or a deconvolution algorithm for removing blurring from an image.
You're making the mistake of confusing a tool with its application and, since there are dozens of programming languages, each with different strengths and weaknesses, I'm not surprised that the non-technical time-wasters who started this debate carefully omitted to specify which tool might be taught.
All in all, I would say this is another example of ill-advised politically leaning morons blindly leading the blind lemmings towards yet another cliff edge.
Incidentally, QANGO is not spelled 'QUANGO', since it's an acronym for 'Quasi Autonomous Non Government Organisation'
"Those who think maths and physics are of no use to a programmer will starve in the contract market, where the next project might require them to write a fast Fourier transform, for analysis of an incoming audio signal, or a deconvolution algorithm for removing blurring from an image."
If you're implementing these algorithms from scratch by yourself, you're doing it wrong. I would never hire a coder (or programmer or whatever) who thought that would be a good idea.
The idea that math, physics, logic, etc. is fundamental to coding is nonsense.
Everything in the entire world can be explained with physics and chemistry and described with mathematics. Does that mean that anybody who has any job whatsoever needs to become an expert in all of these fields? Taxi driver? Baker? Obviously not. So why is coding singled out?
" The old (and often unfair) jibe about teachers was "if you can't do something, teach it." This now appears to be hopelessly out of date in modern Britain. If you can't do something – tell teachers they must teach it, and pocket the subsidy or the profits. You can't go wrong.® "
...and if you can't teach it, do curriculum.
Biting the hand that feeds IT © 1998–2020