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

Software Development/Programming

Discussion in 'Scotland - curriculum' started by gnulinux, Mar 5, 2011.

  1. gnulinux

    gnulinux Occasional commenter

    Anyone (else) using Python as their programming language?
     
  2. gnulinux

    gnulinux Occasional commenter

    Anyone (else) using Python as their programming language?
     
  3. Why would you use Python as opposed to VB out of interest?
    Can pupils be as creative in it e.g. when making GUI's? Does python give a good example to pupils of how modern applications look/feel/work? I would perhaps argue that Python is more behind-the-scenes programming therefore harder for younger pupils to be interested in. Totally up for debate though!
     
  4. May I ask what you use to teach programming prior to Higher?
    I know a bit about Python - I have dabbled with regards to web development apps I've created but other than that not a lot - it doesn't impress me hugely with regards to its potential role in education - but I'm always open to new things!
    I have actually use Ubuntu and have tried many other linux distros in the apst and I still return to Windows when I need certain programs that aren't any good on linux.
    Computing where I am is a part of a Bus. Ed. and Computing faculty and we are doing better than them! 8 Standard Grade classes the other year is evidence of that. We have 4 Computing teachers in the department and continue to maintain excellent numbers. I agree though that our subject is on an alarming decline in schools and we have to fight for it. Are you a member of the SIoCE?
    Surely with distinct Computing Science E's and O's we have a clear place in schools? [​IMG] I think we need to embrace CfE as we don't have much choice and make our subject important and attractive to pupils so we can flourish. No point always moaning - might aswell embrace the most ridiculous change in Scottish Education!
     
  5. gnulinux

    gnulinux Occasional commenter

    We use UniComal in s3/4 at Int2 Computing - one of the few languages actually designed to encourage good programming practice.
    I have looked at many different programming languages and none has impressed me more than Python. Some are truly horrible - like JAVA despite its popularity - see tiobe.com.
    Here is a little illustrative program in Python.

    #Program to illustrate variable scope and
    #Passing parameters by reference and by value
    #By : Me
    #Language: Python
    #Date: 10/5/2011
    #
    #'name' is a global variable, i.e. it can be referenced anywhere after it
    #has been declared
    global name
    name="Fred Bloggs"
    #
    def get_value():
    print name
    x=int(raw_input("Please enter the length >> "))
    #x is a local variable
    #it only exists between def and #enddef
    #it is passed out by reference, i.e. linked to the external
    #non-local variable that is used when the function is called up
    return x
    #enddef
    #
    def print_value(y):
    print name
    #y is a local variable - gets its value from an external variable
    print "Length is >>> ",y
    #it only exists between def and #enddef
    #it is not returned so there is no link between it
    #and any external variable
    #enddef
    #
    #main program
    #
    length=get_value()
    #length is a variable that exists outside any of the above functions
    #it is NOT global - just NON LOCAL
    print_value(length)

    With regard to Ubuntu I have used it for years. It never crashes. You can virtually forget viruses etc. For almost any Windows program you care to mention there will be a Linux equivalent. Basically I could run the entire Computing Department on Ubuntu tomorrow if I was allowed to and that would ultimately save money. The problem is that people have become so used to Windows **** that they are completely blinkered to the alternatives.

    Try reading Linux Format magazine. It is brilliant and informative even if you are not into Linux.

    I am not a member of SloCE but know some of those who started it.

    It was a major step forward to have the Computing (Science) distinguished from IT and ICT.
    At a recent InService I had the misfortune to have to listen to a Fac Head of English and a Bus Ed teacher rant against Computing Science, saying that kids could not do ICT now because of it. What ***!!! I told them that ICT was the responsibility of all teachers. Today with one of my S1 Computing Science classes we did an exercise on Computer Systems on screen using Word (to save paper since per capita has been drastically cut) - it was clear that some pupils had not used Word at all anywhere in the school since coming in to S1. Clearly the message about ICT being the responsibility of all has not been heard.

    However there is significant prejudice against Computing Science in schools coming from some SMT's and Bus. Ed. in particular.

    SMT's probably want rid of Computing Departments so that they can use the computer suites for ICT (remember that GLOW - the answer to everything) and Bus Ed (who have not moved on from the 20th century) can't think beyond Microsoft ..... and only want to teach typing on a computer anyway.
     
  6. gnulinux

    gnulinux Occasional commenter

    Apologies - try again!

    #Program to illustrate variable scope and
    #Passing parameters by reference and by value
    #By : Me
    #Language: Python
    #Date: 10/5/2011
    #
    #'name' is a global variable, i.e. it can be referenced anywhere after it
    #has been declared
    global name
    name="Fred Bloggs"
    #
    def get_value():
    print name
    x=int(raw_input("Please enter the length >> "))
    #x is a local variable
    #it only exists between def and #enddef
    #it is passed out by reference, i.e. linked to the external
    #non-local variable that is used when the function is called up
    return x
    #enddef
    #
    def print_value(y):
    print name
    #y is a local variable - gets its value from an external variable
    print "Length is >>> ",y
    #it only exists between def and #enddef
    #it is not returned so there is no link between it
    #and any external variable
    #enddef
    #
    #main program
    #
    length=get_value()
    #length is a variable that exists outside any of the above functions
    #it is NOT global - just NON LOCAL
    print_value(length)
     
  7. Flyonthewall75

    Flyonthewall75 New commenter

    That's computers for you.
    It must take a great deal of patience, and commitment, to study computer programming.
    Still, where would we be without it? [​IMG]
     
  8. gnulinux

    gnulinux Occasional commenter

    Data typing in Python is dynamic, i.e. a variable in Python will take on the type of the data that is assigned to it. So in a statement such as name="Fred" , name is a string variable. In number=2, number is an integer variable and in number=2.0, number is a floating point variable.
    List are interesting. A list can have mixed data types e.g. list=["Fred",10,"01224123654"].
    An array is just a list where all the entries have the same data type, e.g. name_array=["Fred","Jo","Bill"]
    So, name_array[0]="Fred" etc.
    Personally I think that Python is a brilliant language and ideal for teaching Software Development at any level in school or beyond. It is also multi-paradigm: covers procedural programming, event-driven, functional, game programming etc.
    In Python, structures such as if's have no endif statement and the contents of the structure are tabbed in by 1 tab. I comment the end of an if with a #endif at the right tab position e.g.
    if x==1:
    print "do this"
    #endif
    etc.
     
  9. gnulinux

    gnulinux Occasional commenter

    Apologies - I forgot that you can't format code here.
     

Share This Page