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. As of 2022, 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.
Format
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]
Follow-up courses
CS50 offers several follow-up courses, including:
- CS50 Computer Science for Web Programming - a more in-depth look at HTML, CSS, and JavaScript, as well as frameworks including Django and React.[12]
- CS50's Introduction to Artificial Intelligence with Python - covers search algorithms, machine learning, and artificial intelligence.[13]
- CS50's Introduction to Game Development - teaches the Unity and Löve 2D game engines, as well as 2D and 3D game principles.[14]
Beginner courses
CS50 also provides courses for people who are new to programming or who want to understand more about technology.
- CS50P: Intro to Python programming
- CS50x: Computer Science intro
- CS50's Introduction to Programming with Scratch—An introduction to programming using Scratch, a visual programming language with which aspiring programmers can write code by dragging and dropping graphical blocks [15]
- CS50's Understanding Technology—covers basic technology concepts, such as computer hardware, the Internet, and multimedia.[16]
- CS50's Introduction to Computer Science for Lawyers.[17]
See also
References
- ^ Pappano, Laura. "10 Courses With a Twist". The New York Times. Retrieved 2014-05-04.
- ^ Farrell, Michael. "Computer science course fills seats, needs at Harvard". The Boston Globe.
- ^ "CS50x 2021". cs50.harvard.edu. Retrieved 2021-03-25.
- ^ "What's new for 2021? - CS50x 2021". cs50.harvard.edu. Retrieved 2021-03-25.
- ^ Orbey, Eren. "How Harvard's Star Computer-Science Professor Built a Distance-Learning Empire". The New Yorker.
- ^ "Brian Yu's web page". brianyu.me.
- ^ Feldt, Brian (2014-03-11). "LaunchCode hackathon to feature global computer science educator". St. Louis Business Journal. Retrieved 2014-05-04.
- ^ "CS50 Guest Lecture by Mark Zuckerberg". Harvard University.
- ^ "CS50 Guest Lecture by Steve Ballmer". Harvard University.
- ^ Fahs, C. Ramsey (2016-08-31). "CS50 Moves Away from Traditional Lectures, Toward Virtual Reality". The Crimson.
- ^ "What's new for 2022? - CS50x 2022". cs50.harvard.edu. Retrieved 2022-02-19.
- ^ "Computer Science for Web Programming Professional Certificate". edX. Retrieved 2021-03-25.
- ^ "Computer Science for Artificial Intelligence Professional Certificate". edX. Retrieved 2021-03-25.
- ^ "Computer Science for Game Development Professional Certificate". edX. Retrieved 2021-03-25.
- ^ "CS50's Introduction to Programming with Scratch". cs50.harvard.edu.
- ^ "CS50's Understanding Technology". cs50.harvard.edu.
- ^ "CS50's Computer Science for Lawyers". cs50.harvard.edu. Retrieved 2022-02-19.