Programming @ GCSE IT
Author
Discussion

Simbu

Original Poster:

1,915 posts

204 months

Friday 16th September 2011
quotequote all
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.

rxtx

6,053 posts

240 months

Friday 16th September 2011
quotequote all
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 smile

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

Simbu

Original Poster:

1,915 posts

204 months

Friday 16th September 2011
quotequote all
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!

steviegunn

1,424 posts

214 months

Friday 16th September 2011
quotequote all
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.

A balance of interoperable languages would be the best idea (Java, JSP, ASP, XML, XSL, (D)HTML, Perl and (P/)SQL) perhaps?

Adrian W

15,579 posts

258 months

Friday 16th September 2011
quotequote all
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.

Frankeh

12,558 posts

215 months

Friday 16th September 2011
quotequote all
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 bks at A-Level. What's the point?
It teaches the worst practices ever.. (= and == work the same in VB..)

Simbu

Original Poster:

1,915 posts

204 months

Friday 16th September 2011
quotequote all
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.

People should remember that alot of these kids will have never touched anything to do with programming before.

rxtx

6,053 posts

240 months

Friday 16th September 2011
quotequote all
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.

Du1point8

22,943 posts

222 months

Friday 16th September 2011
quotequote all
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.

V88Dicky

7,373 posts

213 months

Friday 16th September 2011
quotequote all
Not sure if I'm out of my depth here, but I quite like VB.









budgie smuggler

6,077 posts

189 months

Friday 16th September 2011
quotequote all
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.

rxtx

6,053 posts

240 months

Friday 16th September 2011
quotequote all
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.

budgie smuggler

6,077 posts

189 months

Friday 16th September 2011
quotequote all
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.
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.

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.



rxtx

6,053 posts

240 months

Friday 16th September 2011
quotequote all
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.

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 smile

Frankeh

12,558 posts

215 months

Friday 16th September 2011
quotequote all
The designer of this forum software needs some GCSE programming wink
Error,error,error.

Anubis

1,029 posts

209 months

Sunday 18th September 2011
quotequote all
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 censored 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.


davepoth

29,395 posts

229 months

Sunday 18th September 2011
quotequote all
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. wink

russ_a

4,725 posts

241 months

Sunday 18th September 2011
quotequote all
I think the VB references are to Visual Basic 6 not VB.net

Though I would rather kids get taught VB6 than VB.net which is actually stupid!!

davepoth

29,395 posts

229 months

Sunday 18th September 2011
quotequote all
russ_a said:
I think the VB references are to Visual Basic 6 not VB.net

Though I would rather kids get taught VB6 than VB.net which is actually stupid!!
I've not used it since VB3 so I can hardly talk. wink

swamp

1,014 posts

219 months

Sunday 18th September 2011
quotequote all
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.