0% found this document useful (0 votes)
81 views

Syllabus - CS50x 2022

This document summarizes CS50x, an introduction to computer science course taught by David Malan at Harvard. The course teaches algorithmic thinking, problem solving, programming languages like C, Python and SQL. It includes problem sets, labs, and culminates in a final programming project. Students can take the course for free through edX, but must complete problem sets and the final project to earn a verified certificate.

Uploaded by

Lupercio Silva
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
81 views

Syllabus - CS50x 2022

This document summarizes CS50x, an introduction to computer science course taught by David Malan at Harvard. The course teaches algorithmic thinking, problem solving, programming languages like C, Python and SQL. It includes problem sets, labs, and culminates in a final programming project. Students can take the course for free through edX, but must complete problem sets and the final project to earn a verified certificate.

Uploaded by

Lupercio Silva
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

This is CS50x

CS50’s Introduction to Computer Science

OpenCourseWare

Donate  (https://cs50.harvard.edu/donate)

David J. Malan (https://cs.harvard.edu/malan/)

[email protected]

 (https://www.facebook.com/dmalan)
 (https://github.com/dmalan)

(https://www.instagram.com/davidjmalan/)
 (https://www.linkedin.com/in/malan/)

(https://orcid.org/0000-0001-5338-2522)
 (https://www.quora.com/profile/David-J-Malan)

(https://www.reddit.com/user/davidjmalan)
 (https://www.tiktok.com/@davidjmalan)

(https://twitter.com/davidjmalan)

Syllabus
Introduction to the intellectual enterprises of computer science and the art of programming. This course
teaches students how to think algorithmically and solve problems efficiently. Topics include abstraction,
algorithms, data structures, encapsulation, resource management, security, software engineering, and web
programming. Languages include C, Python, and SQL plus HTML, CSS, and JavaScript. Problem sets
inspired by the arts, humanities, social sciences, and sciences. Course culminates in a final project.
Designed for concentrators and non-concentrators alike, with or without prior programming experience.
Two thirds of CS50 students have never taken CS before. Among the overarching goals of this course are to
inspire students to explore unfamiliar waters, without fear of failure, create an intensive, shared
experience, accessible to all students, and build community among students.

Expectations

You are expected to

 submit ten problem sets,


 submit eight labs, and
 submit a final project.

Certificates

CS50x is free to take, and you are welcome to submit the course’s ten problem sets and final project for
automated feedback. To be eligible for a verified certificate (https://www.edx.org/verified-certificate) from
edX, however, you must receive a satisfactory score (at least 70%) on each problem you submit as part of
one of the course’s ten problem sets as well as on the course’s final project.

Problems are evaluated along axes of correctness (as determined by a program called check50 ) and style
(as determined by a program called style50 ), with scores ordinarily computed as 3 × correctness + 1 ×
style.

Books

No books are required or recommended for this course. However, you might find the below books of
interest. Realize that free, if not superior, resources can be found on the course’s website.

Hacker’s Delight, Second Edition

Henry S. Warren Jr.

Pearson Education, 2013

ISBN 0-321-84268-5

How Computers Work, Tenth Edition

Ron White

Que Publishing, 2014

ISBN 0-7897-4984-X

Programming in C, Fourth Edition

Stephen G. Kochan

Pearson Education, 2015

ISBN 0-321-77641-0

Lectures

The course’s lectures introduce each week’s concepts.

Walkthroughs

Integrated into problem sets are “walkthroughs,” videos that offer direction on where to begin and how to
approach problems.

Labs

Labs are programming exercises that prepare you for the week’s problem set.

Problem Sets

Problem sets are programming assignments. CS50x does not have deadlines for problem sets. You are
welcome to work on and submit them at your own pace. To be eligible for a verified certificate from edX,
however, you must submit (and receive a score of at least 70% on) all problem sets and labs by 31
December 2022.

Final Project

The climax of this course is its final project. The final project is your opportunity to take your newfound
savvy with programming out for a spin and develop your very own piece of software. So long as your
project draws upon this course’s lessons, the nature of your project is entirely up to you. You may
implement your project in any language(s). You are welcome to utilize infrastructure other than the CS50
Codespace. All that we ask is that you build something of interest to you, that you solve an actual
problem, that you impact your community, or that you change the world. Strive to create something that
outlives this course.

Inasmuch as software development is rarely a one-person effort, you are allowed an opportunity to
collaborate with one or two classmates for this final project. Needless to say, it is expected that every
student in any such group contribute equally to the design and implementation of that group’s project.
Moreover, it is expected that the scope of a two- or three-person group’s project be, respectively, twice or
thrice that of a typical one-person project. A one-person project, mind you, should entail more time and
effort than is required by each of the course’s problem sets. Although no more than three students may

design and implement a given project, you are welcome to solicit advice from others, so long as you
respect the course’s policy on academic honesty.

CS50x does not have a deadline for the final project. You are welcome to work on and submit it at your
own pace. To be eligible for a verified certificate from edX, however, you must submit (and receive a score
of at least 70% on) it by 31 December 2022.

Academic Honesty

Please see Academic Honesty for guidelines.

You might also like