CS50 (Computer Science 50) is an on-campus and online introductory course on computer science taught at Harvard University and Yale University. In 2016, CS50 became available to high school students as an Advanced Placement Computer Science course. The on-campus version is Harvard's largest class with 800 students, 102 staff, and up to 2,200 participants in their regular hackathons.[1] [2]
The course material is available online for free on the edX platform, with a range of certificates available for a fee. this online version, called CS50x, teaches the languages C, Python, SQL, HTML, CSS, and JavaScript. It also teaches fundamental computer science concepts including arrays and data structures, and the Flask web framework.[3] The 2021 iteration of the course introduced three new additional lectures on computer security, artificial intelligence, and the ethics of technology.[4]
The lead instructor is Harvard professor David Malan.[5] Doug Lloyd and Brian Yu[6] were also former members of the CS50 course staff and its lecturers.[7] Facebook co-founder Mark Zuckerberg and former Microsoft Chief Executive Officer Steve Ballmer have given guest lectures.[8] [9] The CS50 course first appeared on-campus in 1989.
Several follow-on programs exist, focusing on web programming, artificial intelligence, game development, and mobile apps.
Lectures are recorded and uploaded to several services including iTunes U, EdX, and YouTube. Additional video "walkthroughs" are recorded with professors and volunteer students. Course questions, called problem sets, or "psets" for short, are available in both PDF and HTML formats. Students can upload problem set answers, and some questions are graded by automation. Students can also use special software to check their code in the cloud. In 2016, CS50 became the first university course to offer students the possibility to watch all lectures entirely in virtual reality.[10] In 2022, the course shifted from CS50 IDE to a web-based version of VS Code based on GitHub codespaces and now the lectures are available in 4K HDR and SDR.[11]
CS50 offers several follow-up courses, including:
CS50 also provides courses for people who are new to programming or who want to understand more about technology.