Stage 1 of 8 · 7 lessons · ~3 months
Fill the gaps your courses left
Two years of courses leave most students able to follow code but not write it from scratch. Spend a few focused weeks making one language genuinely yours before internship season.
Start: One language, learnt properlyLessons· one lesson for each topic, in this order
Do this
- Block five hours a week in your timetable for coding no course asked for
- Pick one language and stay with it for at least six months
- Redo two lab assignments from an empty file, without looking at the solution
- Finish one small program every week and push it to GitHub
- Read one well-written open source file a week and note one thing worth copying
- Add the Programming foundations roadmap if you want the full depth on your language
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.

Be honest with yourself: if you cannot build a small program from an empty file, fix that first, because every internship task assumes it. Stay with the language you already know best rather than starting a new one now, and use AI to explain errors, not to write your logic.