Feedback from past students
Here’s what past students had to say. Comments are unedited and randomly ordered.
What would you like to tell future students about this class?
- Although CS50 was not necessarily for me, I think it is a useful class for students who have a little bit of experience in CS and want to increase their coding abilities by practicing challenging problems every week.
- Always go to section, it's extremely helpful.
- As the only senior I knew taking this course, I recommend CS50 to all seniors thinking about taking the class. It's never too late to learn to code and it's fun getting closer to some underclassmen. Even if you don't know other students, it's likely you'll know a TF who can support you along the way so the comradery is still there. It's much more chill taking this class as a senior because you will inherently be less stressed - the class is so structured and well paced that there is no need to worry about the difficulty. I had no prior coding experience and leave CS50 ready to tackle coding in the real world.
- Ask your TF who is grading your problem sets and go to that person's office hours!! PSET grading is quite subjective in CS50 so it is really helpful to ask questions about your PSETS to the person grading you!! Also START THE FINAL PROJECT EARLY (like over Thanksgiving break...)!
- Be prepared for each lectures/sections; Take every assignment seriously.
- Course moves pretty quickly.
- CS50 is a good challenging course, and overall I would say I enjoyed it. Things to keep in mind should you decide to take this course: -START PSETS EARLY. This applies especially after like the first 2-3 psets. you're going to want to start the pset on Wednesday/Thursday at least. -Go to office hours. There are office hours almost all hours during the day, so take advantage of that. -I know its tempting, but you should stay/actually attend lecture. It makes a difference in how much of the material you grasp. -have fun! Especially on the final project! You have plenty of time to do it, so assuming you actually start early, you'll be really fulfilled and have so much fun.
- CS50 is a great class for getting introduced to a variety of different programming languages, as well as some abstract reasoning. It truly is a class for students of all different backgrounds, as you'll be assigned at the beginning of the year to a section that matches your skill level. If you're looking to learn a single language (e..g Python) in-depth, however, CS50 is probably not the class for you as it jumps around a lot towards the end of the semester.
- CS50 is a great course to get an overview of what comp sci is like and it teaches you how to approach self learning other languages. Every p-set is pretty long but not too challenging, and always really fun.
- CS50 is a very fun and useful class that taught me many fundamental concepts of programming that I didn't really know before, despite some background with computer science. I learned all of the languages in the course for the first time, and feel more confident going forward about learning new ones on my own. The problem sets were fun and allowed me to engage with the material and practice my coding skills.
- CS50 is a worthy challenge! It is definitely harder than an intro class should be (if you truly have no background in coding, you will struggle and honestly I would take CS32) and p-sets range from not bad at all to very difficult and tedious. That being said, there is so much support and the T.F.s are all wonderful. There are also no exams, and the final is a project you get two weeks on (and is great for building a portfolio) . If you put in the work you truly learn so much and will do well in the class, but it is not easy. 3 hour lectures are a bit rough as its easy to not pay attention but sectioning is awesome. Start psets early so you can go to office hours and not be stressed over the weekend, as they tend to take longer than you would think. Overall would recommend!
- CS50 is not a beginner class, do not let David Malan fool you. If you have never coded before it takes so much time. You will spend your life at CS50 office hours. Also, do the LEASTCOMFORTABLE section, Idc if you think you are good enough at math/science to do less comfortable. Do least please I beg. However, I did really love this course, it is just a lot. I would recommend watching some C lectures over the summer to get an idea of what the class is.
- CS50 really lives up to its reputation. Like all classes, you get out what you put in. It really provides an awesome intro to CS! Psets can be a lot of work if save them for the last minute, but they are really fun and interesting! I would definitely recommend taking it, and recommend taking it Sat/Unsat if you do not need it for your concentration.
- Decent class with many resources. It will feel very difficult in the middle weeks if you do nto have coding experience. Office hours are helpful but also can be not helpful
- Definitely do take.
- Definitely take this class if you are interested in CS or have background. Just make sure to balance your workload accordingly because this class is pretty high workload
- Definitely take this course, even without a coding background if you put the time in you will feel very accomplished. Go to office hours and start the Psets early and you will love it. It will teach you to think logically and solve problems systematically and is a great intro to CS (plus good transferable skills and a basic knowledge of coding will never go amiss in today's society). CS50 is a course that no Harvard student should graduate without having completed - even just for the experience.
- Definitely take this course, no matter what concentration you intend to pursue. CS 50 does a great job of introducing concepts that are traditionally hard to understand. The course flow is great, and the material gives you a strong foundation to build on after the course is over. I am happy I took it over a pure programming course, as I now have an excellent understanding of how higher languages like Python operate due to the course starting with C.
- Do not take this class if you have prior experience with CS. It will be a complete repetition of what you have already done and not be worth your time.
- Don't be fooled by their marketing: almost everyone I talked to took a CS class/had prior coding experience, which was a little discouraging as someone who actually has never coded before. However, the course holds your hands in the first few weeks and is generally very transparent with their expectations, so it's possible to catch up. I definitely learned a lot and feel much more comfortable taking higher-level CS courses now. Grading is quite arbitrary (across different sections) but they supposedly normalize it at the end so don't stress too much. Office hours are only helpful if you go to your TF's. Lunches were fun and we got to meet alumni from different tech companies -- definitely recommend.
- Don't let the "introductory" part fool you. It's very fast paced, and if you don't keep up with the lectures and go to office hours, you will fall behind. If you already have experience in one programming language, this is a great way to review certain concepts and learn other programming languages.
- DON'T TAKE IT IF YOU ARE SLIGHTLY HESITANT!!!! IF YOU THINK YOU KNOW COMPUTER PROGRAMMING, JUST SKIP THIS!!!! Don't be tempted to take it only because other people are taking it. If you think your level is past this course, then move on and challenge yourself. There are way more exciting things than CS50 to take I believe.
- Don’t take it if you have previous programming experience, even a little. Can be quite boring and slow unless you’ve never programmed before. Psets take a decent amount of time
- Don't take it. Just study the materials online - you'll have a better experience. The course is designed for an online audience and disappointing in person.
- Enjoy this class; it is a very unique experience.
- Even if you have experience with Computer Science (e.g. taken AP Computer Science A or knew Python), definitely and definitely take this course. CS50 is not just a course, it is a whole different thing. The CS50 lunches with the guests from the real world, the community, the approachability of the professor, the whole content being online and broadcasted to the entire world in EdX, the CS50 AI (duck), the tutorials were all excellent and while learning about computer science, this course showed me to go beyond the requirements of the work you do and approach your work with passion. In my opinion, CS50 went beyond the requirement of being just a class and became the perfect example of a great and exciting course. You will have enough time at Harvard to take advanced CS courses, don't worry. Take this class, meet with people, and just enjoy.
- First off: I had no experience in CS before taking this class. I am not a CS major, and probably will not be. I took CS50 as an elective, just because I wanted to take one computer science class during my time in college and thought CS50 was the one to do. I also took this class sat/unsat. If you are not any of these, feel free to ignore my comments, however: I really really enjoyed this class. Yes, the Checks for Understanding can get a little annoying, the Psets can get stressful if you only have time to start them on the weekends and can't go to the Widener Library office hours on Sundays (cough cough - me), and the course moves very quickly through different coding languages, but, looking back, this class has been extremely rewarding. The course assistants and professors will tell you this, and really take it to heart: the goal of this course is not to teach you how to code, but rather to teach you how to understand programming and teach yourself further. You do learn C, Python, SQL, HTML, JavaScript and a couple others, but ultimately oriented towards understanding what programming languages can do and how they function. The lectures are great and Prof. Malan is a very engaging speaker. The lectures may be long, but to get through them I recommend sitting close to the front of the room to properly see and hear everything Prof. Malan does (it really goes a long way). If you absolutely have to take notes, you can, though it can be easy to get distracted and thus I recommend either working on GitHub with Prof. Malan (to internalize all the topics he discusses) or taking no notes at all and just listening (the lecture notes are EXTREMELY helpful). I still recommend going to at least the first half of lecture, since waiting to watch the video can make you very behind. Don't feel at all ashamed about section placement, and if you have no experience, feel free to say you are "least" comfortable. I put "less," and while I had a good TF, sometimes even "less" comfortable TFs can be tough on design. People might tell you (including in the Q-Reports) that it is a lie that most people who take the class have no previous CS experience. There are a lot of people in this class who do and can (frankly and no offense!) be quite vocal about it, especially since there is the infamous problem of people with lots of experience going into easier sections to get better grades. Also, go to the CS50 lunches! It is a good break from Annenberg food and you get to meet a lot of people there! Sometimes they bring in recruiters (which I personally was not the biggest fan of, but it is in keeping with the "celebrity" status of the class). What else to say - go to office hours, start Psets earlier (unlike me), don't be afraid or embarrassed to use the duck-debugger, pick a final project you'd have fun doing (I made a guessing game which I still play every day), and ultimately realize that there might be some tedium to CS (and debugging), but this class is ultimately really rewarding and has helped me both be comfortable looking at any code and think in new ways of how to solve any non-CS-related problem.
- For anyone who has no prior CS experience: look through the documentation (docs) that are given to you and for each language you work through. Read up on basic syntax since the course rushes through it. Overall a fine class. If you want to learn don't overly rely on the duck.
- Go to office hours! Psets and checks for understandings are graded pretty harshly so it's good to get advice from TFs.
- Great class, 10/10 recommend. Don't be too stressed going into it as the support system is amazing. You will learn plenty from this course and with the right mindset you will succeed in this course.
- Great class. CS50 is more than a course. It is a brand and a identity. There's CS50 Lunch, where I got an internship from one of the recruiters that visited, the CS50 Hackathon, and the snacks during the lectures. Lectures always bring energy with lights, cameras, and a whole lot of action.
- great for students interested in CS but have no foundation, make sure you are aware of the workload still
- I believe that this class is an excellent introduction to computer science, especially for those with little to no experience with coding. However, it can seem very produced at times, with extremely long lectures, lesser emphasis on one-on-one instruction, and large capacity events like the Hackathon and Fair. It is also a very surface-level class, which it is meant to be, so don't expect to know any language or topic deeply by the end of the course.
- I find that starting off with C is not the best way to introduce people to computer science. It is a difficult language, and it may be discouraging because you'll have to both struggle with the tedious syntax of C while also learning fundamental coding concepts. Just make sure to take advantage of all the CS50 resources and to start the psets early!!
- I highly recommend taking CS50 regardless of your background in computer science. CS50 starts from the very basics and teaches you so much as you go. The class creates a strong community through outside of lecture activities, and I had a really fun time learning while being in the CS50 community.
- I know it says it's for beginners, but I feel I would be lost if I didn't have some previous experience writing code, and even that was very minimal. Very good introduction and there's a lot of help, but expect to spend hours trying to debug simple things in your code. LISTEN TO THE DUCK, IT KNOWS WHAT TO DO.
- I recommend this class for everyone who is remotely interested in programming, especially if you need to fulfill the coding requirement for a concentration like Applied Math! I came into this class with a decent amount of coding experience (mainly in Python) and wondered whether I would gain anything from this class. I found that this course delves into the foundations of computer science decently well, from how memory is stored to the intuition behind coding new programs. My one piece of advice would be to stay on top of the problem sets each week and work with a partner for the final project, since that makes the process so much easier & fun!
- I took this class as a senior and that was a HUGE mistake. I wish I took the class as a freshman as it would've made me consider a secondary in CS. The workload and project are manageable but still challenging enough to not feel like busy-work. CS50 AI is amazing for any minor/mid-level questions and practically eliminated the need to go to office hours. Truly an amazing foundational course for anyone with absolute no experience in computer science. If you are on the fence because of the workload or difficulty, don't let horror stories deter you from trying it out yourself.
- I was a bit nervous taking my first CS course but I would definitely recommend anyone to take this course to become comfortable reading and understanding code in general! I'm very much a humanities/arts centered person and I absolutely loved taking this class. I really feel like I learned a lot and it altogether wasn't too stressful/strenuous learning to code in any of the languages for the first time.
- I was between this and CS32 and I'm pretty happy with my choice. I think the overwhelming amount of support you get from taking CS50 is what makes it such a good introductory class. You really are learning a lot about how computers work in general and getting massive exposure to a bunch of different languages and their functions. Some PSETs are harder than others and you can just use the duck to get all the answers, but then are you really learning anything about coding? I think the breadth of the class gives you a good feel about computer science and if you really want to get into it. You learn about how coding can take waaay longer than you imagined but also how to reiterate and learn. PSETs can be stressful if you leave them for last minute sunday night, but if you work on them during the week they are manageable. Coming from a sophomore, I would def recommend taking this class freshman year because of the amount of freshies also taking it and the amount of effort the teaching staff does to make you meet people. Genuinely a quintessential freshman class and I wish I had taken it a bit earlier in my academic journey. It's a class that has a lot of work, but you learn a lot as well and get mega exposure to computer science and the chance to bump into a lot of freshman friends while working through the psets and going to class.
- I would not choose to take this class again if I did not have to.
- I would not recommend taking this class unless you want to hate CS or already know enough to not be frustrated. The lectures are extremely boring and dramatized because they post them online. The problem sets are also very frustrating to complete at times.
- I would recommend this class! You get to learn a little bit about a lot of languages. You won’t go into too much depth on any one language, but it gives you a pretty solid foundation to continue learning if you want. This class has people with very different experience levels and backgrounds, but I think it does a pretty good job of catering to everyone. You can find all this information on the website, but basically you get assigned a section according to how you rate yourself from least comfortable to most comfortable with the material. Each week there are usually harder and easier versions of the pset, and you can choose which to do. If you do both you can keep the higher score. The default grading system for CS50 is Sat/unsat, but if you want to count it for a concentration that requires a letter grade you can switch to letter graded. The difficulty level and time commitment will depend a lot on what your experience with different programing languages is, if your taking the class graded, and if you go to office hours. For example, I only had experience with Java, so I was pretty relaxed during the first half of the course because c and python were pretty similar to Java. The website programming was a struggle for me though and I had to put in a lot more time to understand it. If you have a lot of CS experience you might want to think about going straight to CS61, but you can still learn a lot even if you have programming experience. For example, I did AP compsci and one class on data structures in high school, and for me it was definitely the right move to take CS50. You can just choose a more comfortable section and do the hard and easy programs for each pset. Starting early on the psets if you think you might run into problems is really helpful, because you can save yourself a lot of time and frustration by going to office hours! (There are sunday office hours in widener and smaller ones you can schedule with a TF) The CS50 debugger is honestly pretty confusing for me compared to something like eclipse, so for debugging you kind of just have to ask the ai duck or a TF. I thought this class was a fun experience, and it was a good way to meet people. There are lots of optional events like the puzzle day, hackathon, lunches, and CS50 fair.
- I would tell them that despite the course being advertised as friendly to beginners, I would recommend going in with programming experience. I would also suggest doing Hackathon because it's such a good way to grind out the final. Also, just because they advertise it as an intro course, doesn't mean you won't have to put in the time for this class.
- If all the lectures are in-person, PLEASE TAKE THIS COURSE. If the lectures are not, then you will not learn anything, so don't bother and take some other course. I would highly recommend this as a good introduction to CS even if you are not a STEM major, as long as you attend lectures and go to section and really try your best to learn.
- If you already have basic CS experience, skip the class. I think that it would be more valuable to take a different class.
- If you already know a programming language (Python/Java/C) and are not super enthusiastic about learning SQL/Java Script/Flask/HTML (the last 3 weeks + final project of the class), then you should probably take a harder Computer Science class (CS61, CS1210) if you are looking to concentrate in CS, as CS50 felt a little too rote at times. However, the course itself is very good, with good materials, helpful sections/OH's, and more engaging lectures than average. If you want to do CS50, you should go to all the supplemental activities (Puzzle Day/Hackathon/Fair), as I thought those were the best parts of the experience.
- If you are interested in computer science or want to see if it is a field that interests you, I would recommend taking CS50. It provides a good overview of numerous programming languages. The course itself is useful for learning more about coding. The CS50 community makes it even better, with course-specific events and weekly lunches. It is truly an experience that every student should have.
- If you can take this course pass-fail, I would definitely recommend it. It's a good introduction to computer science course that you will definitely learn a lot in, but the grading is really vague/not concrete so you won't know your grade until the very end of the course. The lectures are very long (3-hours) so if you don't have the best attention span, you will definitely be learning mostly from just doing the psets.
- If you do not have previous coding experience, I would recommend this class with reservations. It is good to have an intro cs class like this, but you should also be aware of the challenges brought by fast-paced lecture and workload. Me and a lot of students who have no/poor coding experience suffered a bit during the semester. But I still recommend to have a try to get a taste of coding! Workload is a bit high, so make sure to reserve some time for this class. I usually spend a whole saturday/sunday on the psets. Office hour is very helpful!
- If you have done programming before, don't take it.
- If you have no or minimal coding experience, this course is great for getting started. If you do have experience, the course will still be worthwhile, if easier and sometimes tedious.
- If you have not taken a computer science course in high school, you may feel that this class is incredibly fast-paced and challenging. I recommend thinking hard and examining the rigor of your other classes before deciding to take this class. If you have already taken a computer science course and know the basics of programming, I highly recommend taking this course to solidify and expand your knowledge.
- If you know a good amount of CS, this class will be easy for you, except maybe the final project. However, you'll still have to be careful because the CAs have... interesting grading habits and are a bit nitpicky about stuff, so make sure your code is perfect and your answers to Check for Understanding questions are descriptive as otherwise they will take off points.
- It is definitely a great gateway to learning Computer Science
- It is pretty much exactly what you'd expect if you've watched the youtube videos or heard about it from your peers. It's fun! Lean in, find people to go to the events with, take advantage of how unique the whole thing is!!
- It takes at least one day of weekend on the weekly assignment, but enjoyable.
- It's a fun class! but if you haven;t coded before I would really think about it before deciding to take it.
- It’s a great exploratory class but psets can be stressful
- It's a great way to dip your toes into the world of CS and see if CS is something you would like to potentially pursue further. However, I'd warn you that it's not a walk in the park and definitely requires a lot of effort especially if you are taking it for a letter grade as I did.
- Lot of work!
- Make sure you have background knowledge. This course is commonly said to be super beginner-friendly, but the reality is if you have even one other class that requires most of your attention, this class will be terrible. If you have the ability to spend most of your time on this class alone, then its possible to keep up. Realistically, someone who has genuinely 0 experience in computer science will struggle in this class. Be ready to ask for help and feel confused.
- Make sure you understand the weekly material.
- Make sure you work on psets throughout the week, as leaving them to the last day can cause problems.
- Make use of all resources! The OH is something I wish I had partaken in more. Additionally, the weekly restaurant lunches, and just interacting with other CS50 peers. The environment in this class creates a great experience.
- No matter your skill level, this is a huge time commitment
- Not sure how this'll change in the future, but use the duck debugger and GO TO OFFICE HOURS (both small group and the big ones in Widener)!
- Only take this class if you already have experience coding. This is not an introductory class for computer science. It moves very fast and you will be struggling if you don't already know some stuff about writing code and programming.
- Overall, I really enjoyed this course. As someone with little to no prior CS knowledge, I think it gives you a great foundation in computer science, as you get practice with Scratch, C, Python, Javascript, CSS, and HTML. The class is extremely well organized, with lots of resources and help offered outside of class. I really enjoyed the problem sets and thought that they allowed me to synthesize the lecture material each week. My one criticism of the course is how it is graded. The course grades are normalized across sections (i.e. if all the students in one section have better grades than another section, these are counterbalanced at the end of the semester). This makes it so that students do not know how well they are doing throughout the semester: even if they appear to be doing well on psets and weekly quizzes, if they are doing slightly worse than the rest of their section mates, than they may end up with a bad grade. I think that this creates a competitive atmosphere within sections and makes it needlessly stressful for students. Otherwise, I loved this class and would recommend, especially if you are taking it pass fail.
- Pay attention in lectures, and ask questions. The course will be easy enough if you have a basic understanding of what you are doing. Where you get in trouble is when you have no idea where to begin with your code, and this leads to cutting corners. Do not do this. This only hurts yourself more down the line.
- Please go to section and office hours!
- Please have a background in coding
- PLEASE TAKE - its so well supported and a lot of fun in the fall (especially freshman year bc everyone's taking it)
- Prepare final project earlier
- PSETS definitely take some time to complete, but there is a lot of support built in. Try to block out some time on Saturdays to finish most of it and ask questions on Sundays when they're due. Overall, great class if you're interested in CS.
- Pursing CS or not, I think everyone should consider taking CS50! Its challenging but it is a fantastic foundational course in CS. David Malan is an incredible professor and keeps the course fresh and relevant to new trends across tech, including GenAI and ML. Can't recommend CS50 enough
- Put in as much effort as you can manage on the problem sets. The majority of what you get out of this course is earned from working hard through conceptual issues in the homework.
- Set aside serious time to take this course, but if you do, and you really go for it, you'll get so much out of it.
- Since I was planning to concentrate in computer science but wanted to balance my course load around Math 25a, I decided to take CS50, knowing that my programming experience (some game development, Linux experience) would make it easier. If you are in a similar situation, here is some of my advice on this route: PSets took about 3-4 hours a week for me, and I usually ended up doing them on Sunday night. I know someone else with similar courses who was able to knock them out earlier in the week. I'm quite perfectionistic so this is definitely a conservatively large amount of time. I learned about C pointers but didn't really learn much new information. Most of the benefit for me was just in getting back into the flow of actual programming. Balance your work on the final project! I ended up doing most of the work in the last two days before the fair, which made the debugging process very distressing. Shoutouts to my amazing TF Sedik, he was super committed to both the class and helping us with advice for CS beyond the class.
- Some TFs in office hours are not attentive to the students in attendance. They are working on their own stuff, making it feel like a burden that students are there and asking questions. Guidance should be provided on this by course heads. Makes the experience very unhelpful.
- start Psets early
- Start PSETS early. Do not be afraid to go to office hours, they are super helpful (the ones during the week more than the one on Sunday). If you don't go to/watch the lecture at least read the lecture notes, they are helpful. This class does not teach you how to code per se but more to understand what is happening when you see code or engage with it. It does get into the weeds at times which is unfortunate and there is often a big jump from the abstractness of lecture to the PSET. But overall I would say that this course was a worthwhile experience.
- Start the PSETs early, they may take longer than you think.
- Start your psets early!
- Take CS classes before going into CS50
- Take CS50 if you are freshmen and are vaguely interested in CS. It makes your first semester at Harvard even more special than it is already, with these great lectures in Sanders, fun events like Puzzle Day and the Hackathon at the SEC (Science & Engineering Complex), and overall a very nice and welcoming community of TFs and students. From the point of view of the content of the course, I can say that I started CS50 that I barely knew what coding meant, and I was still able to succeed in the course. I am not saying that it was easy: compared to classmates who had taken CS before, I had to put extra time to review and actually learn lecture material, but if you are willing to put this extra time, then, when they say that everyone, with any background in CS, can take CS50, they are actually telling the truth. MUST TAKE!
- take it. try it. ask for help. computers can be like a third set of hands, if you know how to use them!
- Take this class if you have any interest in learning anything about coding. I took AP CSA in high school, and I still found this class somewhat demanding. If you have no coding experience, this class is still very doable, but be ready to set a little bit more time aside for the work. There is a great first year community in CS50, and it's just a great experience in general. The psets toward the end of class were fairly challenging, but those were the ones that really made me interested in CS. It's a great class if you keep up. Take it!
- Take this class if you want to get better at Computer Science in general. It will not make you a master at any language, but it will make it easier for you to learn languages and solve problems.
- Take this class over any other CS intro course. Whether it's for your concentration or the quant requirement, CS50 teaches you an understanding of code that will be applicable for the foreseeable future, even when AI can write any code instantaneously. You don't have to have any CS experience, although that will make the first month or so more difficult than it would be otherwise. To enjoy the class 1) put yourself in a section skill level lower than you expect (typically "less-comfortable") 2) use the CS50 AI on problem sets whenever you are confused or stuck or anytime in general 3) go to office hours on weeks 7-9 where the problem sets get tough. If you do this, your problem-set grades will be better and you will spend less time on the course.
- TAKE THIS CLASS! I have heard mixed reviews about the class - some people really enjoy it (myself included) and others might not feel quite the same. I will say there are some things you might need to consider: 1. The time blocks for CS50 are pretty hefty. Nearly a 3-hour straight lecture and then a nearly 3-hour straight section. PSets range in difficulty and time commitment. The last one in particular (Finance) can be a nightmare without the right tips and tricks to get by. We were told to prepare to spend 10 hours and to save our 72 hour PSet extension allowance for that one. TLDR: This can be a big time commitment. 2. Use the notes. They are a great resource to have if you did not understand lecture and do not want to go back through the recording. PERSONAL HACK!!!!! The course is fine with people who have enrolled in edX prior to starting CS50 as well. I was already curious about the class so I enrolled in CS50 edX over the summer to sample it (I was scared to start) and while I only watched Lecture 0, I ended up gaining access to the notes. It doesn't do anything to make you "cheat" in any way - hence why they do not have a rule against edX takers. My biggest hack for those that have no idea what's happening in CS is that I would copy and paste the code from the edX notes (which are usually very similar if not identical to what Professor Malan will go through) so that I can make annotations using comments in cs50.dev (Visual Studio Code for CS50) and then screenshot them for notes. It makes sure I don't have to transcribe AND make notes about the code and I found that when I come to section, I wouldn't need to revise them because the annotations during lecture were sufficient in helping me just "get it". 3. The course has features that are built-in so that you have an abundance of resources to get you to succeed. Office hours, CS50.ai, Ed, etc... Do not hesitate to use them. I feel like it's clear that the course wants everyone to succeed. You can feel very supported if you look for the support. Have fun! Be strategic (see above). I hope if you take it, you'll enjoy it just as much as I did.
- Take this class! A lot of people say that it is not a class for those with no experience, but if you are willing to put in the time and effort, this class is completely manageable. I had limited previous CS knowledge (never took APs or did any competitions in high school) but did fine with just around 6 hours per week. Moreover, this wasn’t my heaviest class this semester either. The duck is super helpful, and after looking through the notes most of the problem set is quite simple.
- Take this class! It is a great experience and not too hard, given that you pay attention during section, don't start the pets too late, and use your resources and go to office hours. I had a fun time at the social events such as lunches, puzzle day, etc. I was in the less comfortable category (I took half of AP CS in high school) and psets were totally manageable + the grading was very fair.
- TAKE THIS CLASS!!!!! YOU WILL REGRET IT IF YOU DON'T!!! The community is awesome, the content is worthwhile for if you concentrate in CS and even if you don't particularly want to major in it. There are many problem solving skills that you pick up, and there is a large variety of technical content that you can use and apply to the real world.
- Take this course if you are interested in any form of coding. By taking this course, you receive an introduction into various languages where you're able to determine your strengths and weaknesses. Overall, the course tests your abilities, but it also pushes you to learn about yourself, how you learn, and what you're passionate about. Take this course, but understand that it will require work to be successful.
- Take this course if you know a little bit about programming, want to learn more, and want to have some fun. By "fun" I mean the lectures and events and everything are nice and its a must take course here. So go for it. The workload isn't the worst either just get started early. Hard part doesn't kick in until your 4 weeks in. Also try taking it in the fall because lectures are pretty cool to attend.
- Take this course! It is easy to fall behind and slip through the cracks in terms of assignments and materials, so stay on top of everything.
- TAKE THIS COURSE!! Even if you have no CS experience, it is worth trying to see if CS could be for you. Stick with it past the first three weeks (these were the most challenging for me). It gets better and USE THE AI RUBBER DUCK for help and go to office hours always. If you do those two things you will be golden.
- Take this course.
- The class can be demanding if you do not have prior experience with coding. Try to go to office hours or ask your section leader when you are stuck on anything sooner than later. It gets stressful when you leave PSETS for last minute so try to start ASAP.
- The class is amazing. The lectures may get boring though because it has become more of a show. They are very flashy. I liked watching the videos. But Malan and the TFs are very great
- The class is pretty good, good if you want to satisfy course requirements.
- The class is pretty simple for those with prior CS background. Even APCS is enough to be able to self-teach / skip this course, and CS61 / CS120/121 are other great CS courses you can try out if you are more advanced. The Friday lunches with companies are pretty good though.
- The class moves at a very fast pace, don't take it if you expect to walk out of the class being able to proficiently program something on your own.
- The course is sorting trying but it is time consuming
- The PSETs are impossible to do on your own so take advantage of every opportunity to get help. I survived because of small group office hours and the CS50 AI. Also make sure you go to CS50 lunches. You get the chance to talk to industry professionals and (sometimes) get internship opportunities. The final project has no rubric which is very stressful so make sure you clarify everything with your TF and in office hours. The Monday afternoon lectures are extremely long so make sure you have a good attention span. I never learned a lot in lectures and heavily depended on section. CS50 is difficult but worth it.
- Things can get challenging but stick with it! You learn a lot!
- This class definitely requires prior CS knowledge. As someone who had a good amount of knowledge coming into the course, I felt unprepared at times and struggled with some of the psets. The course content moves incredibly fast in lecture, making it hard to stay on track. Furthermore, the most minute details from the lecture are asked about in checks for understanding, which you can easily lose points over. This class is supposedly iconic. However, I don't think it is taught very well. A lot of CS is about repeated problem-solving, and doing one pset a week doesn't help to reinforce concepts, especially some of the more difficult ones. Additionally, because the lectures are so long, it is hard to stay engaged in the course material, which can cause you to easily fall behind. The grading process is also atrocious. Points are sometimes taken off for arbitrary reasons. For example, you could go to the office hours of another TF than your own and they might tell you to implement something a certain way, and your TF will take off points for this. Upon addressing this issue with the course heads, they do nothing about it. The course can feel incredibly isolating at time due to the number of people who are taking it. Taking the course honestly felt like being a part of a corporation program, due to how it seems like a well-oiled machine. I will admit that the iconic events like hackathon and cs50 fair are very fun, however, I don't think it makes taking this course worth it. Coming in, I felt like I had to take this course because it was iconic and because I am considering a cs major. I am less sure now of my major because of this class. If you're willing to feel like you are always behind in this class, spend every Sunday in office hours struggling over the PSETs, and feel frustrated over the grading process then this class can be worth it for you because at the end of the day, you do learn a lot of programming languages.
- This class if definitely a challenge, especially since I had no prior coding experience. It is VERY doable. There is so much support, and if you go to small group office hours and learn how to use the CS50 duck effectively, you will be totally fine.
- This class is indeed a decent introduction to CS, but it's definitely overhyped, especially if you have no CS experience. I would say take it for the experience, but if you're genuinely looking to take away some core CS principles, this course goes too broad to leave any lasting impact.
- This class is really good! Make sure to really pay attention during lectures (it can be easy to zone out because they are quite long), it really helps. Also, there is tons of help available if you need it, so just ask for help if you're stuck. 9/10 times one of the instructors can clear up any questions/ issues you have. I would say that this course is not quite as introductory as they advertise, but it's definitely still doable even if you are completely new to cs. Tons of people are in the same boat, so don't feel bad if you're lost!
- This class was filmed this year, and lectures felt a bit like sitting on a TV set. All other classes here feel like they are taught in the most effective way possible, but that is not the case with this class. Lectures are fast and uninformative. As a beginner programmer, you will struggle to keep up with and understand the lectures. Since lecture is 3 hours long, if you don't understand the beginning, the end is inaccessible. Section was where all of the learning happened, but since those are also 3 hours long, the same problem somewhat applies. It would be far more effective to break up the time in class. If you take the class, you can learn a lot, but you need to put a lot of extra time into it on top of the 6-7 hours of class time per week. The psets are long and challenging, so start early.
- This course gave me an excellent introduction to C, Python, HTML, and JavaScript. It has opened up the field of Computer Science as an important part of any future profession of mine, and it has motivated me to consider a joint concentration with CS. I would recommend people of any skill level to take it.
- This course is not for absolute beginners in computer science. Most people seem to come in with knowledge of CS beforehand, and if you don't have decent experience before, the lectures go really fast and the problem sets are a big jump from the lectures. Overall, think about whether you want a broad understanding of CS in general (CS50) or a deep understanding of a specific coding language from a different class.
- This course provides a comprehensive introduction to programming, but I did not personally enjoy the structure of the course. Lectures felt quite performative to the point where I felt disengaged from the professor and his content. I did the majority of my learning in section (Brian Yu is the best). Homework assignments were always quite interesting, but very time-consuming (as was the final project), and office hours are hit-or-miss.
- This is a class that you should definitely take. It helps give a great foundational understanding of CS that is applicable to many other disciplines. It may be difficult at times, but I think it is a worthwhile class.
- This is a good class for gaining an overall idea of coding in different languages. I would say some experience in the field is required before enrolling, given how fast the material is covered; however, office hours are amazing, and people there are willing to help you with anything. In terms of other helpful materials, the Duck was very helpful towards the end, especially in the last problem set. Some cons of the class were that sometimes it felt like I didn't learn in-depth the material covered in lectures since they are very long, and it can be difficult to stay focused for 3 hours in lecture and then about 3 hours in section. The problem sets take a good amount of time to complete, so definitely start early. I would recommend taking the course, but keep in mind the extra effort you might have to put in outside of class if you have never coded before.
- This is a good class, and it offers good information, both for those planning to concentrate in Computer Science and for those who aren't. This class should help you figure out whether CS is for you or not. The PSETS can get very long, and some of the problems are challenging, but there is plenty of resources and help available. An essential class for anyone who is even remotely thinking about doing CS, although students who just want to learn programming might want to consider other courses first.
- This is a great into CS class if you want to learn! You go over so many languages and learn about the functions of so many things that it's a great starting point to see if you are interested in computer science and what you might want to use it for in the future. The tfs are great and if you need help with psets, office hours will do wonders. There are a million resources available to you to get help. David is such an entertaining lecturer (he talks pretty fast though), but the lectures are recorded which are good to look back on. It is a decent amount of work but it's just one pset a week so if you plan it out you'll be in a good spot.
- THIS IS CS50. Take this class if you want to learn how to program in one semester. Don't feel intimidated, they have plenty of resources for this course. For incoming CS students that already know the topics of the course (C, HTML/CSS, Python, basic DS&A) don't feel pressured to take it over a more advanced course.
- This is not an intro course. Is it well taught? Yes (lectures are ridicously long but they're ok) . Is there more content than you ever thought you'd have to learn in one semester? Yes. I would recommend this course as a begginer-friendly course rather than in intro course because you do have a lot of resources in office hours and your TF but some weeks just felt like too much. Just make sure you choose the correct section (less comfortable if you don't have a strong coding background). You will definitely experience a good amount of stress when working on the psets, so finding a good pset group will go a long way.
- this was a fast-paced course that covers so many topics in a short period of time -- that said, as a beginner, i really don't think this is meant for true novices to cs. i found myself quickly getting lost in lecture and the p-sets simply because they covered concepts too quickly and not in-depth enough. the level of understanding expected in the p-sets is incongruent to the depth covered in lecture. the lectures were also over 3 hours long, which, in my view, is not ideal.
- Took this class with minimal experience - definitely challenging but so worth it to get exposure to coding and CS principles.
- Try to get the most out of every problem set as you are learning skills that will be transferrable in almost any career in the future.
- Very big time commitment if you do not have previous experience with Computer Science.
- very commercialized but good if you want a survey of different programming languages but not in depth into one in particular, professor not accessible but a lot of good TFs who are willing to help
- Very good introduction to CS.
- While this course certainly takes more work if you do not have a coding background, it is worth it. Between office hours and section, there is ample support beyond the weekly lectures. There will be times during the course when it seems difficult, but it's part of the process of learning how to code. The course will give you confidence that you can create other coding projects in the future.
- Yes, the class teaches you a lot of material, and provides you a great opportunity to meet with a wide variety of people.
- You get what you put into it.
- You know what this class is. Just take it if you're at all interested in coding or getting decent at coding. It's actually harder than you expect though, the beginning is very chill, and the end gets pretty busy. But do take it, it's way better than CS32.