×

Learning Resources

Here are some resources for you to kickstart your learning!


If you don't have 'O' Level Computing background, I strongly recommend that you choose one of the following and learn from it, so that you have some foundation.


JC is very fast-paced, so if you are going to take the subject, it's best to prepare yourself with some foundational knowledge through these well-developed resources.

Computer Science

CS50 by Harvard University

CS50 Logo

Taught by Prof David Malan

CS50, or "CS50: Introduction to Computer Science," is an incredibly beneficial and popular online course offered by Harvard University. Taught by Professor David J. Malan, the course is renowned for its engaging and accessible approach to computer science.

Professor Malan's dynamic teaching style, combined with a well-structured curriculum, ensures that complex topics such as algorithms, data structures, software engineering, and web development are made approachable and engaging.

The course offers a comprehensive suite of practice problems that play a crucial role in reinforcing the concepts taught throughout the course. These practice problems range from basic exercises to complex challenges.


CS50 comes in several "flavors," each tailored to different interests and fields.

I would recommend that you start with either:

  • CS50P, if you wish to start simple with an introduction to Python programming.
  • CS50X for their flagship Introduction to Computer Science course. It covers many aspects, such as:
    • Data structures and Algorithms
    • C and Python
    • SQL to work with databases
    • HTML, CSS and JavaScript for frontend web development
    • Flask for backend web development
    • AI

After completing the course, you can continue with some of their other offerings:

Python Programming with AI

AI Python for Beginners

Taught by Dr Andrew Ng

This is a NEW course by DeepLearning.AI for you to learn not just Python programming, but also AI along with it!

It's a very beginner-friendly course, taught by a renowned and globally recognised leader in AI, Dr Andrew Ng.

You would learn essential programming concepts in this course. And as you progress, you will also be writing Python scripts that interact with large language models, automate tasks and analyse data.

You'll also get some hands-on experience using Python for data visualisation and accessing real-time information through APIs.

So if you are keen to learn programming in an integrated manner, go ahead and start learning here.

Python Learning Resources

🐍 Start Your Python Journey

Python programming can be learnt through many excellent online resources! Whether you prefer video tutorials or interactive learning, there are plenty of beginner-friendly options available.

💡 Learning from YouTube series

If you wish to learn from YouTube, you can choose to follow the series from Corey Schafer.

  • Covers Python fundamentals
  • â„šī¸ You need not install Python on your computer. You can opt to run Python online instead.

✨ Bite-Sized Learning and Reference

If you prefer learning in smaller, manageable chunks, W3Schools Python Tutorial is a great option.

  • Built-in interface to run Python code directly in your browser
  • Comprehensive reference with clear explanations

💎 Coding Practice Platforms

The best way to learn is to start writing code. Try these practice platforms:

  • PerseCoding has algorithmic problems with increasing difficulty that test your coding skills. This is helpful for you to practice your Python programming skills.
  • Codewars is a coding practice platform built around the idea of martial arts training. It's gamified, with small, focused exercises. Challenges range from beginner-friendly to advanced. The rank system keeps you motivated to practice consistently.