- What is CS50/CPSC 100?
- Which languages will I learn?
- Who teaches CS50?
- Should first-years take CS50?
- I’m a grad student. May I take CS50?
- What about EMBA students?
- What are CS50’s prerequisites?
- Does CS50 fulfill a QR credit?
- Can students take CS50 Credit/D/Fail?
- What about CPSC 112 and CPSC 201?
- What’s it like to take CS50?
- What do students say about the course?
- How difficult is CS50?
- How much work is CS50?
What is CS50/CPSC 100?
Which languages will I learn?
Who teaches CS50?
CS50 is led by Harvard Professor David J. Malan, who has taught the course at Harvard since 2007, and Yale Lecturer Benedict Brown. Working alongside Dr. Brown and Course Manager Cody Murphey to bring CS50’s culture to life is a team of about 40 undergraduate course assistants (CAs) who hold office hours and teaching assistants (TAs)—undergraduate and graduate—who also lead sections and evaluate students’ work.
Should first-years take CS50?
Yes, if they would like! First-years regularly compose a plurality of CS50’s student body. We simply encourage all students—including first-years—to be mindful of CS50’s workload (12+ hours per week) and of the number of problem set-based courses in their schedule.
I’m a grad student. May I take CS50?
Thank you so much for expressing your interest in CS50—we’d certainly love to have you in the course! Graduate and professional students are allowed to officially enroll in CS50 and receive credit towards their degrees; however, in most graduate and professional schools, students may only receive credit if said course credit has been authorized in advance by one of their deans. Thus, we highly recommend that you reach out to your school’s administration now just to double check that you’re all good to go!
In terms of credit for your degree, Yale College courses typically carry 4 units of credit (at least that’s the case at SOM). In addition, enrollment in undergraduate courses typically requires additional work for the graduate and professional students of the course. In CS50’s case, the “additional work” we expect of these students is that they complete a project whose scope is 50% greater than what is expected of undergraduate students. (Final project information is discussed in the syllabus and will be outlined in even greater detail during the latter half of the course.) This requirement for graduate and professional students, we have found, often aligns nicely with some of their reasons for taking the course; namely, that they’ll learn some of the foundational computer science and programming skills necessary to implementing an idea they’ve developed while at school.
Please also remember that this is an introductory undergraduate course, which means it has a steady workload of weekly problem sets. Collaboration is more restricted than in most graduate courses, so be sure to pay close attention to the Academic Honesty policy on the course syllabus. We will typically allow graduate students one free extension on a pset, but you must email firstname.lastname@example.org in advance to request it. Last-minute and after-the-deadline requests will normally be denied unless you have documentation of an emergency. We will respond more positively to extension requests if you have a track record of strong participation, including completing work, and attending section and office hours regularly.
If you have any additional questions, please don’t hesitate to ask!
What about EMBA students?
We’re happy to have you in the class if you are going to be able to come to one of the sections on a weekly basis and will be able to attend some office hours regularly. In Fall 2020, sections will be at a range of times throughout the day on Tuesday and early on Wednesday mornings. There will be office hours available many afternoons and evenings during the week, and limited office hours on weekends. Lectures are delivered online, so you can watch them any time, anywhere.
If you are not based in the New Haven area and able to participate in the class throughout the week, we strongly encourage you to investigate the free, self-paced edX version of CS50. We won’t be able to offer you additional support over the online version and will need to hold you to much stricter deadlines. You will therefore likely be better served taking a different course for your EMBA program and taking CS50 on your own.
What are CS50’s prerequisites?
None. You may take CS50 regardless of previous computer science experience, inside or outside a classroom. In fact, over 2/3 of CS50 students have never taken a CS course before!
Does CS50 fulfill a QR credit?
Can students take CS50 Credit/D/Fail?
Definitely! Taking CS50 Credit/D/Fail is a great way to gain a strong foundation in CS without feeling as much of the pressure surrounding letter grades.
What about CPSC 112 and CPSC 201?
In the fall, CPSC 112—Yale’s introductory CS course geared towards non-majors—is not offered, but CPSC 201—Yale’s introductory CS course geared towards majors—is offered. Unlike CS50, both courses are offered in the spring. Many students choose to take CS50 in the fall, followed by CPSC 201 in the spring.
If you’re not sure whether to take CS50 or jump straight into 201, shop both. If you have some programming background and feel that 201 is in reach, we encourage you to take the plunge; you’ll still learn a lot in CS50, but you have to balance this against the extra upper-level elective you’d otherwise take down the road.
What’s it like to take CS50?
Lectures are online and asynchronous. They will be posted weekly to the course web site. You are required to watch them ahead of your section.
CS50 sections are at the heart of the course. Led by CS50 TAs, sections are either 90 minutes or 110 minutes long to accomodate different comfort levels and take place at a variety of times and days during the week. The TAs who lead your section will also evaluate your weekly problem sets and serve as a go-to resource for any and all questions, comments, or concerns.
CS50’s office hours are opportunities for you to receive additional guidance on course material and problem sets from the course’s TAs and Heads, as well as to work in a communal environment with your peers! Office hours take place on multiple afternoons and evenings throughout the week.
CS50 hosts a number of exciting events throughout the fall that will allow you to better connect with your peers and the course’s staff as well as dive more deeply into the world of computer science. Every Friday, CS Lunches bring together students, staff, and our friends in companies throughout the industry. CS50 Puzzle Day at the start of the term, the CS50 Hackathon (an epic all-nighter!), and the CS50 Fair at term’s end help make the course an unforgettable experience.
What do students say about the course?
“Best class I have taken at Yale. 100% would do it again. It teaches computer science in an engaging and interesting way, making problem solving sexier than traditional computer science courses. The support system is great (TAs, professors, and assistants).”
“A timeconsuming but extremely rewarding course. Will make you love computer science, despite the long and arduous [problem] sets. This course doesn’t just teach programming, it teaches computer science. I would absolutely recommend it because if you want to do well you have all the resources you need: from discussion forums to nightly office hours with outstanding TAs, this course gives you so much support.”
“CS50 is a fantastic class, appropriately challenging, and harnesses the most positive characters of the student body towards a collaborative and social learning experience that is both efficient and rewarding.”
“Definitely take—it’s very important to have coding/comp sci skills, and this is the best class to teach you.”
How difficult is CS50?
For many students, CS50 is simply more time-consuming than it is difficult. Starting each week’s problem set early, then, makes things easier! And the course’s difficulty was also recalibrated back in 2016, per the data from Harvard below.
How much work is CS50?
Although the course’s workload had been on the rise in recent years, the course’s workload was recalibrated back in 2016, per the data from Harvard below.
By mid-semester, most students spend 10+ hours per week on the course’s problem sets, but it definitely varies by problem set, per the below data from Harvard, and student.
Note that, in Fall 2019, students had two weeks to complete Problem Set 8, compared to one week for each of the other problem sets.