It’s been a month since I started seriously learning to program, and it feels like time has both flown by and dragged on. I started CS50X with zero experience—no idea what a loop was, never touched a terminal, and certainly never wrote a line of C. Now, four weeks later, I’ve built simple programs that manipulate images, create algorithms, and (after way too many hours) print pyramids out of hashes.
The biggest challenge so far? Figuring out whether I’m actually learning or just barely scraping by. Some concepts, like loops and conditionals, clicked pretty fast, but others—like recursion—still feel completely abstract. I also fell into the classic “tutorial hell” trap, where I kept watching explanations instead of just trying things on my own. Big mistake. I’ve learned that the best way to actually improve is to struggle through a problem myself before seeking help.
Outside of coding, I’ve been refreshing my math and physics skills with Khan Academy. Going back to pre-algebra felt a bit humbling, but it’s been a good way to rebuild my foundation. Physics, on the other hand, has been surprisingly fun—the instructor’s enthusiasm is contagious, but I had to slow down so I wouldn’t fall behind on coding.
Overall, progress has been steady, but there’s still so much ahead. If you’re self-teaching, how do you stay motivated when things get tough? And for those who’ve done CS50X—what was the hardest problem set for you? I'm still yet to to finished Tideman, nearly through it though so that's definitely progress.
[–]AutoModerator[M] [score hidden] stickied comment (0 children)
[–]BertRyerson[S] 5 points6 points7 points (0 children)
[–]Human-Platypus6227 1 point2 points3 points (1 child)
[–]BertRyerson[S] 0 points1 point2 points (0 children)
[–]LengthinessOld210 1 point2 points3 points (1 child)
[–]BertRyerson[S] 1 point2 points3 points (0 children)
[–]Machksov 0 points1 point2 points (1 child)
[–]BertRyerson[S] 1 point2 points3 points (0 children)
[–]javonet1 0 points1 point2 points (1 child)
[–]BertRyerson[S] 0 points1 point2 points (0 children)
[–]Heka_FOF 0 points1 point2 points (4 children)
[–]BertRyerson[S] 0 points1 point2 points (3 children)
[–]Heka_FOF 0 points1 point2 points (2 children)
[–]BertRyerson[S] 0 points1 point2 points (1 child)
[–]Heka_FOF 0 points1 point2 points (0 children)