You are not logged in. Log in.

Below are Fall 2009's Q Guide results based on a response rate of 92.0% (309 out of 336 students). Quotes are unedited and in random order. Also available are Fall 2008's results and Fall 2007's results.

Category Course Mean Fall Nat. Sci. 1 2 3 4 5 Total
Overall 4.4 3.9 0 10 29 106 162 307
Instructor
Malan
4.6 4.0 1 4 19 73 211 308
Course Materials 4.6 3.9 0 7 26 57 200 290
Section 3.9 3.8 8 29 63 89 112 301
Workload 4.1 2.6 0 12 67 103 127 309
Difficulty 3.8 3.3 3 16 93 119 77 308
Recommendation 4.3 4.0 3 6 51 70 179 309
Feedback 4.1 3.6 3 15 56 95 140 309
Assignments 4.3 3.8 4 9 29 109 157 308
Walkthoughs, lecture notes and sections
Professor Malan, volunteers during class and lecture in general was very FUN. the CS50 final project and the CS50 fair were highlights
Really interesting material and problem sets, late days are wonderful and take a lot of the stress out of the course, and the course has a wonderful atmosphere.
David Malan is an excellent lecturer, and the TFs are dedicated and extremely helpful. Malan has made this course very accessible though still challenging, and you learn a lot!!!! There are other challenging courses out there from which you emerge feeling completely lost, like you've learned nothing...CS 50 is not one of those courses. Lectures are a ton of fun, engaging, and useful. Everything is also posted online so if you oversleep or something you can still get everything online!!
Lots of support and guidance when it got difficult
Turning a bunch of students who never programmed into somewhat efficient programmers.
The speed and content of the course was very well designed. Really enjoyed the problem sets.
It was extremely practical. It is the only course I have ever taken of which I can say that (and I"m a senior)
Illumination, empowerment, understanding, fun problem sets, great lectures.
Teaching of a concrete skill; focus on teaching us to teach ourselves any type of C-style programming
this course is ridiculously well organized. there's a lot of access to TFs and helpful resources.
The skills we learnt
Course material was fun, exciting and useful. Problem sets were exciting and challenging, possibly a bit too challenging. Help structure is great for a course of this size.
I found the comfortability division to be most excellent, with the emphasis on C-style procedural programming a close second.
The subject matter is made interesting. The course has a way of creating a really great community around the subject matter.
Strengths: Plenty of support (office hours, TFs, etc - and e-mailing for assistance always resulted in quick responses). Although students with very varying skill levels enter the course, I feel the prof/TFs manage to make this course rewarding, challenging but not too duanting, for all. (In particular, I never felt as if my questions were utterly inane though sometimes they most definitely were.)
Good introduction to programming, very energetic and lively course, problem sets were fun and practical.
CS50 was a highly engaging introduction to the subject of computer science. For someone who came into the course with no programming experience, it was a thrill to discover the logic puzzle that is computer programming. The main strengths of this course were David Malan's exuberant lectures and the many channels through which the course offered support to students. The course was also very efficiently run, a tribute to the fact that it was staffed by about 50 computer scientists! Another strength of CS50 was the sense of community created by the course staff. Through office hours, dinners, class apparel, and simply the trying experience of completing the course's problem sets, students who went through CS50 developed more of a common bond than one would expect possible in such a large class.
The strengths of this course is the knowledge of knowing that by the end of the semester, you will have managed to decipher messages, find lost pictures, and build interactive websites. It is the knowledge that while you may challenged to the brink of exhaustion on Thursday and Friday nights, that you have a vast support network in students and other TFs. It is also the solidarity that is generated among students, to not only think of an easy solution but one that is sophisticated and can work. Furthermore, the lectures, though often occasionally technical, are engaging and encourage students to think.
This course was very all-encompassing in the amount of information it taught. Though none of the topics it covered were very advanced, it does exactly what the course catalog describes: gives an extensive introduction to computer science. This class provides the basic background in many important programming languages that are definitely important in the real world.
Very engaging and entertaining. Also covered a large amount of material.
Great lectures, enthusiastic staff, CS50 FAIR!!!
The lectures were very dynamic and section was extremely helpful. Overall, there was also a lot of support available.
Lots of help available
Very thorough introduction to computer science. Problem sets often interesting and valuable for practicing the skills learned.
Interesting material, strong staff support, and a good sense of humor.
It's a very good introduction into the basics of computer programming
The entire staff seemed to put in a tremendous effort and was very involved in the success of the course, especially when compared to other big introductory classes.
course materials, flexibility of the final project, how engaging the course is
The problem sets were extremely well thought-out.
as someone who probably won't take another comp sci course, this gave a lot of information and packed a lot in my head. the problem sets were hard but well designed, and there was a wonderful array (!) of resources.
Lots of help available to all levels of students. A genuine effort to make it maneagable and enjoyable.
Lectures, resources (staff, online tools and help, etc.), material
Amazing course; I never thought I would learn so much. The problem sets are the heart of the course, and while demanding, they are so much fun, and give you a real sense of accomplishment at the end. The lectures are entertaining as well. The scribe notes are also great, for those who learn best by reading (including me). For me, lecture was how I got exposed to all the material, though it went by fast. Reading scribe notes was when I "learned" and "took in" the material.
We learned a lot of various languages and learned how to think efficiently - a skill that is useful in every field, not just CS.
whenever i needed help it was available to me in so many forms
the course teaches A LOT of interesting material
Fun problem sets. Great professor.
The lectures were entertaining.
The extensive and myriad forms of support available to students: TFs, OH, Marta's walkthroughs, the INCREDIBLE scribe notes, the bulletin board, and the help@cs.50.net address.
Professor Malan brings a lot of energy into the course. The lectures were very engaging. The final project fair was very professional.
The course is really responsive to students, and really leaves you feeling like you've achieved a tangible goal and can program certain things.
Very student-friendly. Lots of help available. Everything is online. Website is great. Instructor is great. TFs are really helpful
You learn A LOT. The problem sets are very challenging and intellectually stimulating in lots of ways.
Learn a ton of material both theoretical and practical; fun and interactive; excellent teaching staff
This class is very well organized and facilitates people of different experience levels very well.
Breadth, gearing toward student interest, phenomenal sections.
Very thorough. Very accesible staff helped out tremedously with problem sets. Enthusiasm all around.
Entrepreneurial spin; creative angle; lectures; last two problem sets.
It's a great, exciting introduction to programming. Malan is a great, engaging lecturer and you learn a lot.
The Amount of knowledge you gain is amazing
Website, professor
sooo interesting. I think almost everyone who leaves the course wants to be a cs major. very comprehensive too. You have the opportunity to learn a lot in a short amount of time in a digestible way. Like everything from the basic computer hardware shtuffs to the languages.
This course has greatly improved my understanding of computer science and programming. From someone who has completely no idea on programming to actually program my own game, the change is transforming. Especialy with the final project of pacman, I learnt very much about the process of game programming. Although I won't continue to study computer science as a major, I am still firmly convinced that the experience from this class will greatly benefit me in my future career and life in general.
Very interesting problem sets, a great professor, and engaging lectures.
djmalan was the main strength of the course. His incredible investment in the class and obvious love of teaching and computer science came through every time he spoke. The problem sets were well-designed and engaging, and I have never been in a class with as much TF/CA support as this one had.
Funny lectures, good lecture notes and resources on course website
Everything was very interesting, lectures were great, material was extremely challenging and fascinating
interactive, fun, super useful/practical.
This course is AMAZING! I loved every minute of it... lectures, sections, and office hours.
learned more than i've ever learned in any other course
My section tf was really helpful and he is a main reason why I enjoyed the class. Also the break in the lecture was very nice even if it was only five minutes at most.
The course's strength is that it teaches you a lot in little time. Also, lectures and problems sets focus on real life applications, which makes the class a lot of fun!
I was able to learn an immense amount of computer science in a single semester.
Lectures are always fun and exciting. There is a lot to be learned no matter what level you feel you belong in. Great professor and great TFs. They are always there to help whenever you need them.
Lectures were funny yet informative. Problem sets really helped you understand the concepts taught in the class.
You end the course being able to do A LOT more than you started, if you've never taken computer science before.
We covered a lot of material, and the class itself was definitely an experience. I've never put so much work into a class before. The support system was fantastic in that the number of office hours was incredible.
It was very well structured, and the material was extremely interesting and fun to learn.
This class is extremely well adjusted for the range of students in terms of programming experience in the class. It is also very well taught, presents engaging and fun material/problem sets, and is equipped with a great support system.
Students are challenged and learn a lot.
Problem sets were challenging and fun, and did a very good job reinforcing material learned throughout the course. Also, the CS50 Final Project and Fair was a great capstone to the semester because it challenged me to come up with completely new code and synthesize all that I had learned during the semester.
Problem sets
Learn a ton in short amount of time
The community. The staff interaction with the students. Office hours. Virtual Office hours.
The breadth of instruction, from programming in C to programming in html, made the course very important for a basic understanding of programming and for providing exposure and guidance for those continuing in programming.
great introduction to some of the major concepts and themes in computer science. great exposure to a number of different problems in computer science.
Extremely streamlined and organized. Lectures are as engaging as computer science courses go, and the staff are all very "into" the course.
Prof Malan is great - he really cares about the class and is a very dedicated professor.
Good job taking in students of all skill levels and making the course accessible, as well as ensuring that everyone learns a lot. It really was fun despite its difficulty; I went in with no CS experience whatsoever and still was able to learn a lot while having a good time.
A very interesting set of course work, with stimulating examples (real-life examples, paradoxes, etc.)
You learn a lot about the major concept of computer science as well as the culture of the discipline. Plus, you get very motivated to learn more and explore the subject, whether through coursework or through
The entire teaching staff, from Prof to TFs, all cared a lot about the class and about students enjoying and understanding the material. The geek humor (from Lolcats to short videos in the beginning of class) kept things lighthearted and somewhat underscored the fact that though some comp sci people seem like unattainably l33t haxors, they were funny, nice nerds whose idea of humor often matched that of those least comfortable. Most problem sets were challenging enough to make you feel accomplished upon completion, while also reinforcing that 1. programming isn't that bad and 2. there's SO much out there that you have left to learn. The different section levels (more, in between, and less) are also really good, particularly for those less comfortable worried about how they might do.
It provides a good introduction for people who have never programmed before.
Lots of little things that make the classes constantly interesting. Lots of feedback to make the course better was taken along the way. A great support network. Challenging but highly fulfilling problem sets. Just awesome overall.
It was fun, as in pure and unadulterated. What other course at Harvard can claim that??
Very practical and useful and lots of knowledge
The strengths of this course lie in its completely unapologetic way of absolutely owning your butt if you've never touched computer science before. It's good - it's what's needed, and in retrospect, I think it's the only way to teach an intro course in the hopes of having the students at the end of the course have any chance of having learned something.
I learned a ton and had a lot of fun.
problem sets.
Taught C well.
I enjoyed working on the problem sets--they were really thought out and each one was engaging. The final project was also great
Cs50 is fun! I feel that writing programs and making them work gives one a sense of accomplishment seldom found in other courses.
It covered a lot of material.
The problem sets helped understand the abstract material in the lectures.
very engaging. loved it.
problem sets were crazy hard but fun!!!
Very good intro course
problem sets are really well-designed and help reinforce material
The course has a lot of resources and makes learning to program fun. The problem sets are very interesting and rewarding.
The extensive support network and the great lectures were the strengths
Very fun and engaging, the practice sets are practical and applicable to the real world as opposed to being purely academic exercises.
section notes were strong! psets were challenging. lectures were interesting.
The lectures, lecture notes, different categories of sections, office hours, TFs, CAs, the BB, help@cs50.net, David.
Extremely thorough.
The amount of material this course covers is definitively one's of its strengths: ranging from C programming language to PHP and JavaScript, CS50 has allotted us the building blocks to face and solve any basic computer science problem/challenge.
Extremely resourceful
The support structure was great
The lectures were very good and the large amount of assistance available outside of class was amazing.
You learn alot in a limited amount of time. The subject matter is very interesting.
This course makes a subject that could so easily be boring, dry, and impossible become exciting, fun, and (sometimes) possible. The course structure allows anyone to get a strong foundation in cs.
The course had a very "fun" atmosphere. From the first lecture to the fair and all the p-sets in between, everything was full of fun and humor.
The course really challenged me to think in new ways and also filled in knowledge of how computers work at a basic level, and this knowledge is really valuable to me.
The applications to real life computer science, the amazing support system and staff that were there to guide and walk through every step of the way, the material!
The course is engaging and has interesting assignments. It is a great introduction to computer science.
Solid introductory class, the way all intro classes that can be should be.
I feel smarter having finished it
Approachable but rigorous; general enough to be useful long after the course is over but specific enough to teach valuable life skills.
David Malan. The many available avenues for help.
The material was really interesting for someone with no programming experience...the network of support was totally helpful. And Prof. Malan was great.
CS50 is a challenging course that pushes students to learn a lot of things in a short amount of time. It also caters to wide range of abilities and experience.
Good general introduction to this material. Tried to be fun.
You learn to think in new ways. It makes the world of programming appear much more accessible.
The lectures were entertaining and very well coordinated. The entire class in fact was extremely well put together. Problem sets built on each other and each one taught us something new in a way that was totally engaging and goal oriented. Also, the class had an amazing sense of community.
The course is an excellent and thorough introduction to computer science, particularly in getting students excited about the subject
The breadth and depth of the material covered. This course covered the material extensively, sampling more than just one coding language.
It was interesting and informative. The lectures were fun as well as challenging, there was plenty of visually and intellectually engaging material in addition to lessons purely about coding.
The material and the teaching staff.
the lectures, the support, the material, everything!
The course has many real world applications and the skills we learned are very useful and necessary in this day and age. This course gave students many tools that one can now use to explore other areas of programming.
Very independent learning.
The class runs smoothly.
Unbelievable. Encouragement and support received along the way was great. This is by far the most organized course I have taken.
the course material is very very interesting, and the staff is very enthusiastic, there are office hours aplenty for everyone. The classes are very challenging and ambitious in grasp
The material. ALso the problem sets teach the material well.
The psets were great, and that's where I learned the most. The course website was also incredibly useful. Lectures were very well-taught and fun.
Engaging and fun lectures. Cool problem sets. Lots of resources to help those struggling.
Masterfully organized, publicized, and taught.
The introduction to C was given in a very effective piecemeal way to unfold the logic of programming without bogging us down in all minutia too early. Resources were abundant, any problem set that had "sanity checks" was great to force us to learn the material along the way
Fun, interesting, and useful.
I think I learned a lot and the problem sets were fun.
The course was a great introduction to Computer Science for students with all ranges of backgrounds and this was actually achieved very successfully. Though there were definite discrepancies in the early problem sets of the class in terms of skill level, over time, everyone is able to come out of the course having learned a lot. This was especially true for even a student like me, who had a lot of experience before and still learned a lot about web programming.
This course is extremely well-organized and mixes fun with learning better than any course I've taken. I appreciated the way everything was available on the website. Lectures were clear and engaging and the large staff of TFs was always prepared to help!
CS 50 is a very engaging course that not only teaches students how to program in multiple languages but also makes students aware of the immense possibilities that CS can lead to.
You learn a lot, the lectures are entertaining, there is plenty of help available
Considering the breadth of incoming skill levels that this class is tasked with addressing, I think that CS50 has an excellent pedagogical approach to programming and computer science. The help structure (help@cs50, bulletin boards) is solid and very quick; the assignments were generally structured well so that we learned important things without having to write absolutely everything from scratch.
David does an excellent job lecturing. There is lots of support from TFs, bulletin board, ect. Most of problem sets are engaging and interesting. I felt like my problem solving ability substantially improved over the course of the semester as I mastered programming fundamentals.
very applicable to daily life
The human examples in lecture helped to clear up some topics, and I feel like I learned a little bit of everything.
interesting material. You actually feel like you learn a lot! Good lectures, great support system,
Best course at Harvard. Great lectures, incredible support system, and friendly staff.
The support system!
This course made so many resources available to those taking it, from online resources to office hours to walkthroughs and tutorials. The camaraderie generated in the huge class made the heavy workload much easier to bear.
learned a lot, problem sets are great
The problem sets really teach you how to code, I found myself learning more from the problem sets than from lectures.
Cs50 was one of my favorite courses at Harvard! The problem sets are the core strength: they are creative, fun, and challenging; the option to do 'hacker' level is great, because it gives you the chance to dive in even further if you want to; and they are solidly focused on the fact that students often learn the most while doing p-sets: they encourage and help this along. The other biggest strength, of course, is David Malan, who is awesome!
Great applied course! Awesome support structure.
Extremely well organized, is accommodating to all skill levels
This course is unlike anything you will ever take. It is challenging for both beginners and experts alike, but not out of reach. You will learn SO much from Malan and the entire course staff. "I don't know how to use a computer" is not a valid reason to opt out of this course.
It fully immerses you into computer science- it seems overwhelming at first, but it is the most rewarding course I've taken at Harvard by far.
Best lectures and psets ever
Course in general was consistently interesting. Both lectures and problem sets successfully combined highly useful instruction with fun or otherwise amusing tasks. Staff endeavored to create a lighthearted atmosphere in all aspects of the course and generally did so. Course website was a ridiculously useful resource
You get really excited when your program finally works.
It really tested my limits, and pushed me to bring out some skills I otherwise never would have tapped. The staff is wonderful, and the course well adapted to each student.
Liked the schedule: having many extension days is very nice, as is being done before finals period. Course is entertaining without being too easy or simplified.
I think that this course forced me to think more logically. It made me think how to go through processes and things one step at a time.
The large support network and engaging lectures.
The assignments were amazing, and the lectures were even better! This course reached out to students, instead of vice-versa. Very hard to find at Harvard!
It is a course with great structure. The organization (obviously the work of Malan) is a great asset. I only hesitate to rank it as excellent because it is so large.
All knowledge necessary was presented and easily accessible. Honestly, I couldn't ask for anything more to be provided to me.
intellectually rigorous, make you feel like you achieved something
Dedicated TFs. Walkthroughs are incredible.
Lectures were fantastic. Very engaging (even though they were long).
Teaching staff (everyone). Office hours. Section/lecture notes.
Expertly organized, lots of resources, applicable, and fun!
very engaging
Teaches the material in an accessible way, no experience necessary. Fun problem sets.
lolzy pix
Gives you a good understanding on the basics of programming - promotes good design (focus on learning strategies that will make your program most efficient). Gives you an appreciation for computer programs, which play an important role in our daily lives. Approachable for beginners who have no previous experience. Also provides more challenging opportunities for those more comfortable with programming. Lots of support available to help with learning concepts.
Availability and quality of the teaching staff. Problem sets were very useful for learning the material
Great lectures, interesting problem sets, and teaches you useful skills. There is also plenty of help available for those less comfortable.
Interesting and unique introduction to computer science
Lectures were fantastic, psets a lot of fun, it was all great.
I learned how to program; a fair trade for my social life.
Lectures were engaging, and the problem sets had interesting and relevant topics.
The Large number of Staff.
The problem sets.
I learned a great deal about programming in a short period of time and feel that I am prepared to teach myself other languages.
interesting assignments, lots of resources, late-day flexibility, interesting material
I learned a lot.
It did a good job teaching me C and php.
Everything is great. Professor, TFs and course material.
Cool material
Lots of support for a very difficult class.
Malan made everything fun.
You learn an incredible amount in 12 weeks.
Great overall intro to CS
Amazing course, I learned a lot, made me tougher, taught me to think in a logical and constructive manner
Very aggressive curriculum; it's impossible to not learn.
The problem sets are amazing. They make learning so much more fun. I also think that the lectures are good at being informative and thoroughly entertaining at the same time. The support structure is unparalleled by any other course I've taken.
engaging, lectures are fun, psets are appropriately challenging. CS50 = love (the class has created a wonderful culture).
Lots of help during office hours.
They teach an incredible amount of useful material on subject matter which many students come to Harvard completely unexposed to.
The problem sets of this course are extremely accessible yet also quite challenging, making them an invaluable teaching tool.
learned so much material
Leaving the course knowing a lot more about computer programming. David Malan is also very approachable, responds to emails and takes his job and relationship with students seriously.
The sheer number of resources for computer science, from tutors to online material, made the course very manageable and, at times, enjoyable. Office hours are a terrific resource as aid and understanding can come from an individual context.
Excellent teaching fellows, great office hour system, I learned a lot, differentiated sections were good.
Accessibility to students of all levels of programming ability; challenging level of the problem sets; humor of lectures and problem sets; the final project and Fair
It taught a lot of very useful and interesting material while being challenging and yet doable. It pushed you to do your best, and forced you to produce impressive results, with lots of help and support along the way.
It has an UNBELIEVABLE amount of resources; EVERYTHING is there for you. Also, I thought that lectures were quite entertaining -- DJM knows what he's talking about, and presents in an entertaining way.
Goes into a lot of material, thorough introduction class
Immersion and learning by doing.
Subject matter was very interesting and the professor was really good
The support system is incredible! You have no right to fall behind in the class, because the lectures, walkthroughs, sections, and notes are online, and office hours are every day from 7-11.
There was a lot of help and the assignments were both fun and instructive.
sessions,problem sets,resources,enthusiasm of instructors!
The staff - they were so invested in the course and in helping the students. Also, the support for the students, specifically OH's. I could not have done the course without there being office hours nearly every night of the week.
Incredible support from the course staff, tons of enthusiasm for everyone involved, and an incredible ability to make even the most mundane details seem fascinating
djm, Big Board, TFs, sense of humor
Malan's lectures, the p-sets, the general feeling of enthusiasm for the class
david malan, the frequency of office hours, fun lectures
Very engaging, interesting, rewarding.
Excellent professor, helpful teaching staff, and straightforward (albeit very time-consuming) assignments.
You learn so much.
Great support network, accessibility of material.
It's like a culture on its own. Enough said?
The staff, the problem sets, all in all the class in awesome.
After completing the course you feel like you've learnt a lot.
Interesting material presented in an interesting, engaging way by an enthusiastic and relateable professor.
Best course I've taken at Harvard. Everything was a strength. The large, largely undergraduate, staff helped to facilitate discussion of course material outside of section and lectures. The website and lectures helped make the material FUN. I never thought computer science could be FUN to learn. The scribe notes, office hours, and accesibility of both the professor and TF's made it nearly impossible NOT to succeed in CS50. Other large lecture courses should follow CS50's example.
The final project component of the course was nice since it allowed people to design their own projects.
fun, entertaining, applicable, current
Learned a lot. The lectures were very good, it was really helpful that they were filmed. The walkthroughs were very helpful. Office hours were helpful for the first half of the semester. The whole first half of the semester was good, and then the course seemed to kinda collapse.
I think this course has a huge support system for the students with all the office hours and TFs willing to see students on their own time. I also think it's great that it caters to students of all levels.
Made everybody comfortable and taught a lot effectively quickly
The concepts were interesting.
The resources available for this course was most definitely one of the strengths for this course. In addition, David Malan's incomparable enthusiasm made the course exceptionally interesting; otherwise, we could have all been miserable!! The humor but interactive activities during lecture as well as the thorough walk-through's really helped in the learning process of this course. In addition office hours were extremely helpful and the TF's were very attentive and helping.
Very accessible professor and TFs, comprehensive lecture notes, solid lectures
It is full of enthusiasm, Prof. Malan is a great lecturer and works very hard to keep students engaged and excited about the material.
there was lots of help to turn to
Malan makes the course about problem solving, makes it seem relevant to people who might do computer science as a lifestyle. Also entertaining.
lectures were entertaining, teaches useful skills, staff tries to foster a sense of community
Really teaches you how to solve problems, in a fun, engaging way. Opens non-CS concentrators and CS concentrators to the world of computer science. Malan is awesome, and very empathetic to his students' concerns. The TFs are amazing as well, and offer their assistance deep into the night.
The material was presented very clearly, making it accessible to even n00bs like myself.
Many resources available for students and great lectures
useful, challenging, fun
This was the best course I've ever taken. Instructor Malan's excitement and passion for the material is unprecedented.
It's ability to bridge the experience gap: those less experienced may have struggled at times but the myriad resources made it possible for them to stay current on the material.
Lectures were great and the sections (including the walk through) were helpful
SEAS