Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Online Course

CS50's Introduction to Computer Science

All-Time Top 100

Harvard University via edX

(93)

Overview

This is CS50x, Harvard University's introduction to the intellectual enterprises of computer science and the art of programming for majors and non-majors alike, with or without prior programming experience. An entry-level course taught by David J. Malan, CS50x teaches students how to think algorithmically and solve problems efficiently. Topics include abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development. Languages include C, Python, SQL, and JavaScript plus CSS and HTML. Problem sets inspired by real-world domains of biology, cryptography, finance, forensics, and gaming. The on-campus version of CS50x, CS50, is Harvard's largest course.

Students who earn a satisfactory score on 9 problem sets (i.e., programming assignments) and a final project are eligible for a certificate. This is a self-paced course–you may take CS50x on your own schedule.

HarvardX requires individuals who enroll in its courses on edX to abide by the terms of the edX honor code. HarvardX will take appropriate corrective action in response to violations of the edX honor code, which may include dismissal from the HarvardX course; revocation of any certificates received for the HarvardX course; or other remedies as circumstances warrant. No refunds will be issued in the case of corrective action for such violations. Enrollees who are taking HarvardX courses as part of another program will also be governed by the academic policies of those programs.

HarvardX pursues the science of learning. By registering as an online learner in an HX course, you will also participate in research about learning. Read our research statement to learn more.

Harvard University and HarvardX are committed to maintaining a safe and healthy educational and work environment in which no member of the community is excluded from participation in, denied the benefits of, or subjected to discrimination or harassment in our program. All members of the HarvardX community are expected to abide by Harvard policies on nondiscrimination, including sexual harassment, and the edX Terms of Service. If you have any questions or concerns, please contact harvardx@harvard.edu and/or report your experience through the edX contact form.

Taught by

David J. Malan

Tags

Help Center

Most commonly asked questions about EdX

Reviews for edX's CS50's Introduction to Computer Science Based on 93 reviews

  • 5 stars 74%
  • 4 stars 14%
  • 3 stars 4%
  • 2 stars 4%
  • 1 stars 3%

Did you take this course? Share your experience with other students.

Write a review
  • 1
Hamoon M
Hamoon completed this course, spending 20 hours a week on it and found the course difficulty to be hard.
I have tried many introductory courses/books/websites for computer science and programming. This one is my favorite.

It is challenging to complete the tasks, but they are designed so after you finish them, you will have a fantastic vision of a computer scientist.

Was this review helpful to you? Yes
Charlie S
by Charlie completed this course, spending 30 hours a week on it and found the course difficulty to be hard.
They were not kidding when they said the course was "demanding". I spent at least 2 hours daily working on the course and each course week took me a month to complete. It was exhausting a lot of the time. The problem sets are designed in such a way that one is forced to read and do further research to accomplish them. The sense of satisfaction I gained from completing each problem set was tremendous and even though the learning curve is steep (to say the least), I am now comfortable in my understanding of the basics of computer science and in coding in C. The web design module was probably the most fun even though for me personally it was the most demanding.

I guarantee you will be pulling your hair out sometimes if you take this course, but you will have tremendous fun most of the time and the sense of accomplishment is exhilarating!
150 people found
this review helpful
Was this review helpful to you? Yes
completed this course and found the course difficulty to be hard.
CS50 turned out to be precisely what I wanted. The platform is reliable, the UX is crisp, and, most importantly, the course content is phenomenal. Professor David Malan and his army of TAs put an absurd amount of effort into giving Intro to Computer Science actual LIFE. From the first video, it inspired that nervous excitement that always accompanied my setting foot into a lecture hall for the first time. This wasn't YouTube, this was the Real Deal.

Because the course was hard. The homework assignments, which were offered via the same appliance that the live students used and submitted to the same grading tool as well, took me anywhere from four to twelve hours apiece.
Read Full Review
50 people found
this review helpful
Was this review helpful to you? Yes
Mark M
Mark completed this course, spending 20 hours a week on it and found the course difficulty to be hard.
CS50x is essentially like taking a real, full-length college-level course, complete with lectures, breakout sections, walkthroughs, homework, quizzes, etc...

Prepare to be infuriated after watching 5-6 hours of video content and realizing that you still have absolutely no idea how to actually do the homework. If you're looking for somebody to hold your hand through the syntax (like the 56% of people with no background in CS likely were), you won't find it here.

Read Full Review
52 people found
this review helpful
Was this review helpful to you? Yes
David V
by David completed this course, spending 20 hours a week on it and found the course difficulty to be hard.
(Full review: https://medium.com/@venturidb/review-harvard-cs50-introduction-to-computer-science-75405e684a61#.1jq3325cw)

I’m having a hard time describing CS50 without sounding hyperbolic. The course was just so damn good. The content is engaging. David Malan is too good at his job. The production value is absurd. Honestly, go check out a lecture for the production value alone.

I have now completed CS50, Stanford CS101, and half of Udacity CS101 and without question Harvard’s introduction to computer science is my favourite.
40 people found
this review helpful
Was this review helpful to you? Yes
Anonymous
Anonymous is taking this course right now, spending 5 hours a week on it and found the course difficulty to be hard.
This course is not for beginners. I wanted to learn programming for fun, to understand what my husband does, and learn something new at a leisurely pace. But introduction means nothing, you jump right into problems sets that are extremely challenging. The instructor speaks at a lightening speed, bouncing around ideas, as if talking fast will keep me interested. It does the exact opposite, I'm like "what is happening?" I also consider myself a studious person and a classroom teacher and this didn't feel basic. For someone who's never written any code and learning for fun, my frustration level was way too high and preventing me from moving on. I needed more scaffolding/building blocks (again this is supposed to be an introduction) because I just wasn't understanding what he was talking about no matter how many times I looked back at the notes, lectures, slides; I couldn't piece it together and had to find another more suitable course for my level.
Was this review helpful to you? Yes
Anonymous
Anonymous completed this course.
This is course was one of the best things I ever found ever since I started programming!

The course is, yes , not being difficult is definitely on the harder side. The lectures are of great quality, are to the point, and the instructor too is great! The problem sets were pretty good too. Also if your are in a dilemma that this might too hard for you, take it. Believe me, if you are sincere and dedicated enough, you will do it. Please note that I did know python before taking this course , but even if you don't know anything about programming, you will do just fine! Highly recommended for beginners.
Was this review helpful to you? Yes
Peter P
Peter completed this course, spending 10 hours a week on it and found the course difficulty to be hard.
Excellent course. David Malan explains everything very well and is very interactive, using his students to help explain different concepts.

I especially enjoyed the data structures and algorithms part of the class.
27 people found
this review helpful
Was this review helpful to you? Yes
Anonymous
Anonymous completed this course.
I am currently taking MIT's python course. It is designed much better for beginners. While lectures for CS50 are phenomenal, problem sets are not realistic and quite discouraging. I am glad I decided to try something else.
Was this review helpful to you? Yes
Richard G
by Richard completed this course.
This course felt like a full college course. It is the first MOOC for which I felt like I would really have earned 3 or 4 credit hours because- similar to taking it in-person. The instructor, David Malin, does an outstanding job of making it interesting as well as making it easy to submit problem sets and get them graded quickly (because it's mostly automatic). There are lots of people taking the course at any one time so the Facebook group is very active with people helping each other.
Was this review helpful to you? Yes
Anonymous
Anonymous is taking this course right now.
The lectures are phenomenal but it stops there. David only touches on topics during his lectures. Then you are asked to complete problem sets when no one ever taught you any of the skills necessary to complete them. And by "no one ever taught you" - I mean no one even brought up the subject in the lecture. You must look up and teach yourself 90% of what you need to do the problem sets. If I wanted to teach myself the majority of the information I need, I would not have enrolled in a class. Two stars for the lectures. Zero stars for everything else.
Was this review helpful to you? Yes
Conor D
Conor completed this course, spending 3 hours a week on it and found the course difficulty to be medium.
Great course. Learned a solid basis to build on. The course material is great as well as the structure for teaching it.

10/10 would take again.
19 people found
this review helpful
Was this review helpful to you? Yes
Anonymous
Anonymous completed this course.
Amazing course and amazing instructor/staff/students. I've recommended CS50 / CS50x to multiple friends and it even helped me land an internship.
17 people found
this review helpful
Was this review helpful to you? Yes
Billy L
Billy completed this course, spending 4 hours a week on it and found the course difficulty to be medium.
A lot of effort can be seen to be placed in the production of lectures/shorts, making it very enjoyable and the concepts understandable. However, if you already know the concepts, the videos can seem overly-theatrical.
10 people found
this review helpful
Was this review helpful to you? Yes
Chris D
by Chris completed this course.
I thought this was a great introduction to computer science. The instructor David Malan is one of the most charismatic instructors I've ever seen. The team behind this course did a phenomenal job in creating an extremely thought out curriculum with challenging and interesting problem sets. This is not an easy course but was well worth the effort.
Was this review helpful to you? Yes
Robert G
Robert completed this course and found the course difficulty to be medium.
There is a lot of good stuff here, but is is so painfully disorganized it is a chore to figure out. Navigating the dozen sites associated with the class is more difficult than the actual material. If they ever organized this, it could be good. It is like they are trying to waste as much student time as possible for very basic instruction.
18 people found
this review helpful
Was this review helpful to you? Yes
Anonymous
Anonymous completed this course.
This is the best course for Computer Science at introductory level.
8 people found
this review helpful
Was this review helpful to you? Yes
Anonymous
Anonymous completed this course.
One of the best online courses out there. Prof. Malan's enthusiasm makes computer science come alive. Highly recommended as a first course in computer science.
5 people found
this review helpful
Was this review helpful to you? Yes
Anonymous
Anonymous completed this course.
amazing work. demanding but helpful and comprehensive.
6 people found
this review helpful
Was this review helpful to you? Yes
Anonymous
Anonymous is taking this course right now.
contemplating all the theoretical material I was going to receive about how computers work and the software involved in the machine I use everyday to get work done. I skimmed over the course description but did not give it much attention. I was simply searching for a computer science introductory course and nothing more. I had gone through half of Introduction to Computer Science and Programming using Python on edX and got hooked on the programming language because of its straight-forwardness. I simply gave up that course because I was more interested in coding than I was in the theory. Eventually I realized I needed more information about the machine that was “magically” allowing me to program. In retrospect, I don’t feel guilty for not paying much attention to the description page, which used the word “demanding”. This would most likely have put me off taking the course, as I might have thought it was heavy on theory – not an appealing prospect.

Was this review helpful to you? Yes
  • 1

Class Central

Get personalized course recommendations, track subjects and courses with reminders, and more.

Sign up for free

Never stop learning Never Stop Learning!

Get personalized course recommendations, track subjects and courses with reminders, and more.

Sign up for free