National Computer Science School

NCSS Challenge 2008

About the Challenge

 
home | about | rules | resources | register | login

The University of Sydney

School of IT, University of Sydney

The final day!

It's the last day of the NCSS Challenge 2008. Over the past five weeks, the participants have written literally tens of thousands of Python programs, and I'm sure we'll get a final surge today.

Well done to everyone who has taken part! We're constantly amazed by the effort you have all put in and the quality of your code. And if you're scrambling to solve some final problems today, good luck!

The scoreboard will take us some time to finalise, since we need to chase up some things manually and add or remove some points here and there, so check back later in the week for the final results.

read more...

Learn to program in Python while you compete!

The School of IT at the University of Sydney is running a programming challenge for high school students over 5 weeks in term 3, 2008.

Unlike existing competitions, the NCSS Challenge is designed to cater for both beginners and advanced students. Each week, a set of Python teaching resources for either in-class or self-directed learning will be distributed to participants via email and online. A set of challenge questions testing this material will also be distributed. Each week's challenge set will range from relatively easy to extremely challenging allowing beginners to progress at their own rate whilst extending gifted students. The challenges will increase in complexity as more and more programming concepts are covered over the 5 weeks.

If you would like to take part, please register.

Participants will have a week to submit their solutions to the challenge website where they will be automatically marked. A full set of correct solutions, hints and commentary about each challenge will be distributed in the following week. Points will be awarded according to the difficulty of the challenges. Late submissions will be accepted for automatic marking but no points will be awarded. Some solutions may also be manually marked for design and style. The challenge website will show the leader board for individuals and schools.

This is an ideal opportunity for enthusiastic novice and experienced students to gain exposure to Python programming. The challenge is open to all Australian high school students, although it is most suited to Year 10/11 students and will develop students' programming skills for their major software projects. Teachers are welcome to register as non-competitors to gain more Python experience - ideal after attending a Teach Python workshop.

Registration costs $11 per participant (GST exempt, paid separately by cheque or money order to the School of IT).

Cheques and money orders should be made payable to 'The University of Sydney'. The University's ABN is 15 211 513 464. Please send your cheque or money order, including the names of registrants, to:

Ms Weiying Ho
NCSS Programming Challenge
School of IT (J12)
University of Sydney NSW 2006

What is this Python you speak of?

Python is a programming language developed by Guido van Rossum in the early 90's. The Python website tells the whole story. Python is named after "Monty Python's Flying Circus"' and there are frequent (and gratuitous) references to Monty Python skits in the Python manuals.

Python is an interpreted language which means a separate program, the Python interpreter is required to read and then run Python programs. The Getting Started Guide on the website leads you through installing the Python interpreter for Microsoft Windows and Mac OS X and running your first Python program. Solving the first challenge isn't much harder than that!

Why Python? (and not VB, C++, Java, ...)

Python strikes the right balance between simplicity and power. Python is an excellent first programming language to learn yet is powerful enough to build industrial strength applications, for example, Google and Industrial Light and Magic uses Python extensively.

Python is a small language with very simple and clean syntax which encourages good coding habits. Programs can be run interactively by the interpreter enabling experimentation and making visualisation and debugging simpler. The way to answer a question about Python is to try typing it in!

Python programs can be run on any computer with the interpreter installed. Both the interpreter and an extensive standard library of code are freely available from the Python website and can be freely distributed. Python's documentation is excellent and there are many intro and advanced Python books now available, with a large and helpful community of Python programmers on the web. Most importantly, Python programming is fun! because Python lets you write the programs you want to write. You can build really interesting software in very a small number of lines of code.

 
NCSS Challenge 2008, challenge@it.usyd.edu.au