1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Hi Guest, welcome to the TES Community!

    Connect with like-minded education professionals and have your say on the issues that matter to you.

    Don't forget to look at the how to guide.

    Dismiss Notice

What language do you use to teach programming (KS4 and lower)?

Discussion in 'Computing and ICT' started by jweb2k, Nov 6, 2011.

  1. jweb2k

    jweb2k New commenter

    A poor choice, not fun to do anything other than create endless forms (gosh, just look at the ADO connector, not free and impossible to even find these days. If it was available, I'd be tempted to let Year 8's play with it though..... (!!)

     
  2. Re VB.
    "Back in my day...", we started with typing-of-instructions programming of some sort (for us it was Pascal/C/BASIC, though I suppose JavaScript, Python, etc would all fit the category).
    Then we learnt a little about compilers and assembler. Hence, I still know precisely why an iPad app will not run on Android, or Linux, or Windows.
    We were taught to understand what we were doing, and to appreciate the tools that make our later lives easier (VB GUIs, etc).
    20 years on, I haven't seen any good reason to change my view. Applications-driven or GUI-driven point-and-click code generators do not give students the chance to learn how to understand the thing. I appreciate others may have a different view and may do wonderful things with VB.
    Besides, I never liked VB ;-)
     
  3. autismuk

    autismuk New commenter

    Anyone remember "The Last One" ? It wasn't.
    Wizard / Click'n'Play things always run out of working room - they're easy ins but eventually you have to actually understand what's going on.

     
  4. Y7 - Scratch and Logo


    Y8 - Gamemaker


    Y9 - Lightbot and Alice


    GCSE Computing - Lightbot 2, Scratch BYOB and Python


    AS Computing - Greenfoot and probably BlueJ once I get past making games



    Does it matter? I'm not convinced that it does, as long as it's a reasonable language for what you're trying to achieve. Heck, I started off with QuickBasic and I managed OK. VB is too proprietary for me (teaching in a Mac suite doesn't help, either). Javascript is not something I've ever really gotten into. With C++ I disliked the "copy these 8 lights of code, never mind what 'void main(string[ ] args)' means" approach.


    People seem to support programming languages like they support football teams. There may be some logic about the choice once upon a time but it's now pretty much a combination of blind faith and habit. As long as the kids are learning assignment, selection, iteration, abstraction... it's all good AFAIC.
     
  5. As long as you are teaching the general principles / logic / structure of programming then you can't go TOO FAR wrong. One man's Phython hell is another one's heaven.
    But one thing that really confuses me is why there isn't more Java or C# being mentioned for GCSE.
    C# in particular (with Visual Studio Express), the syntax is almost exact to Java. Hey presto, you've taught started teaching them the language(s) that most 6th form colleges and Uni's get them programming with.
    Personally I think Python is a niche and only a very small slice of the jobs/application out there, but I can see the positive arguments with adopting it for GCSE learning.
     
  6. autismuk

    autismuk New commenter

    I think the added complexity may be too much - rather than Print "Hello world" you have System.out.writeln("Hello world") and so on :)
     
  7. I would argue that students taking GCSEs in a subject aren't necessarily wanting to take that subject on as a career, so the importance of an accessible language to help teach the basics is more important than teaching the syntax necessary for industrial strength languages.
     
  8. Precisely!
     
  9. True - to a point.
    Pascal was great for teaching programming, because it enforced good practice. I find in teaching Java, students complain it is too fiddly (why do we need the System.out??). C# has the same problem. The students are not mature enough as programmers to fully understand.
    However - should we always hide complexity? It would be like teaching French by ignoring irregular verbs and odd grammar rules.
    I found in going from C to C++, I was baffled. The idea of objects made no sense at all. It didn't help that anything written in C++ can be written in C (so, I thought, "keep it simple"). Anyone starting in Java/C#/C++ will at least think in terms of objects from the start. All the more likely if they have started with Scratch (etc).
     
  10. autismuk

    autismuk New commenter

    Well, that's the best solution; start with objects but free of too complex a syntax.
     
  11. As I have said so many times before, VB6 teaches loops, iteration, variables etc to the kids.
    These are the basic building blocks of programming.
    The other options here teach them an anal obsession with semi-colons and the like.
    They are simply evidence of unfriendly syntax.
     
  12. I'd tend to agree with that - almost none of them have any meaningful exposure to programming and some that do are liable to confuse terminology and under/over estimate their skill levels.

    We use VB.Net as multiple teachers are confident with it but are open to considering Javascript to support some of the BTec web scripting focused tasks and also it lead to transferring into other languages.

    That and we have put plenty of effort into establishing sandboxes on the network for kids to run executables without risking the viability of the larger network.

    Python has peaked my interest though as I have seen it used for fairly heavy data analysis in private business - anyone got any experience of this? Am always keen to couch my computing teaching in terms of meaningful skills and knowledge that will actively contribute to employability, as have seen plenty of non-computing graduates get jobs as analysts and later project managers / consultants that require them to be handy at learning fairly advanced uses of databases, SQL and various VB script / coding etc.
     
  13. mlapworth

    mlapworth Occasional commenter

    Has anybody had a look at jabaco? It is almost identical to VB6, but runs as java...It's still a work in progress at the mo, I think. It's a free download too.
    "Jabaco is a simple programming language with a
    Visual Basic like syntax. Jabaco enables you to create powerful software
    for all Java supported operating systems."
    http://www.jabaco.org
     
  14. Over the years, I must have taught every language going. Whilst a huge fan of Java and especially Greenfoot / BlueJ for teaching, I always seem to return to BASIC in one form or another (BBCBASIC is my flavour of the month).
    For youngsters starting out, it is an ideal language in many ways. The syntax is very clear. All the basic constructs and common instructions are there. There are lots of resources, all free. The common IDEs do all the things pupils need to know about, like debugging. I know it has a few very naughty things about it, but teachers can get pupils to side-step these and they can easily use BASIC to get the main ideas of programming firmly established. BASIC makes programming accessible for weaker students, too, I've noticed, so it is not just the preserve of A / B students. And once the main ideas are in, moving on to other languages never seems so much of a problem.
    I sometimes wonder whether we teachers are trying to be too cleaver and too up-to-date with what we teach. We aren't teaching programming after all. We should be teaching problem solving.
     
  15. jweb2k

    jweb2k New commenter

    Work in progress = not been updated for years?
     
  16. mlapworth

    mlapworth Occasional commenter

    Yes, it's true that the current version is a couple of years old.It's being developed by a single developer. Apparently there'll be a new version next year. Documentation is very patchy too. I just came across it and thought it looked interesting...
     
  17. Currently use Scratch and a few other drag-n-drop environments. Kids love it and it allows them to focus on the problem solving and key concepts, not syntax errors (leave that for later years). Like the look of Scratch BYOB.
     
  18. Has anyone tried MSofts SmallBasic?
     
  19. fhassan

    fhassan New commenter

    Hi.
    I'm in a a bit a of a pickle. I've opted to be observed during a BTEC programming lesson. The topic is introduction to loops and I have no idea where to start. Any suggestions?
     
  20. autismuk

    autismuk New commenter

    Find out what they've used previously would be the first stage I would think.
     

Share This Page