Frequently Asked Questions about the NCSS Challenge
If I enrol in the beginner's course, can I switch to advanced (or vice versa)?
Yes, that is possible via a link on your profile page, until the second week of the Challenge.
Can I enrol in more than one stream?
Yes.
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.
