Programming @ GCSE IT
Discussion
http://www.theregister.co.uk/2011/09/16/uk_school_...
I think this is cracking idea. Teaching kids how to use Excel and Word is pointless these days; they pick these skills up day-to-day.
My opinion might be biased, not least because i'm a software developer who went to one of the trial schools.
I'll be intruiged about the choice of language / platform though, my guess will be VB.
I think this is cracking idea. Teaching kids how to use Excel and Word is pointless these days; they pick these skills up day-to-day.
My opinion might be biased, not least because i'm a software developer who went to one of the trial schools.
I'll be intruiged about the choice of language / platform though, my guess will be VB.
In my day Computer Studies was one of the GCSE choices (my year did the first ever GCSEs), is that no longer the case? One of the major bits of coursework that counted toward the result was some software development, which I did in xBase/dBASE incidentally 
ETA, now that I think about it, Computer Studies wasn't offered in my school at GCSE level until the lower sixth, which I took, but we were doing BASIC programming on BBCs in Maths lesson from the 3rd year onwards (although personally I started that aged 9 or something).

ETA, now that I think about it, Computer Studies wasn't offered in my school at GCSE level until the lower sixth, which I took, but we were doing BASIC programming on BBCs in Maths lesson from the 3rd year onwards (although personally I started that aged 9 or something).
Edited by rxtx on Friday 16th September 12:51
I believe you can do Computer Studies / Science provided the school offers it.
IT is a mandatory part of the curriculum these days, so the impact of this will be much wider.
My secondary school coding (A level) was in VB6 about 8-9 years ago. They will need to balance choosing a language simple enough to teach programming concepts without getting too wrapped up in complex syntax, and choosing somethnig that isn't so old that it's irrelevant.
Presumably my old school have got a teacher who can teach programming properly these days!
IT is a mandatory part of the curriculum these days, so the impact of this will be much wider.
My secondary school coding (A level) was in VB6 about 8-9 years ago. They will need to balance choosing a language simple enough to teach programming concepts without getting too wrapped up in complex syntax, and choosing somethnig that isn't so old that it's irrelevant.
Presumably my old school have got a teacher who can teach programming properly these days!
Simbu said:
http://www.theregister.co.uk/2011/09/16/uk_school_...
I think this is cracking idea. Teaching kids how to use Excel and Word is pointless these days; they pick these skills up day-to-day.
My opinion might be biased, not least because i'm a software developer who went to one of the trial schools.
[b]I'll be intruiged about the choice of language / platform though, my guess will be VB.[/b}
That will be interesting, though many principles are common, I left uni in the early 90s having programmed in FORTRAN, PASCAL, COBOL and Assembler, needless to say the first day on the job, being sat down with C++ and told to have the program ready by the end of the week was rather daunting.I think this is cracking idea. Teaching kids how to use Excel and Word is pointless these days; they pick these skills up day-to-day.
My opinion might be biased, not least because i'm a software developer who went to one of the trial schools.
[b]I'll be intruiged about the choice of language / platform though, my guess will be VB.[/b}
A balance of interoperable languages would be the best idea (Java, JSP, ASP, XML, XSL, (D)HTML, Perl and (P/)SQL) perhaps?
Adrian W said:
My son is doing IT something at A level, I way amazed when I asked him what they were using and he said VB, talk about dumbed down. Microsoft seems to rule the world.
Yep, I did VB b
ks at A-Level. What's the point?It teaches the worst practices ever.. (= and == work the same in VB..)
steviegunn said:
That will be interesting, though many principles are common, I left uni in the early 90s having programmed in FORTRAN, PASCAL, COBOL and Assembler, needless to say the first day on the job, being sat down with C++ and told to have the program ready by the end of the week was rather daunting.
A balance of interoperable languages would be the best idea (Java, JSP, ASP, XML, XSL, (D)HTML, Perl and (P/)SQL) perhaps?
While i agree a range of languages is important, the emphasis on these lessons should be on programming concepts and the value / importance of programming, and how it fits into a wider IT picture. I think something as simple as possible to learn like VB will be the best bet. A balance of interoperable languages would be the best idea (Java, JSP, ASP, XML, XSL, (D)HTML, Perl and (P/)SQL) perhaps?
People should remember that alot of these kids will have never touched anything to do with programming before.
rxtx said:
They should concentrate on concepts rather than a specific language. Once you understand program design the rest is details. VB would be my last ever choice.
I think this hits the nail on the head...Teaching a specific skill is not the way to go, but to teach things about design patterns, UML, normalisation, pseudo code, OO fundamentals, etc... would be much more benefical then teaching the kids java, .net, pretty GUI code,etc without understanding why they are doing it and what is best practices...
As teaching them coding direct is going to teach them all the bad habits of the teacher themselves.
If they want to learn a specific language then they can be given the relevant study material but to learn the basics first is much more essential.
Good news. I'm trying to recruit IT apprentices at the moment. Most can't write any SQL, code or even do simple relational DB design. Shocking really.
Absolutely nothing wrong with using VB btw. Great language for learning arrays, variables, structures etc without the hassles involved with other languages. Plus there is still a fair amount of it on live systems dotted about.
Absolutely nothing wrong with using VB btw. Great language for learning arrays, variables, structures etc without the hassles involved with other languages. Plus there is still a fair amount of it on live systems dotted about.
budgie smuggler said:
Absolutely nothing wrong with using VB btw. Great language for learning arrays, variables, structures etc without the hassles involved with other languages. Plus there is still a fair amount of it on live systems dotted about.
Well this is it isn't it. There hasn't been any VB on any system I've work on in the past 20 years, and that's why sticking to one language (and OS in VB's case) is a bad idea. What are the "hassles" with other languages? There just aren't any. The concepts are exactly the same, the implementation is again just details.Obviously the kids are going to need to do some coding, but sticking to one platform doesn't doesn't give any insight into the way things are done in other languages.
rxtx said:
budgie smuggler said:
Absolutely nothing wrong with using VB btw. Great language for learning arrays, variables, structures etc without the hassles involved with other languages. Plus there is still a fair amount of it on live systems dotted about.
Well this is it isn't it. There hasn't been any VB on any system I've work on in the past 20 years, and that's why sticking to one language (and OS in VB's case) is a bad idea. What are the "hassles" with other languages? There just aren't any. The concepts are exactly the same, the implementation is again just details.Obviously the kids are going to need to do some coding, but sticking to one platform doesn't doesn't give any insight into the way things are done in other languages.
The language itself is typed, and the syntax is almost like plain English. No configuration is required whatsoever, so the students can immediately dive in and start popping up messages, changing pictures as a result of different inputs etc.
You don't have to worry about threads, MFC, OO or anything more than the simple thing you are teaching - which at this level will be things like simple maths, simple games like noughts & crosses, looking things up from a DB etc.
For a glimpse at the level you're looking at, take a look at the fizzbuzz test. Not a single person I've interviewed has even been able to take a decent crack at it in any language, let alone solve it bug free. It's an eye-opener.
Not to say there is anything wrong with VS .net or Java with Eclipse, but they are massive overkill for what the students will be doing at GCSE level.
As for not seeing it anywhere in 20 years, I'm very very surprised about that. I can think of large systems in almost every field of business we work in (FX markets & finance, pharma, comms) which are still built in VB, and still being used heavily.
budgie smuggler said:
For a start VB has a nice integrated environment with debugger built in, GUI designer built in etc.
The language itself is typed, and the syntax is almost like plain English. No configuration is required whatsoever, so the students can immediately dive in and start popping up messages, changing pictures as a result of different inputs etc.
You don't have to worry about threads, MFC, OO or anything more than the simple thing you are teaching - which at this level will be things like simple maths, simple games like noughts & crosses, looking things up from a DB etc.
Not to say there is anything wrong with VS .net or Java with Eclipse, but they are massive overkill for what the students will be doing at GCSE level.
That doesn't really teach them anything other than what programming is like in VB. They don't need to fully understand OO, garbage collection, pointers etc, but they should be aware of the various different concepts, what a compiler is and does, the difference between interpreted and compiled code and the depth and breadth of the software development cycle - which covers a lot more than just writing code. Doesn't have to be (and it won't be) in depth, but I don't think focusing on one specific area is going to be of any use.The language itself is typed, and the syntax is almost like plain English. No configuration is required whatsoever, so the students can immediately dive in and start popping up messages, changing pictures as a result of different inputs etc.
You don't have to worry about threads, MFC, OO or anything more than the simple thing you are teaching - which at this level will be things like simple maths, simple games like noughts & crosses, looking things up from a DB etc.
Not to say there is anything wrong with VS .net or Java with Eclipse, but they are massive overkill for what the students will be doing at GCSE level.
I'm not saying don't teach it, I'm just saying teach it as part of a whole.
budgie smuggler said:
As for not seeing it anywhere in 20 years, I'm very very surprised about that. I can think of large systems in almost every field of business we work in (FX markets & finance, pharma, comms) which are still built in VB, and still being used heavily.
The majority of my background is with ISPs, and later, multi-tier client-server frameworks (now in B2C FX), both as a sysadmin and/or developer, those places were/are all UNIX at the back-end, or VAX/VMS in the olden days. I didn't mean to imply that it isn't used, just that it wasn't where I've worked 
Those of you who say VB.net is stupid clearly don't know what they're talking about. It's an alternative syntax to C#.net; it can do exactly the same thing with the exact same concepts but your typing the code in a slightly different way. It's also used across millions of systems today because it gets the job done (much like many other languages).
As for teaching, just give them a way (in any language or platform) to automate every day PC jobs and kids will pick it up. Most can't do it because they look at a load of complex, often overwritten code and say "can't do it"; it's a mental block. Problems are also increased by "Norberts" showing off, frankly talking total gobbledegook to every day people (If you said "Unix" to someone on the street and start ranting on about how XYZ is superior to ABC, then you're a tool - no one gives a
in all honesty. Give them something they can relate to, see it working and often ideas start to flow - you then build on those ideas).
No one cares about whether it's done on sodding Unix, Linux, Windows, .net, Pascal, Oracle or whatever - it's all just a pile of Geek talk. If it gets the job done and does it well then no one cares - seriously.
As for teaching, just give them a way (in any language or platform) to automate every day PC jobs and kids will pick it up. Most can't do it because they look at a load of complex, often overwritten code and say "can't do it"; it's a mental block. Problems are also increased by "Norberts" showing off, frankly talking total gobbledegook to every day people (If you said "Unix" to someone on the street and start ranting on about how XYZ is superior to ABC, then you're a tool - no one gives a
in all honesty. Give them something they can relate to, see it working and often ideas start to flow - you then build on those ideas).No one cares about whether it's done on sodding Unix, Linux, Windows, .net, Pascal, Oracle or whatever - it's all just a pile of Geek talk. If it gets the job done and does it well then no one cares - seriously.
So it's a higher level language; but it's still a full programming language and you can make pretty much anything with it. The trick with teaching not especially motivated pupils (there will always be those who will learn assembler in their spare time but we really aren't talking about them) is to get results, and using BASIC is the way to do that. It worked in the 80s, I don't see why it won't work now.
I doubt many of these kids will ever grow up to be programmers, but they'll come away from the course with an appreciation of how programming works, in pretty much the same way GCSE Science does for that subject.
Plus, knowing how VB works is very handy for writing macros in Excel.
I doubt many of these kids will ever grow up to be programmers, but they'll come away from the course with an appreciation of how programming works, in pretty much the same way GCSE Science does for that subject.
Plus, knowing how VB works is very handy for writing macros in Excel.

Scala, SQL, Unix/Linux, PHP/HTML/JavaScript.
I picked Scala because it's quite a pure 'academic' language, but students could easily move later to Java or C# (with all their baggage.)
SQL is timeless. Same with *nix. Got to have some web stuff in there too, but you could swap PHP for ASP.
I'd also add in unit testing, TDD, Agile.
I picked Scala because it's quite a pure 'academic' language, but students could easily move later to Java or C# (with all their baggage.)
SQL is timeless. Same with *nix. Got to have some web stuff in there too, but you could swap PHP for ASP.
I'd also add in unit testing, TDD, Agile.
Gassing Station | News, Politics & Economics | Top of Page | What's New | My Stuff



