Starter

Build your vocabulary, ability to question might be present in you, but judging the right answer? That takes a lifetime.

SO, from September to December, keep your head down and understand the fundamentals. It's to make sure you won't get overwhelmed. Start with CS50x if you will, and if not, here's an opinionated guide:

  1. Binge watch this playlist, get an idea about Computer Science, very broadly. Watch any short video on python programming to get an intuition of what is coming next.
  2. Start learning the programming language, C. Go through Beej's Guide to C, it's excellent. Some chapters might not be necessary at this level, but understanding loops, conditions, functions, memory management and basic input/output are a MUST.
  3. Next, you need to understand what happens from the moment you turn on your computer, and your program prints "Helllo World". Read cpu.land. Fun fact, the author was 17 when she wrote it. Take notes while you read it, here's an example.
  4. Now you should know how to interact with a computer with. But remember, computers are for solving problems which you take humans a lot of time to do -- Hence? You have to learn how to "translate" a problem from human language to computer language. Solve the first 10 questions from Project Euler. These are math questions, you have to turn them into computer programs. Take help if you need to, but you should be able to write them without AI assistance.
  5. If you have done them, you'd have noticed that some programs take a LOT of time to finish. From now onwards, remember that there are two bottlenecks we try to solve to speed things up: memory and compute. Using clever ways to store and retrieve data (aka Data Structures) & smart ways to structure your logic (aka Algorithms), can help your programs run faster. That's why you need to study some basic DS & A. Checkout this book called Open Data Structures as a reference guide. Try to solve problems from CSES or the famous NeetCode 150 problem sheet (there are videos to aid you as well).
  6. By now, you'll have the foundations to pick anything you want. Go figure out. Want to get into ICPC? Go grind on CodeForces. Want to get into NVIDIA? Go make something relevant to it while learning C++/CUDA on the side.

Special mention: Bottom Up CS, very dense, not advised for the weak hearted.