Below are some FAQs (show all).
- Should I take CS50?
CS50 is designed not only for concentrators in computer science but also for non-concentrators. More than just teach you how to program, this course teaches you how to think more methodically and how to solve problems more effectively. As such, its lessons are applicable well beyond the boundaries of computer science itself. That the course does teach you how to program, though, is perhaps its most empowering return. With this skill comes the ability to solve real-world problems in ways and at speeds beyond the abilities of most humans.
(Yes.)
For the curious, here are Fall 2009's Q Evaluations.
- When and where is CS50?
CS50's lectures are MW 1 – 2:30 in Sanders Theater. No lectures on Fridays (except on 9/3 and 9/10, on which there will be special lectures because of Shopping Period and Labor Day).
- Will everyone in CS50 know more than me? (Less than me?)
No. CS50 draws quite the spectrum of students. In fact, most of the students in CS50 (87%) describe themselves as among "those less comfortable" or somewhere in between "less comfortable" and "more comfortable." For "those more comfortable," the course offers "Hacker Editions" of some problem sets so as to keep everyone equally engaged. Here's how Fall 2009's students described themselves:
As for prior experience, although some of Fall 2009's students entered CS50 having already taken one or more CS courses (e.g., AP), most (72%) had taken zero:
- What are CS50's prerequisites?
None. CS50 does not assume any prior programming experience.
- Should I skip CS50 if I took AP Computer Science?
Probably not. You will likely find yourself at a disadvantage if you skip ahead to, e.g., CS51 or CS61, if only because many courses in computer science at Harvard assume familiarity not only with C but also with other concepts introduced in CS50. The differences between CS50 (which focuses on C) and AP Computer Science (which focuses on Java) do extend beyond the courses' choice of languages. If you cannot complete past quizzes quickly and correctly, you should not skip CS50.
- Should I skip CS50 if I already know C or C++?
Maybe. However, if you cannot complete past quizzes quickly and correctly, you should not skip CS50.
- Can I take both CS50 and CS61 this fall?
Yes, if you have some experience programming in C, which CS61 assumes. CS50 itself does not assume prior programming experience.
- How much time does CS50 take?
For most students, CS50 involves 10 or more hours of work outside of class per week. (Although that sounds like a lot to most freshmen, know now that it's not. :-) Programming is simply one of those arts that you learn only by doing. The more you put into this course, the more you get out of it. Here's how past students answered this same question:
- How difficult is CS50?
Truth be told, CS50 is probably more time-consuming than it is actually difficult.
- Can I take CS50 for Gen Ed credit?
Yes. CS50 meets the General Education requirement for Empirical and Mathematical Reasoning.
- Can I take CS50 for Core credit?
Yes. CS50 meets the Core area requirement for Quantitative Reasoning.
- Can I take CS50 pass/fail?
Yes. Taking any course pass/fail probably relieves a bit of stress. However, you'll certainly learn more by immersing yourself in this course, in which case you might just want to take it for a grade. But it's up to you.
- Should I buy the recommended books?
It's up to you. They're meant as at-home supplements to lectures. If you're the type of person who learns well from books, by all means procure one or more of them. Plenty of free resources exist on the Web, though, so you shouldn't find yourself at a disadvantage if you don't buy any of the recommended books.
- Is CS50 videotaped?
Yes. Per the syllabus, "Each lecture will be filmed and made available within 72 hours of its delivery via the course's website in Flash, MP3, and QuickTime formats. Once posted, these recordings will remain available until semester's end. You are welcome to watch or listen to a recording if you are unable to attend some lecture in person. You are encouraged to watch or listen to these recordings for the sake of review."
- Can I enroll in CS50 and another course whose lectures are also MW 1-2:30 or thereabouts?
Unfortunately, probably not, per the Student Handbook's policy on simultaneous enrollment, but do read the fine print for possible exceptions.
- Can I take CS50 if I'm a student at another school at Harvard?
Yes. Simply follow these steps to cross-register.
- Can I take CS50 if I'm not a student at Harvard?
Yes. CS50 is offered for credit through Harvard Extension School as CSCI E-52: Intensive Introduction to Computer Science Using C, PHP, and JavaScript. CS50 is also available to the public for free as OpenCourseWare at cs50.tv.
- What should I take after CS50?
