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
In the United States, Advanced Placement Computer Science (commonly shortened to AP Comp Sci) is a suite of Advanced Placement courses and examinations covering areas of computer science. They are offered by the College Board to high school studen ...
course. The on-campus version is Harvard's largest class with 800 students, 102 staff and up to 2,200 participants in their regular
hackathon
A hackathon (also known as a hack day, hackfest, datathon or codefest; a portmanteau of hacking and marathon) is an event where people engage in rapid and collaborative engineering over a relatively short period of time such as 24 or 48 hours. Th ...
s.
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
Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation of a document written in a markup language such as HTML or XML (including XML dialects such as SVG, MathML or XHTML). CSS is a cornerstone techno ...
, and
JavaScript. It also teaches fundamental computer-science concepts including
arrays and
data structure
In computer science, a data structure is a data organization, management, and storage format that is usually chosen for efficient access to data. More precisely, a data structure is a collection of data values, the relationships among them, a ...
s, and the
Flask web framework. The 2021 iteration of the course introduced three new additional lectures on
computer security,
artificial Intelligence, and the
ethics of technology.
The lead instructor is Harvard professor
David Malan.
Doug Lloyd and Brian Yu is also a former member of CS50 and was one of the lecturers.
Facebook co-founder
Mark Zuckerberg
Mark Elliot Zuckerberg (; born ) is an American business magnate, internet entrepreneur, and philanthropist. He is known for co-founding the social media website Facebook and its parent company Meta Platforms (formerly Facebook, Inc.), o ...
and former
Microsoft Chief Executive Officer
Steve Ballmer
Steven Anthony Ballmer (; March 24, 1956) is an American business magnate and investor who served as the chief executive officer of Microsoft from 2000 to 2014. He is the current owner of the Los Angeles Clippers of the National Basketball Associ ...
have given guest lectures.
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
The iTunes Store is a digital media store operated by Apple Inc. It opened on April 28, 2003, as a result of Steve Jobs' push to open a digital marketplace for music. As of April 2020, iTunes offered 60 million songs, 2.2 million apps, 25,00 ...
,
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
Portable Document Format (PDF), standardized as ISO 32000, is a file format developed by Adobe in 1992 to present documents, including text formatting and images, in a manner independent of application software, hardware, and operating systems. ...
and
HTML format. 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. In 2022, the course shifted from CS50
IDE to a web based version of
VS Code
Visual Studio Code, also commonly referred to as VS Code, is a source-code editor made by Microsoft with the Electron Framework, for Windows, Linux and macOS. Features include support for debugging, syntax highlighting, intelligent code complet ...
based on
GitHub codespaces and now the lectures are available in
4K HDR and SDR.
Follow-up courses
CS50 offers several follow up courses, including:
* CS50 Computer Science for Web Programming - a more in-depth look at
HTML,
CSS
Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation of a document written in a markup language such as HTML or XML (including XML dialects such as SVG, MathML or XHTML). CSS is a cornerstone techno ...
, and
JavaScript, as well as frameworks including
Flask and
Django.
* CS50's Introduction to Artificial Intelligence with
Python - covers
search algorithms,
machine learning, and
artificial intelligence.
* CS50's Introduction to Game Development - teaches the
Unity and
Löve 2D game engine
A game engine is a software framework primarily designed for the development of video games and generally includes relevant libraries and support programs. The "engine" terminology is similar to the term "software engine" used in the software i ...
s, as well as
2D and
3D game principles.
Beginner courses
CS50 also provides courses for people who are new to programming or who want to understand more about technology.
* CS50's Introduction to Programming with Scratch - an introduction to programming using
Scratch, a
visual programming language
In computing, a visual programming language (visual programming system, VPL, or, VPS) is any programming language that lets users create programs by manipulating program elements ''graphically'' rather than by specifying them ''textually''. A VP ...
with which aspiring programmers can write code by dragging and dropping graphical blocks
* CS50's Understanding Technology - covers basic technology concepts, such as
computer hardware
Computer hardware includes the physical parts of a computer, such as the computer case, case, central processing unit (CPU), Random-access memory, random access memory (RAM), Computer monitor, monitor, Computer mouse, mouse, Computer keyboard, ...
, the
Internet, and
multimedia.
* CS50's Introduction to Computer Science for
lawyers.
References
External links
* {{Official website
Harvard University
Yale University
Computer science education