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.
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, making it suitable for beginners and those with some experience alike. 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 are meticulously designed to cater to various difficulty levels, enabling learners to gradually build their programming skills and deepen their understanding of computer science principles. The problems range from basic exercises, which help familiarize students with syntax and fundamental programming constructs, to more complex challenges that require the application of algorithms, data structures, and efficient coding practices.
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:
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 renowed 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!