I'm going straight to the point- I'm lazy and have poor self discipline. I'm trying to fix it but it's taking its time (right now I'm trying to make myself study regularly). I've always been interested in programming, but I've never had the discipline to self-learn the subject. I tinkered with Python a lot and was getting decent at it. I even spent an entire night finding a program that calculated a triangle with all sides being integers. But suddenly I felt too lazy to learn further. I think I got frustrated with the book I was using. It's not that I don't have 'true' passion or anything. I just need someone to push me until I reach a point where my passion breaks through my laziness. I was interested in guitar but didn't practice but I got a teacher and reached a point where now I practice it regularly everyday. I also think I need a programming teacher but I can't find anyone in my country (Bangladesh). So I have 2 years left till university, can I learn to be a decent programmer then? I thrive in an environment where I'm constantly forced to do stuff instead of forcing myself to do it. And the worst part about having poor self discipline is that to teach yourself self discipline you need self discipline- it's a paradox for me. Edit: I'm not asking whether I can only learn programming in university, because I know if I take the courses I am going to be taught. But I'm mainly asking whether I fall behind the others (both academically and careerwise) who already know coding. I want to make my own websites, etc.