synaesthesia Posted June 5, 2014 Posted June 5, 2014 (edited) Quite a good blog post by someone that's clearly been speaking to some muppets IMO, worth a read! Hands up who likes PHP? | Code? Boom. Not good that the brush is being used to tar us all to a point, but the level of ignorance showed by some people in our profession is astonishing If only I knew *why* I was being taught Pascal when I was absolutely adamant it should have been C++ at school, I'd have stuck it out. Shame it took me nearly 5 years to realise why. Edited June 5, 2014 by synaesthesia
d0pefish Posted June 5, 2014 Posted June 5, 2014 (edited) While I can understand the frustrations in there, there's also some flawed logic: I know less than you about Computer Science I know more than you about teaching Computer Science No, you know more than me about teaching, or being a teacher, in general. If you have believe the internet to be run by unicorns then I agree that I know more about CompSci than you, but if you then teach kids that the internet is run by unicorns, you are not showing you know more about teaching CompSci, just that you know how to convey your knowledge on a subject to another party, but what if that knowledge is wrong? Again, not saying I disagree with what is being said in that blog, and yes, there are definitely some elitist IT people but I can only imagine the backlash a tech based blog saying "i know more about computer science than you" would bring **edit** yes, we all know the internet is run by a dachshund in Toronto, unicorns were just an example! Edited June 5, 2014 by d0pefish
PotNoodleTech Posted June 5, 2014 Posted June 5, 2014 I think it's a fair rant. Maybe it could have been written in a friendlier and more constructive manner. It's sad that teachers are getting so frustrated. And I can see why they are, as let's face it software developers are quite a special breed of "IT Professionals" and seeking advice from them about teaching basic programming to young kids is kinda like asking Fred Dibnah to fix your kitchen tap - you know you're going to end up with a steam powered, watermill powered coal fired central heating system, when all you wanted was the existing tap fixed... I am not really sure what the obsession with coding is in education. You only persue coding if you actually want to be software developer, this generally starts (properly) at A Level age (Pascal, woo!) transfers through into uni (Java, booo!) and then you do it for the rest of your life if you like it, or even if you don't like it, if the moneys great. Where has this obession with teaching young kids java or c++ come from - and why is it need? As far as I can see - if you try and force programming on kids that are not actually interested in it all you will end up doing is killing the teachers via stress and risk putting a generation of young people of computing and programming for good. 2
X-13 Posted June 5, 2014 Posted June 5, 2014 if you try and force programming on kids that are not actually interested in it all you will end up doing is killing the teachers via stress Swap "programming" for Maths, English, Science or any other subject. Teaching things to people who aren't interested is part of the job. And my thoughts on that rant were covered in the comments on it. It sounds like you’ve been talking to… well… jerks. The fact that you’ve spoken with jerks who are computer scientists does not mean all computer scientists are jerks, and logical errors of this type seem to underpin and permeate this piece. Rather than railing against people who disagree with you or your methods, it might be instructive to consider that — just like you — “IT professionals” are hard-working people with hard-earned skills who don’t necessarily misunderstand you or your work just because you’ve had some bad experiences with people most of us likely wouldn’t tolerate either. But it's a teacher, so they're right and everyone else is just being mean.
witch Posted June 5, 2014 Posted June 5, 2014 I think she has some valid points - high level developers do sometimes have an issue with lowering their sights to a more junior level (remembering at this point that mrwITch is a an Enterprise Software Architect!) but what made me laugh a bit was this line: "but please respect our professionalism – you’re not just someone who could be doing our job but chose to do something else." Right back atcha, teacher
localzuk Posted June 5, 2014 Posted June 5, 2014 (edited) I find a fair bit of fault with what this blog post says. All 3 points can be cooked down to a "I know how to teach, you don't, so stop criticising". Sure. there are jerks (as there are in every field), but if you're going to go looking for advice you have to expect those sort of responses.) What's the point in teaching a kid to program if they are being taught incorrect things or are being taught massively out of date things. A lot of languages and techniques are NOT transferable and teach bad habits which will hinder future study of good methodologies. An example, if you don't teach how to handle exceptions gracefully, you're educating to cut corners and produce poor quality work. If you don't handle exceptions in some languages, your program simply will not work! So, your skipping that step to make it easier for kids means they are actually learning something that will confuse the heck out of them in a few years when they get taught newer things. Ok, I'm not saying teach polymorphism in year 5 but teaching how to make it so your program doesn't just crash out but instead gives a "sorry, a problem occurred" message isn't so complicated that it should be excluded. Saying they know how to teach computer science better than the IT professionals is somewhat odd, as firstly you don't actually know these people, you don't know their experience and you don't know how they'd teach. Its a big assumption, and often I find that assumption will kick you in the arse. There are many IT professionals on this very site who make excellent Comp Sci teachers, without any formal training. One of the things that does really annoy me is teaching things which are simply bad practice. The "this technique is good enough" style lessons - they happen all over IT and comp sci, and they are damaging the prospects of our kids. I've seen teachers still teaching HTML with tables for laying things out and using things like center and strong tags, because CSS is "too complicated", for example. Great, teach them that and they'll have a useless non-transferable skill that they can't use anywhere because browsers don't support it properly (and never have, which is why everyone in the past had to cope with different browser versions with loads of javascript to fix things...) Edited June 5, 2014 by localzuk
Gibson335 Posted June 5, 2014 Posted June 5, 2014 Sorry, but I lost interest when I read: but if you think about it, that’s like asking us to do two jobs at once. We hardly even have time to do one. Yawn.
sted Posted June 5, 2014 Posted June 5, 2014 I find a fair bit of fault with what this blog post says. All 3 points can be cooked down to a "I know how to teach, you don't, so stop criticising". Sure. there are jerks (as there are in every field), but if you're going to go looking for advice you have to expect those sort of responses.) anytime you ask an opinion on anything theres a chance you wont like the answer thats life deal with it (though sometimes ill hold my hand up and say i could of phrased it better but by the same token when im in the middle of something thats taking a lot of attention maybe thats not the time to ask). As to technican going computer says no it depends a lot on context if im asked can i have visual studio on all suite pcs in 10 mins i need it urgently for the next lesson regardless of licensing its just not going to happen as its just not possible in teh given timeframe never mind any licensing issues (which people do seem to see as a way of annoying them)
Garacesh Posted June 5, 2014 Posted June 5, 2014 Oh brother.. Here we go again.. * 'Your' obviously aimed at the article writer, not OP. The Roller Derby analogy sucks. You describe (it seems) learning as a hobby. If you were learning professional Roller Derby (I.E. will be doing Roller Derby for your career) then you're damn right you need to start with best practice, such as getting the right wheels, and these kids are being taught programming so that they can implement it into their careers. Let's get it right! Don't teach them that error handling doesn't matter or to leave comments in compiled code. Whilst I agree that kids shouldn't learn something explicitly 'unforgiving', they certainly should learn something that will punish them for easy mistakes, such as improper syntax, faulty error handling or improper piping. Your comparison to French is rubbish. Programming languages don't have tenses. Your code is either "Right" or "Wrong", quite simply. If I'm writing in Batch and I write ELSEIF instead of ELSE IF, the script isn't going to "Well, yeah. It's not quite right, but I can figure out what he means.", it's going to go "NOPE! ERROR!" If you must complain that people say you're using the wrong programming language, and you must compare programming languages to spoken languages, ask yourself: Why does no school teach Latin anymore? Because nobody uses it anymore. So whilst Scratch may be good to give them the basic idea of what programming is, it's no good past the first half of year 7. Get them onto starting to writing it themselves by that point. Whilst I disagree with "A teacher who doesn’t have up to date flawless subject knowledge isn’t fit to stand in the classroom.", you do need to know what you're teaching. Teaching methods and a textbook are not enough here. We might not be Alan Turing, we might not understand how to teach (or we might), but if you don't understand what you're teaching, you can't teach it effectively. However.. I agree with "Just because YOU had to learn a programming a certain way in the good old days, doesn’t make it the right way or the only way", in a manner of speaking. There's going to be a lot of kinds who 'just don't get it' very well - children are not used to what I like to call 'absolute logic' - and I do wonder what will happen to them? I wonder how the curriculum will be written to cater for different learning speeds. Like with any subject there will be those who breeze it and those who lag behind, and those that just aren't interested in it. I also agree with "This is not a competition about who knows the most about Computer Science.".. I have read across the internets accounts of people treating this as a proverbial wang-waving contest, which doesn't really help anybody at all. 4
Ephelyon Posted June 5, 2014 Posted June 5, 2014 I agree with most of what she's saying, particularly the point about how this level of education now is not intended to generate "work skills". If you ask me, education at primary phase is intended to provide some basic skills for future learning. At secondary phase our education is intended to generate interest in subjects for future study at a professional level. At tertiary phase, yes, we might expect to be learning skills applicable to the workplace (though that wasn't always the point of it). Having said that, some children are high achievers even at secondary phase and it's good to support them where we can, though we do need to remember that the school is not the last bastion for these kids - it's the first. Their opportunities for learning, both within and outside formal education, don't end with their GCSEs. What's more important at school is to inspire the children, not to churn out boil-in-the-bag professionals, so when she talks about "core concepts" she is absolutely correct. On that note, @Bradlys pointed me to something today that I've had a look at and subsequently sent over to our ICT staff. It's a game that's designed to teach coding in JavaScript and it does it well partly because it's fun, but also because it doesn't let you get away with a missed semi-colon. It's a fantastic resource for getting across that "core concept" - common among all languages - that, as others have said, it's either right or it's wrong. But it manages to do it without insisting on C++. CodeCombat - Learn how to code by playing a game 2
Garacesh Posted June 5, 2014 Posted June 5, 2014 If you ask me, education at primary phase is intended to provide some basic skills for future learning. At secondary phase our education is intended to generate interest in subjects for future study at a professional level. I quite agree, but admittedly a lot of the current kids won't haven gotten anything at Primary School to whet their appetite. I don't know what she means by "CS" - I'm guessing Computer Science but given that's a subject and not a Speciality (like you get Sports Colleges, or Science Colleges, etc) I'm not sure if that's what she means, but the article does say she's a Secondary School teacher either way, which is where my Stop using Scratch halfway through Y7 comes into it. I wouldn't really recommend anything beyond Scratch and other 'games' to someone in Primary School unless they were showing a natural talent and interest. Personally I have no idea about C++.. I did take a look at Python and C# once I felt Batch wasn't meeting my needs any more and felt rather confused by them (though I may have been trying to take on too much at once). I intend to revisit at a late date (I've also poked at Basic and SQL) but for now I'm working with Powershell and I'm coming to grips with that rather well - which does also raise another problem. Our school is teaching Python as the 'officially mandated programming language' and, whilst I have no idea how well they're getting on with that, I do find myself thinking Batch would be a much better starting point. The most important aspect of programming is, as I mentioned before, what I call 'Absolute Logic'.. Present a computer with a script and - if the syntax is correct - it will do exactly what you tell it to do and nothing more. Unfortunately that doesn't mean you're telling it to do what you want it to do. I've made that mistake countless times. I've told it to do something, and it's not done it. Upon reviewing my code I realise that it's done exactly what it was told to, just not what it was supposed to, and thus the problem was me. So a simple language like Batch is very difficult to get wrong, but certainly something a step higher than visual/game-based 'programming' such as Scratch. It certainly has more of the programming 'feel' to it and gives them a much better grip of writing it themselves, whereas Scratch has them changing a few pre-set variables.
Ephelyon Posted June 5, 2014 Posted June 5, 2014 And this is precisely the point; the principle of "absolute logic" can be taught with almost any language. If the most important thing is to get the "core concepts" across, it doesn't matter whether you teach it in an industry-standard language because that's not the point of this level of education. The point of our teaching at this stage is to encourage, stimulate and inspire (though it doesn't always have to be "fun" as that's not the world). They will have opportunities to take it further later on; the exceptions being the best and brightest who will be doing it by themselves anyway.
Chris_Cook Posted June 5, 2014 Posted June 5, 2014 One thing I hadn't appreciated until I started working with our head of IT was how little time there was to teach some of these concepts to kids. An hour (or whatever it is) a week to teach coding really isn't that long. It all depends what the goal is. If we want to get more students interested in programming, then it needs to be quick and fun. Not hours of debugging and typing out pointless rubbish just to do something simple. I love coding, but even I hate this tedious aspect of it. As for Scratch, I quite like the concept. We did something similar at uni called executable UML. This sort of software development lets you avoid a whole class of syntax errors and typos. Why wouldn't you want to do that as a programmer? I couldn't give a monkeys how hard someones job is or what they've had to go through to learn the skill, just the quality of the output. Anything we can do to improve the code quality in industry is a good thing. I'm fed up of dealing with buggy junk that shouldn't have every made it out the door. For those who want to go into it as a career, then they can follow it up at college, uni or as a hobby. For most people who are skilled at a task/sport, they first get the interest/desire, then spend an un-healthy amount of time getting really good at it. Its up to employers to set the standard, and start giving feedback on why candidates arn't up to scratch. If someone doesn't have the skill, then give them the feedback so they can improve.
pcstru Posted June 5, 2014 Posted June 5, 2014 I agree with most of what she's saying, particularly the point about how this level of education now is not intended to generate "work skills". So do I. After all, she only really makes three points : Misconception #1 : It is a school’s job to churn out students who will be able to walk into a job in industry on day one and work in whatever language/paradigm is flavour du jour. True. Even universities with specialist computing courses don't turn out the finished article - mostly because programming is a small part of the skill and knowledge that someone needs to effectively tackle a problem. The bigger part of the problem is the actual problem domain. For example, people who work as programmers on accounting systems tend to know a lot about the detail of accounting processes. New programmers even ones with excellent coding skills and a good grasp of programming techniques, take time to get up to speed with the problem domain. Misconception #2 : Kids should start off learning the right way to code with an unforgiving programming language, so they don’t pick up bad habits that have to be undone later. (i.e. PHP is beyond reproach) And what exactly are 'bad habits' anyway? The worst bad habit of most professional programmers is not to comment or structure code but I've seen £600 per day contractors who thought they might sneek in a goto. Teach programming in accessible languages that allow students to learn technique and structure. Coding skills are largely transferable. Yes, even in COBOL. The actual language and style is largely irrelevant to the skill a programmer. Misconception #3 : A teacher who doesn’t have up to date flawless subject knowledge isn’t fit to stand in the classroom. Quite right. And if you really want to learn a subject, the best way is to teach it. I think the "learning to learn" skill is essential to anyone in IT. Witness how much detailed, complicated technology we have to make work and how little training we get to do that.
Garacesh Posted June 5, 2014 Posted June 5, 2014 (edited) I'd have to respectfully disagree @Ephelyon (as people often do in discussions), the core concepts are definitely important, but in a few months of scratch you can instil "It only does what you tell it to do." If you drag in that "Move [ ] pixels [ ]" box in, put 550 in the first blank and select UP in the second, it moves the sprite 550 pixels up. - Oh no! You meant to put 50 and accidentally pressed 5 twice? Tough. You said 550, it did 550. Boom. Absolute Logic has been taught in concept. Have them make that mistake a couple of times and it'll be ingrained there pretty well. Give it about 6 months of this drag-and-drop visual interface to teach them the basics of error handling (if Scratch supports that) and conditions (IF/ELSEIF/ELSE) and you're out of kindergarten and ready for the next step, which would be writing things yourself. There's no need to keep them using the 'toy' for longer than they have to. Take the training wheels off, give them a VM with admin privileges and notepad and teach them something a little more complex. @pcstru you do raise an interesting point about 'Teaching to learn', and sure, that works, in a small group where everybody accepts nobody knows anything. But you'd expect a teacher knows what they're doing. I'd personally consider "Teaching to learn", when your profession is teaching, more akin to "Winging it". Edited June 5, 2014 by Garacesh
pcstru Posted June 5, 2014 Posted June 5, 2014 I'd have to respectfully disagree (as people often do in discussions), It's not very clear who you are disagreeing with or exactly what you are disagreeing with. There's no need to keep them using the 'toy' for longer than they have to. So how long is that? I doubt there is much slack in the amount of time teachers have to teach the concepts and knowledge required by the examining authority. The tools they do choose need to be efficient in not getting in the way of that.
Garacesh Posted June 5, 2014 Posted June 5, 2014 @pcstru, you and @Chris_Cook both replied whilst I was writing mine out, I edited my post accordingly In this case, the 'Toy' I refer to is Scratch, given that's what the article mentions. Like I say, at 1 lesson a week, half of year 7 should be enough to give them an sufficient introduction. I feel that using visual interfaces stifles your ability to learn, as sooner or later you want to break free of the constraints the program imposes.
Ephelyon Posted June 5, 2014 Posted June 5, 2014 (edited) We have to bear in mind differentiation here. Not everyone will get it in a few months; some will struggle even after a few years. You can easily keep Scratch in use in the classroom for lower-ability sets throughout Key Stage 3 while working in something more advanced for the upper sets. It's probably fairly safe to assume that the kids in the lower-ability KS3 sets aren't going to take the subject further at KS4. Accordingly, some would argue that Python should be in play at KS3 for the upper sets (assuming you get the hours/week to do it properly, which is where some schools will fall down) and that KS4 Computing, as an elective option, should allow more freedom for development in object-oriented Java (for example) because these are the kids who definitely decided they want to study this. That's where your VMs or isolated labs would then come in. Edited June 5, 2014 by Ephelyon
pcstru Posted June 5, 2014 Posted June 5, 2014 Teaching independent learning skills is a discipline in itself - it is not in any way winging it. Building Learning Power would be a good example of a 'cultural tool kit' which can be deployed across a whole school. IMO it is more important than ever that students have these skills but I have a very strong opinion that students must be (at some point) taught how to think, not what to think. Personally, I'd scrap ICT in favour of philosophy any day - although it would be a bit of a shame if it had to come to such a choice!
Andrew_C Posted June 5, 2014 Posted June 5, 2014 Misconception #3 : A teacher who doesn’t have up to date flawless subject knowledge isn’t fit to stand in the classroom.Try teaching physics. Not even the real top flight egg heads have "flawless subject knowledge"; it is in flux, it changes all the time. And for most teachers of kids at secondary age, that is fine. "Lies to children" is still a useful tool, when the truth is too complex for them to grasp early on. "Light travels in straight lines" - Nope. We teach Latin here, but not programming.
sted Posted June 5, 2014 Posted June 5, 2014 Try teaching physics. Not even the real top flight egg heads have "flawless subject knowledge"; it is in flux, it changes all the time. And for most teachers of kids at secondary age, that is fine. "Lies to children" is still a useful tool, when the truth is too complex for them to grasp early on. "Light travels in straight lines" - Nope. We teach Latin here, but not programming. true but with physics you need to explain it in bits then explain/demonstrate why thats not quite actually the case teaching at a level they can understand and while for example light dosent travel in a straight line is correct enough for most purposes whereas with coding i cant see much excuse for teaching sloppy coding it generally causes more issues and often takes longer than doing it right first time. I wish i always documented my code properly as come back to it a year later and i have no idea how it works
pcstru Posted June 5, 2014 Posted June 5, 2014 i cant see much excuse for teaching sloppy coding it generally causes more issues and often takes longer than doing it right first time. But the point of someone writing a program in education is not to get it right first time or to deal with all the issues that might arise or even necessarily write code that works. You are falling at the first hurdle : Misconception #1. I wish i always documented my code properly as come back to it a year later and i have no idea how it works I once employed a programmer who wrote 10,000 lines of code in a few weeks, without including a single comment. I was a little bit miffed! The reality was that code would be used only by him so it was more important that he was incredibly productive than that he wrote comprehensible, maintainable code. Another anecdote : I once re-wrote a financial report which took 20 hours to run and got it down to under a minute. The code I was given would have been comprehensible to anyone and could probably have been maintained by some of our teachers. The code I spat out, I could hardly follow. I could hardly describe such code as "good" and yet, for what was needed it was good. Bad habits I'm somewhat ambivalent about in education. I started programming when I was 12, on machines with 8K of memory using BASIC. Variables names were A, B, C etc by design and "if then goto's" were just the thing for program flow. Bad habits were the very tools of squeezing every ounce of an 8K BASIC program. It was 8 years before my minds eye was really opened to the elegance of a strongly typed structured Pascal. If you teach anyone assembler targeted at a specific processor, you are going to quickly shrug your shoulders at the "social ettiquette" of a typical general purpose high level language. Good programming skills are simply this : good logical/numerical problem solving skills (your talent), a knowledge of programming techniques and 'platforms' (your toolbox), an ability to express that using the available tools - which might be anything from scratch to assembler targeted at the 12 bit Microchip PIC family. If you are a professional programmer then you should be very flexible about the last - it's just another language, another platform. Personally I think scratch and python are probably great for teaching because they are easy for teachers to grasp and if they can't understand what they need their students to understand, then the game is lost before it's started. I really can't see that any language is, of itself, an impediment to someone learning to program. 2
Andrew_C Posted June 6, 2014 Posted June 6, 2014 I think that my main point is that with (particularly young) kids, you need to teach them something accessible at their level. There is little benefit teaching them the latest most powerful language if they can't get it to do something. Teach them to walk first, even if for the rest of their lives they will be swimming.
synaesthesia Posted June 6, 2014 Author Posted June 6, 2014 Exactly this. No point getting them to do anything physical until you've shown them how to warm up their limbs! 1
mthomas08 Posted June 6, 2014 Posted June 6, 2014 (edited) While I can understand the frustrations in there, there's also some flawed logic: No, you know more than me about teaching, or being a teacher, in general. I completely agree. This part I also completely disagree with though: "It is a school’s job to churn out students who will be able to walk into a job in industry on day one and work in whatever language/paradigm is flavour du jour. - WRONG" If this statement is wrong why are Head Teachers, Deputy Heads, SLT and most Teachers using this exact statement for every subject, education in general and one of their biggest advertising lines for Schools to Parents. It's worded 100 ways but all means the same thing "Its the Schools job to educate the Students as much as possible ready for the world". Some of the comments are right though that some coder's (some times IT in general) may not be the best socially adapted people. I knew one some time ago, was happy sitting in an office all day every day without saying a word. Then again that has nothing to do with her actual argument that she should be teaching what she see fits. There is a reason why Schools tend to use Office, Windows, Macromedia (or Adobe), Photoshop and all the other software for the last 10+ Years because its all pretty industry standard. You can do things differently but if in general it educates them to the point where an employer will be attracted to that Student then the Teacher's job is done. She used the example that she would be proud to have her Students create a program to say Hello World, BUT an Employer isn't going to care about that. They are going to care if the Student can create a program or maintain something already built. In today's world an employer will be more attracted to the bigger picture. It's like for Teachers, there is no point in Teaching in English if you can speak, read and write in the language its about fully understanding the art of English (so to speak). A good example for that would be understanding Macbeth not just knowing the story. I know a little bit about coding but I wouldn't be proud if I made a calculator I would be proud if I did something that made a difference to my job or the School. Her entire post sounds too much like a rant to coders but guess what in a few Years time she will probably be screaming at them to fix her problems and she will blame them for it. Her School could end up employing one and she wont take a bit of notice of the coder yet try to purposely cause problems - instead of concentrating on the actual job at hand which is Educating our Youth in programing. Edited June 6, 2014 by mthomas08 1
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now