Introduction to Computer Science
COMPSCI 50
Subject & Catalog Number
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.
Available for Harvard Cross Registration
NOTE: This course requires additional sections; you will be prompted to choose secondary components during the Add to Cart process