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

how do you teach programming?

Discussion in 'Computing and ICT' started by Mr_G_ICT, Jun 12, 2011.

  1. Mr_G_ICT

    Mr_G_ICT New commenter

    Ok, i'm reaching the end of my first year teaching A Level OCR Computing and as much as there has been some successes, i'm now reflecting on how i have taught the course.

    I have been working mostly on teaching students how to make console apps in order to ground students in the base theory and now i'm moving on to teach them how to make form apps. my logic being that once you have learned how to code and break everything down into sub procedures then it's a small jump to putting a nice front end on it to make it work.
    I haven't given the students any printed notes, i've kind of used the "chalk and talk" method, i show you an example on the board go through the theory(make your own notes), then give you a number of programming examples based on the same theme.
    I'm teaching VB(which i know can face some derision on these forums), but i'm interested to know, how do you teach your a-level students when it comes to programming?

  2. I suggest reviewing closely the OCR specification and Teachers' Guide. Getting students to first understand the concept of algorithms and then derive their own is absolutely crucial. From there it's a reasonably straightforward link to pseudocode and then formal coding. I would also urge solutions to tasks, rather than anything more nebulous. This makes VB (hmmm) or whatever language more meaningful in that it's pragmatic from the outset and should therefore make it easier to learn. Do remember that it's a course in computing, implicitly deriving solutions to problems, rather than a course in programming.
  3. I go for VB6 Form-Driven-Apps from the start.
    It's not too exciting but I think it's gotta be better than just pure console stuff. It gives some feedback and familiarity with objects and they have to take into account how things look from the start.
    I teach it to lower ability kids rather than A-Level Computing ones - I think the ghetto-badmans I teach would hang me out of the window by my dangly bits if I tried the console approach.
    I take more or less the same approach as you re: the actual teaching - go through examples I have created and then give the kids extended tasks based on them.
    This is the approach taken in the Christopher Heathcote Applied ICT/Computing VB Programming books which IMHO are the most appropriate I've seen for teaching this to A-Level kids.
    Don't really do any paper-based programming design with them - at this stage surely they just need to get their hands dirty with code?
    And for the spec I teach, they don't need to know about it.
  4. I've done two years of teaching A level computing now, and I've done the same both years. I've not done any gui work what so ever, it's all been console based, in that (as you say) the gui can be picked up easily in the future if they have the good groundwork of how to actually make a program.

    I've used "Think Python" as our textbook (it's free, google it), but I only teach to about half way through. When I'm teaching though I show them examples similar to those in the book and their homework is to read the relevant chapter. I'm sure some don't bother, but those are the same ones who don't get it. Their loss...

    I'm planning the same for GCSE next year, although without giving them a textbook. One of the requirements of the coursework tasks looks like it may be a GUI however, so I've had a quick play with some simple event driven python guis and they look easy enough to be understood without faffing about with colours, fonts, and all those other things the kids love to waste time on!
  5. Python.......

  6. Tosha

    Tosha New commenter

    We have chossen VB as the teaching language for the Coding a solution on the ICT ocr spec, bacause of the GUI requirements. How easy is it to put a GUI together using python?
  7. Sort of. You are making a jump from classical top to bottom programming to event driven programming.
  8. Took me two mins to google for the module, install it, and write a hello world gui program with a couple of buttons. I think it was called simplegui or easygui or something equally easy-sounding.

    There's no need to do anything graphical on the WJEC computing, either for AS or A2. This I like.
  9. Python.... OMG
  10. gavcradd

    gavcradd New commenter

    What's "OMG" about Python? I don't understand that comment at all...

    I've delivered AS/A2 Computing for the past 8 years (AQA previously, now OCR) - we start off using VB (was 6, now .Net express) and jump straight in. The very first lesson is to create a very simple event driven "Hello world" type app with one button. Then lesson by lesson, we introduce more and more, building upon what we've previously done. If memory serves, I think selection (IF...THEN and CASE) is first up, then variables, then iteration, and so on. I try to make the tasks we do cover not only the new thing we're learning, but also lots of the previously covered materials. A normal lesson will be (1) All round the white board, discuss what we learnt last lesson and why it's useful (2) Demo on the board whatever we're learning this lesson,answer questions, etc (3) Students go and repeat the task on the board individually (4) Students work on the individual tasks I've put on the VLE for them - these start off simple and then quickly get to more complex situations that require a but of thought.

    Every few weeks, I throw in an assessed task where I give them the criteria and they have an hour + homework to complete the task with no help from me beyond debugging, etc. They have all of my notes on the VLE and I show them a few good tutorial sites to use. I make it a rule that if they have a problem, I never solve it for them until they've at least tried to find the answer themselves.

    We don't tough any of the theory for the programming paper until Christmas - by then, they're usually competent programmers so we can relate what we're learning and try things in a practical way.
  11. gavcradd

    gavcradd New commenter

    In answer the the OP, the one thing that I'd recommend is for you to give the students access to some decent notes on your VLE. There's a huge correlation between how often a student accesses my notes and their final result. Programming, in whatever language, is too complex to take in first time without re-reading the notes. And making notes themselves is likely to have them miss out (or get wrong) something important, whilst also taking up time that could be spent on practical activities.
  12. Yes, the key to success is having good notes - make a 'work pack' which acts as both your in- lesson teaching materials and doubles as later reference material for your students.
    Regardless of language - and probably stating the obvious - they will always need some simple reference guide for the language.
    As for Python. I'm unfamiliar with the language (I'm from a Java background)..... but I'm curious. For KS4 Computing GCSE (pilot) what are the absolute must-know links/required software? Any getting going links?

  13. No, it's great.
    That's why you use VB, isn't it?
  14. gavcradd

    gavcradd New commenter

    I use VB as the "main" language that we use for teaching, but we have various other languages available that we dip into from time to time to show the students what's available. It's also the language that the other teachers delivering the course alongside me are most comfortable with.
    Python is a fine language. I don't use Java, C++ or Pascal either; what's your point?
  15. This guy does useful analysis of the most jobs around in certain programming languages:
    Although you could argue about the statistical accuracy, as a rule of thumb the only sensible languages to get your students stuck into are C# or Java (virtually identical syntax), and a good dose of Javascript. I really am not won over on the obscurity of Python - not a bad choice but where is it going for students? Most go on to post-16 and especially Uni and its all Java Java Java.

  16. All languages have things in common and any programming language will use repetition, selection, variables etc.
    These are the fundamentals that kids need to learn to be programmers in any language.
    So why not teach your kids using a language that is easy to learn, has excellent help, massive online documentation, built in objects and a mass of resources - VB?
    On the other hand you could try teaching them using Java, Python etc and let their ambition get ground down by having to deal with the arcane Syntax and IDEs (or lack of) of these pig languages for no good reason..
  17. Once you can program in something reasonably well you can change languages fairly rapidly - except for the obvious oddities.
    The bad choice is VB6 because whilst I do understand the "dead easy to produce something that looks good if the marker is stupid" issue, it's object model is a complete joke.
  18. Because VB priorr to the .NET version is absolutely laughably **** as a programming language ?
  19. Been over this one a few times.
    But I won't ask you to justify that statement - you haven't managed to before and I don't imagine you will be able to now.
  20. T34

    T34 Established commenter

    You normally write good sense - but it seems to fly out the window when classic VB is mentioned!

Share This Page