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 professionals and have your say on the issues that matter to you.

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

    Dismiss Notice

Which language should we use for A Level computing

Discussion in 'Computing and ICT' started by uselessnerd, May 3, 2011.

  1. Have a student starting this next year and the board do not accept C++, I have staff who are trained in Pascal, and some Java, which of all the computer languages is the best?
     
  2. DEmsley

    DEmsley New commenter

    Out of interest which board does not accept C++? Have they explained why not?
     
  3. Well, what a grown up way to try and make your point, made worse by being entirely incorrect.
    AQA Comp1 allows:
    • Java
    • Pascal/Delphi
    • Python
    • VB6
    • VB.NET 2008
    They have withdrawn PHP, C, and C# as of 2011, with C++ never being an option.
    http://store.aqa.org.uk/qual/gce/pdf/WITHDRAWAL_OF_COMP1.PDF
     
  4. Apologies. Clearly, I was talking out of my a***. I would like to say, however, that AQA are total kn**s for taking this approach and is an excellent reason for using OCR (where you can pick whatever you are comfortable with) and avoiding AQA.
    I would still recommend Java and the Greenfoot approach. Buy the textbook that comes for Greenfoot and work your way through it - it's brilliant and you'll see why Sixth Formers love this approach.The only downside is the outrageous expense of the book as a class text.
    http://www.amazon.co.uk/Introduction-Programming-Greenfoot-Object-Oriented-Simulations/dp/0136037534

     
  5. Tosha

    Tosha New commenter

    Can;t even imagine using C++ at school!

    The memory management/leaks, shallow/deep copy, header dependencies, multiple inheritance - what a nightmare.
     
  6. And the non-syntactic major differences between VB.Net and Java are ?
    Not much, obviously, because VB.Net is a syntactic sugar on C# which itself is Microsoft's Java rip......

     
  7. Purists would probably agree VB.Net takes a lot of the hard work out for you by having an excellent IDE. That's no reason to discourage the teaching of the language though.
     
  8. My objection to it is it is too wordy :) I can see its advantages for A2 Computing though.
    Most people even the purists like a good IDE. Even if it only does syntax colouring or something.
    What you have to be careful of with these sort of products (applies to Netbeans as well) is that you don't credit the pupils for something done by the IDE.
     
  9. I teach AQA spec and use Python. The reasons are:
    Clean design - little language "noise" eg. "; {}"
    Because of this uses indentation for statement blocks forcing good coding practise
    Cross platform
    Fully OOP but you can use as procedural (or functional if you want!) I can teach is as though it was pascal in y12 then through OOP in y13
    Well documented - there are lots of free books which are very good. Look at Snake Wrangling For Kids and A Byte of Python
    Good GUI libraries - WX, TK etc.
    The students get it very quickly.
    Basically forces good practise and is easy to use and get hold of.

    We did look at c# and for a2 projects makes sense. I like it and is Java like but with the visual studio ide as well as allowing access to the XNA library which is fantastic for games. At the end of the day if you teach a language properly most should be able to transfer well to other languages. I always tell pupils if you can understand spanish, italian will be easy - so the same is for programming. If you can code in python, learning C, Java, whatever is easy.
    Finally as for C++ being old hat, tell that to 99% of games, music software, video editing, OS, graphics, 3d developers! Is it too much for school? Maybe but lets us demonstrate pointers (I use pascal with the FPC ide for old times sake for this though)
     
  10. Hi,
    the Object model theories are more important than the actual langauge and once they are understood, pretty much any of the real OOD languages could be used to develope the software, but as a multi-language code-monkey I would personally choose Java as a teaching language.
    • It can demonstrate all the OOD principles that students need to know.
    • There are many free development tools that will allow students to carry on with their projects at home without spending a fortune (although Microsoft have free "express" versions of many tools as well).
    • It is language in high demand within the Software industry.
    • The concepts and main syntax rules within Java can be transferred to other languages, including C++ and C#.
    • It is used in many different types of industry and applications - mobile phone software, games, large scale business and commerce systems etc.
    By the way C++ is not at all obsolete (as the previous post says)!
    Where does that idea come from?
    Just take a look at computing job sites to see how many unfilled C++ programmer vacancies there are.
    Regards,
    Daren.
     
  11. Nice language, one of my faves :)
    I've never taught it though. Do they have any problem with the freeish typing of Python - one of the advantage of a strong typing language is there is better syntax checking and helping ?
    I think that's a better idea - or even just 'C'. The problem with C++ isn't the language facilities so much as the syntax and it not garbage collecting as .Net/Java/Python do.
    Can't you do pointers as object references in Python ? Or is it too confusing ?
     
  12. None at all - it's actually stronly typed but not in so far as you can perform arithmetic operations on a string to concatenate for example and but it knows the difference between a string and an integer.
    x = 2+3 is very different to x = "2"+"3"
    The dynamic typing though causes a few problems when going from pseudo code especially for standard algorithms however we just "declare" them first for example I could just go ahead and say
    x=10+20 but if an algorithm has a declaration that is used elsewhere (obviously more complex than this example) I could simply say listOfNames = [ say for an empty list(array)
    All in though I think it is a fab language for teaching programming.
    VB is a good language for teaching button1.click methods and drawing win forms. Stick with coding and nothing else and you become a better programmer.
     
  13. Danger, danger - we could get into a huge argument here between the old faithfulls and those who like the freedom of dynamic types (JS3 collapse, anyone?). I do enjoy the style of Python and Javascript though, it's fitness for purpose isn't it really though.

    Even having this discussion is a fresh change from the "office studies" we too often talk about on the forum... [​IMG]
     
  14. Tosha

    Tosha New commenter

    Not obselete but flawed, C++ an extension of a procedual language! Even 10 years ago most software houses were not using it without a graphical IDE like ROSE or Rational ROSE real time and LINT tools. Read Scott Myers books on C++, it is a wonder it ever took off. I made my living out of it but the improvements in the Java runtime enviroment and subsequently the C# framework make it a less attractive.
     
  15. Ooh, just come accross this:
    http://www.i-programmer.info/news/98-languages/2389-waterbear-a-visual-language-for-javacript.html
    Waterbear, a "Scratch-like" language for JavaScript, i.e. it actually produces JavaScript code you can place on a web page, no plugins needed. This might provide a good starting point for teaching JavaScript, which is as good a language to teach as any.
     

Share This Page