Skip to main page content
  1. Course Search
  2. COMPSCI 50

Introduction to Computer Science
COMPSCI 50

Course Information

Description

This is CS50, Harvard University's introduction to the intellectual enterprises of computer science and the art of programming, for concentrators and non-concentrators alike, with or without prior programming experience. (More than half of CS50 students have never taken CS before!) This course teaches you how to solve problems, both with and without code, with an emphasis on correctness, design, and style. Topics include computational thinking, abstraction, algorithms, data structures, and computer science more generally. Problem sets inspired by the arts, humanities, social sciences, and sciences. More than teach you how to program in one language, this course teaches you how to program fundamentally and how to teach yourself new languages ultimately. The course starts with a traditional but omnipresent language called C that underlies today's newer languages, via which you'll learn not only about functions, variables, conditionals, loops, and more, but also about how computers themselves work underneath the hood, memory and all. The course then transitions to Python, a higher-level language that you'll understand all the more because of C. Toward term's end, the course introduces SQL, via which you can store data in databases, along with HTML, CSS, and JavaScript, via which you can create web and mobile apps alike. Course culminates in a final project. See https://cs50.harvard.edu/college for advice, FAQs, syllabus, and what's new. Email the course's heads at heads@cs50.harvard.edu with questions.

Course Notes

This course ordinarily meets for lectures in Sanders Theatre on Mondays, 1:30pm–4:15pm, but the course's first lecture will be in Sanders Theatre on Wednesday, September 3, 1:30pm–4:15pm. Students are expected to attend the course's lectures in person unless simultaneously enrolled in another course that meets at the same or an overlapping time, in which case they may watch CS50's lectures online and attend the other course in person. (The Ad Board has already granted this exception for CS50; no other steps are required.) If you have other academic or athletic conflicts, submit cs50.harvard.edu/simultaneous. Course also includes a weekly discussion section, to be arranged. CS50 is ordinarily graded SAT/UNS, though students whose concentration requires letter grades should change their grading status to letter-graded by the term's eleventh Monday, as should students taking CS50 to fulfill the Quantitative Reasoning with Data (QRD) requirement. Students may take CS50 to fulfill the QRD requirement or to fulfill the Science and Engineering and Applied Science distribution requirement, but not both. First years may take both CS50 and a first-year seminar SAT/UNS. Graduate students are welcome to enroll in or cross-register for CS50.

Class Notes

This is CS50: 

https://www.youtube.com/watch?v=2WtPyqwTLKM

School Faculty of Arts & Sciences
Credits 4
Cross Reg

Available for Harvard Cross Registration

Course Component Project
Grading Basis FAS Satisfactory/Unsatisfactory
Exam/Final Deadline Dec. 12, 2025
General Education N/A
Quantitative Reasoning with Data Yes
Divisional Distribution Science & Engineering & Applied Science
Course Level For Undergraduate and Graduate Students