Hacker News new | ask | show | jobs
by musicale 947 days ago
Introductory CS courses (and engineering courses in general) can take a lot of time, especially if you are learning the material for the first time (which many people in the class probably are not!)

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.