Stage 1 of 7 · 5 lessons · ~3 months
Foundations sprint
You do not have time to relearn everything, and you do not need to. In a focused sprint of about six weeks, close the gaps in your strongest language until you can build and debug a small program alone.
Start: Your strongest language, gaps closedLessons· one lesson for each topic, in this order
Do this
- Choose your strongest language today and drop the others for now
- Code for at least 45 minutes every day for six weeks
- Rebuild three of your old assignments from an empty file
- Keep a list of every concept you had to look up, and revise it every Friday
- Tell one friend your sprint deadline so someone checks on you
Start with· follow one of these
- CoursePaidGrokking Python Fundamentals
Design Gurus · Beginner · $50
If Python is your language: short lessons with an in-browser exercise after each one
- CourseFreeCS50's Introduction to Programming with Python
Harvard University · Beginner
The faster free route: weekly problem sets that make you write programs from scratch
Practise
Keep handy
Before moving on: Write a 200-line program nobody assigned you, such as a hostel expense tracker or a quiz with saved scores, using functions, collections, files and error handling, without a tutorial open.

There are no shortcuts after four years of chasing grades, but it is never too late, and six honest weeks do more than a year of worrying. Pick the language you are strongest in, code every single day, and do not start a new framework until this is done.