|
|
|
|
|
by dorkwood
947 days ago
|
|
If you're doing CS50 and struggling with the exercises, I think this points to a problem with your study habits. I had the same problem for the first few years of my programming career (and honestly still fall into the same trap from time to time). I'd work my way through entire Codecademy "courses", receive a congratulatory message at the end, and then realize I hadn't actually learnt anything at all. I'd just been following instructions. The key is to keep testing whether you can do the work cold, with no-handholding, at every step of the way. The steps to follow are the same ones they gave us in elementary school when we were learning how to spell: look, cover, write, check. First, look at the information until you feel you understand it, then cover it up and try to replicate it cold, and finally check your work against the original to see where you went wrong. If you can successfully close that loop over and over again, your brain will learn. It has no choice. |
|
Many CS courses that I am familiar with (particularly systems courses and programming/project courses) can take something like 20 hours a week rather than the 5-10 that a regular undergraduate course might take. The best approach in my opinion is to not overload yourself when you are taking such a course - either pad your schedule with less time-intensive courses or take fewer units.
I'm actually in favor of handholding - particularly getting help from course assistants, attending practice sessions, attending office hours, etc. Individualized instruction can help a lot, and at a university you're paying for it regardless of whether you take advantage of it. Some schools even employ a small army of course helpers and section leaders (often selected from the previous cohort) to provide individualized instruction, and I think it really helps more students to succeed and have fun.
Self-study can be much harder than formal study because you may not have people like the course staff to help you out (though it's good if you can find someone!) Also you may not be able to cut back your workload outside of the course. On the up side, you can proceed at your own pace and don't have to worry about being left behind!
> CS50 at the same time and had challenged myself to finish the 12 week course within 4 weeks.
I'd recommend spending the full 12 weeks. This gives you more time to put in the effort and I think taking more time - and having more nights to sleep on the material - helps with retention.