Prerequisites: Principles of Code 3Prospective students with other prior programming experience will need to pass a placement test to be eligible for this course offering. Please contact us here should you wish to have your child take our placement test.

While the earlier courses were primarily focused on providing our students with the foundation and the core ideas defining the craft of computer programming, this 4th course can be seen as the programming equivalent of a creative writing class.

PyGame is a lightweight albeit powerful game engine that allows students to build and examine the internal workings of some of their favourite video games. Programming concepts hitherto learned like loops, functions, arrays, hashes and object oriented programming come to life as students design and build their way through a generic platformer and a 2D RPG game.

“Coding” is synonymous with “programming”. It refers to the art of writing computer code, which are instructions
that a computer can follow to solve problems. Practically every facet of technology that we encounter in
our daily lives - from online banking systems to video games on our iPhone, from the GPS systems we rely
on navigation to the security systems that protect our homes and offices, is created from code.

Communicating with a computer requires the use of a language, just like how communicating with another human
being involves the use of a language like English or Korean. The difference is that writing code for a computer
in a particular language is a little like speaking to somebody who is absolutely particular about grammar
and punctuation - any deviation from a language’s rules results in a computer not being able to accept the
programmed instructions. Different computer languages are well-suited to doing different tasks. For example,
JavaScript is the undisputed lingua franca of the web, LISP is used extensively by NASA and in Artificial
intelligence research while C and FORTRAN finds its adherents in high finance especially in the field of
high frequency trading.