Students' Games
Online
or
In-person
Competition
& Olympiad
Preparation
Python
C++
Algorithms
Based
in
NZ
Najam has 30+ years experience as a software engineer in both industry and university laboratories specializing in optimization and artificial intelligence. Najam has been teaching programming for 7+ years to kids with a focus on problem solving, math and providing a solid theoretical understanding in computer science.
​
Computational math​
Game programming
Artificial Intelligence
Unity 3D
Competition preparation
Blender 3D modelling
Which programming language?
I am fluent in many programming languages however I typically start students in Python. Python is very accessible for learning however it is also one of the most highly paid among programming languages allowing a seamless transition from learner to professional programmer. Older students with sufficient programming theory and experience can do C++.
​
What is the Olympiad in Informatics?
The New Zealand Olympiad in Informatics (NZOI) is a secondary school programming contest. Students compete in a series of rounds during the year and those who perform well are invited to an informatics training camp that happens annually. From the training camp, 4 students are selected to represent New Zealand in the International Olympiad in Informatics (IOI).
​
What age can my kid start?​
Intermediate or college is generally a great time to start. You may find some services that purport to teach coding to kids at younger ages but in my experience, the kids only learn to work their way around an entertainment oriented application and they don't gain generalizable programming skills. Real programming requires abstract thinking skills which children do not typically develop until 10 years or more.
​
What is involved?
Lessons are 1 hour per week with an expectation of homework . Like any skill, home practice is important for retaining and integrating information as well as developing independent thinking skills.
​​
Approach
I don't teach kids to write programmes, I teach them how to build them. Most programming books and tutorial videos do what I call teaching a "stream of features." They show code and tell you how to use it. They show algorithms and tell you what they are used for. This creates programmers who are just transcribers, cutting and pasting code. I teach students how to create algorithms. I teach student how to construct code.
​​