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

The Future of Programming

Discussion in 'Computing and ICT' started by 10101010, Apr 14, 2008.

  1. And to add to my above post, I do sincerely hope that something changes soon to save us from further years of mind-numbing ICT as it is now with Powerpoint and all the other wonderful tools of Microsoft Office.
     
  2. [autismuk wrote:]
    > Most modern programming can be too complicated to
    > start with.

    Agreed. The old BBCs and Commodores were far simpler to get your head around. However, at the time, they were also the height of technology - what you saw on your home computer screen was the best that "computers" could manage, and *you could do that too* (pretty much) with the free tools that booted up right in front of you every time you turned the machine on. There doesn't seem to be quite the modern equivalent. The nearest, I guess, is Scratch, but even that looks to start the child straight off on event-driven programming, which is a bit of a big leap for some.

    The old microcomputer's advantage was its simplicity - simple procedural programming, start at the top, work your way down, set/test variables along the way, get the hang of functions, done. And there was nothing to distract you along the way. Part of the problem now is that computer games are far removed from being one-man affairs that anyone can bang out - they're very impressive, attention-grabbing, cinema-like productions. Children simply can't make anything that looks like the state-of-the-art stuff they use daily at home, and being children they get easily distracted.

    Might the answer be to cheat slightly and give children self-contained programming environments within larger, flashier, more attention-grabbing software? Children these days might not be impressed by the idea of programming, but they sure seem to like places like Neopets / Club Penguin / Habo House / etc. Maybe something like one of those sites but requiring programming in some way to get ahead in the environment? The best I can think of is something artificial-life based - invent your creature, program its behaviours, let it loose and track its progress. Such software has so far been rather dry and academic (bunches of simulated cow-like herbivores trundling around a grassy plain for hours on end tends not to impress the modern child), but the new Spore looks promising.

    Other than that... I vaguely remember playing some roam-the-land-slaying-stuff style arcade adventure game about 15 years ago that involved using a crude programming language to cast spells. That might work - a Harry Potter-esque game environment that requires the player to program spells if they want to get anywhere? Hmm. Space Invaders in reverse - the computer controls the single space ship, you control the hoards of spaceships that need programming properly to operate?
     
  3. I wrote a thing - years ago - for the BBC Micro, like this. It was a Space Invaders/Galaxian game where all the invaders followed a simple scripting language(speed, fire, move etc.). They could also spawn other invaders and wait for all or some of them to be shot.

    Not sure about the Harry Potter idea ; a kind of Logo-Cross might be possible where you have to move things about / break them etc, as a sequence of puzzles. The GLogo thing I wrote would be a simplified version of it. I did have an idea of doing it as a 3D version where you traversed a maze a la Dungeon Master but as a script.
     
  4. Considering how the thread started,it is a bit silly talking about such obsolete software/hardware.

    Back to the future is not an option for most of us.
     
  5. I think the idea is that one brings back the simplicity of earlier programming (try writing something that isn't a Windows Forms Application in VB6, itself obsolete of course) with the looks and style of something from today.

    I'm referring to the BBC Micro because it was the machine it was implemented on 'cos that's what I had at the time, and it was rather fun. You could hit it at the easy level, and you could use it to explain some multitasking concepts at A-Level as well. (I did write an Amiga version as well at one point I remember).

     
  6. I enjoyed the BBC Micro as well.

    But I would like to replace VB6, my stock pogramming language for 6th form assessment, with something less obsolete that isn't less pleaseant and staightforward to use.

    There isn't really a good alternative that hits those criteria.
     
  7. Problem is that no-one would design something that limited :(
     
  8. Well, if you don't know how to use it....
     
  9. I stopped using VB6 about the time I learnt to colour in with crayons (27)
     
  10. Programming has a future in schools? I thought everyone would be doing Media Studies and Psychology in the future.
     
  11. I share the view that, in order to introduce the fundamentals of programming: sequence, selection, iteration, data types, variables, procedures and basic data structures it is best to start with third generation procedural languages. In my experience, the fundamental penny that needs to drop in pupils minds is the notion of variables and this can be obscured in event driven environments.

    That said, we have to recognise that object oriented programming was a huge step forward and allows pupils to achieve things otherwise impossible in older languages. So, in my view, you need a curriculum that ensures progression from the basics to the endless possibilities in todays object oriented world. If there is regular exposure to programming from Yr 6/7 onwards that should be possible. The problem is that few pupils encounter programming notions until post 16. That?s rather like expecting a pupil to be able to study A level physics without ever doing any science in the years before.

    I also think there are the environments around (usually free) to be able to introduce programming from an early age. If anyone is interested here are a few links:
    My starting point would be logo. Try downloading the free MSWLogo:
    http://www.numeracysoftware.com/freeMSWlogo.html provides a link and a host of sample procedures ? but I would start with very simple things based on shapes to introduce the power of iteration (repeats) and procedures.
    Pascal is still a good start for programming fundamentals. Try this link:
    http://www.freepascal.org/
    as is, in my view Python in which you can progress to object fundamentals later .
    For Python try this link:
    http://www.python.org/
    and for some excellent introductory notes try
    http://hetland.org/writing/instant-hacking.html

    Once a few basics have been grasped (and it can take a long time!) then Scratch and Alice are excellent child friendly introductions to higher level programming. Scratch is a 2D environment dveloped by Massachusetts Institute of Technology. It can be downloaded free from here:
    http://scratch.mit.edu/
    There are some great introductory resources at the link below (I particularly like the scratch help cards which can be reproduced for classes):
    http://scratch.wik.is/Support
    If you want to get an idea of a simple, child friendly intro try watching Alan Kay speaking at TED a while ago. The video link is top right and the talk gets you thinking about the wider power of these ideas.
    http://www.ted.com/index.php/speakers/view/id/202
    Alice is a 3D environment (again free) developed by Carnegie Mellon University. Download from here along with a host of support materials.
    http://www.alice.org/

    What is interesting with Scratch and Alice, is that they were developed by inspired educationalists, just like Logo was many years before. The focus is on developing the thinking and there is some substance in the notion that these object based environments lead to quicker and less frustrating experiences for new programmers. Maybe those of us who grew up with procedural languages just have to rethink what we are trying to do ? after all, although 3rd generation programming can focus on fundamentals, there?s nothing fundamental about spending hours searching for a missing dot in the syntax. That?s just a big turn off for children.

    So there?s a few things to get people going, without spending a penny. But my favourite has to be GameMaker. Available free from
    http://www.yoyogames.com/gamemaker
    it also has some good official tutorials to download. But to really get into it invest in ?The GameMakers Apprentice? ? a fantastic introduction written by the developer of Gamemaker, Mark Overmars from Utrecht Uni. Use this link to find out more and order from amazon
    http://book.gamemaker.nl/
    It will keep you engrossed for the rest of this term and the summer holidays.

    I hope these help anyone wishing to get started with programming ? if you try them please share your thoughts on my little ning community
    http://aqacomputing.ning.com/?xgi=1yVy8J7 Aimed at supporting A level Computing I?d nonetheless be interested in any ideas about how we strengthen the foundations for teaching this lower down the school.
    Regards, Roger
     
  12. It is interesting, roger, to read your observations and ideas. Those, together with your enthusiasm are very similar to mine when I set out on my teaching career. I had a sense of direction and a vision. I was also a very good programmer and project manager. One of only two from my cohort.

    Unfortunately, I never did come across an ICT HoD who thought such ideas were anything but nonsense and these days I get used to the idea that ICT is 'preparing students for the world of work' meaning using Microsoft Office tools.

    I hope you keep the enthusiasm intact but you need to temper it with the practical understanding that very few schools want or value the kind of skills you are describing. To be honest, they don't appear to value the Microsoft skills well enough to teach them well.

    Teaching maths has a better potential for the kind of skills you describe, but that has to be part of a very much broader curriculum.

    This forum is not typical. What is more typical of ICT teaching are the requests for help that are regularly posted.
     
  13. tosha82

    tosha82 New commenter

    ... waste of time going down the procedural route, they'll never use it. The problem is most computing teachers do not understand the beauty of oo.

    Your jusy teaching syntax.

    A dot just means send a message to .....
    Easy.

    If you want confusion go for perl, or pointer arithmetic in C. Or a 200,000 line project in any procedutal language.


     
  14. Inheritance, polymorphism, ...

    great ideas.
     
  15. gnulinux

    gnulinux Occasional commenter

    We currently do all our programming or 'software development' in COMAL. However, having looked at many languages as possible replacements, including VB, Java, Ada, C# etc. etc. I have come to the conclusion that none is better than Python.
    Python is a powerful language, easy to learn, ideal for beginners, cross-platform (great on Ubuntu).
    I have written complete packs of teaching/learning materials for Intermediate 2 and Higher Computing (Scottish Education) on Software Development using Python.
    I had intended to sell the materials to schools for a modest fee but have not got round to it.
    The materials contain fully worked examples including all stages of the software development process along with sample solutions to set problems.

     
  16. cj3

    cj3

    Sounds great gnulinix - can you upload them to the teachers resources area?????
     
  17. I don't know much about Python.

    Sounds interesting....

    Of course, until one of us gets him/herself appointed to the QCA and decides on A WAY FORWARD this is all academic. Or not, depending on how you look at it.
     
  18. Some of us have advanced beyond programming languages designed for abacuses you know
     
  19. It is indeed a sad situation that programming is not a strong feature in the curriculum. When I was in FE (HND and BTEC National diploma) the college decided not to go down the software path so that was the end of my OOP teaching for the HND.

    I love programming and in my current letter of application I have included "Develop opportunities to integrate programming into key stage 2 and 3 ICT/Computing curriculum" - i.e. start programming at an early age.

    BEGIN
    WHILE (JobNotFound is True)OR
    (StrengthToContinue is True)
    BEGIN
    Keep looking/praying/panicing/learning to
    spell!
    END
    IF (JobNotFound is false) THEN
    research the links in #92
    ELSE
    IF (StrenghToConitue is false) THEN
    BEGIN
    PropertyReposesed = True
    BackOnIncomeSupport = True
    WHILE Not (EndOfLife)
    ...
    END
    END

    Perhaps the logic in incorrect but did not have time to test!!

    I agree with #92 "introduce the fundamentals of programming: sequence, selection, iteration, data types, variables, procedures and basic data structures" - Perhaps a simple/small language like Pascal would be appropriate so pupils can focus on only the fundamentals since this language will not allow them to deviate and hence loose focus of the fundamentals.

    Then move onto OOP i.e.manipulating existing objects)

    Then move onto OOP (where pupils create their own objects - i.e. class,methods,creating and manipulating instances etc)

    Procedural programming techniques is still required with OOP i.e. code for a button etc. Have been doing some twighlight sessions (VBA for Access) with year 13 group at another school - they are struggling with recordset manipulation because have had very little experiend with array manipulation; finding the concept of local vs global variables etc.

    Any way, so much for my bit. BAck to teaching create tables, create relationships, import dataset AND THEN INCLUDE VALIDATION!!!
     
  20. Thanks for the links Roger! I am going to try Game Maker with Year 6 pupils in a computer club.
     

Share This Page