Introduction to Computer Science

Provided by:
9/10 stars
based on  181 reviews
Provided by:
Cost FREE , Add a Verified Certificate for $90
Start Date In Session

Key Concepts

lightbulb
We've created a summary of key topics covered in this course to help you decide if it's the right one for you. Click individual badges to see more courses on the same topic.

Course Details

Cost

FREE,
Add a Verified Certificate for $90

Upcoming Schedule

  • In Session

Course Provider

edX online courses
Harvard University, the Massachusetts Institute of Technology, and the University of California, Berkeley, are just some of the schools that you have at your fingertips with edX. Through massive open online courses (MOOCs) from the world's best universities, you can develop your knowledge in literature, math, history, food and nutrition, and more. These online classes are taught by highly-regarded experts in the field. If you take a class on computer science through Harvard, you may be tau...
Harvard University, the Massachusetts Institute of Technology, and the University of California, Berkeley, are just some of the schools that you have at your fingertips with edX. Through massive open online courses (MOOCs) from the world's best universities, you can develop your knowledge in literature, math, history, food and nutrition, and more. These online classes are taught by highly-regarded experts in the field. If you take a class on computer science through Harvard, you may be taught by David J. Malan, a senior lecturer on computer science at Harvard University for the School of Engineering and Applied Sciences. But there's not just one professor - you have access to the entire teaching staff, allowing you to receive feedback on assignments straight from the experts. Pursue a Verified Certificate to document your achievements and use your coursework for job and school applications, promotions, and more. EdX also works with top universities to conduct research, allowing them to learn more about learning. Using their findings, edX is able to provide students with the best and most effective courses, constantly enhancing the student experience.

Provider Subject Specialization
Sciences & Technology
Business & Management
20352 reviews

Course Description

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. As of Fall 2016, the on-campus version of CS50x, CS50, was 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 sche...

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. As of Fall 2016, the on-campus version of CS50x, CS50, was 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.

Reviews 9/10 stars
181 Reviews for Introduction to Computer Science

Ratings details

  • 5 stars
  • 4 stars
  • 3 stars
  • 2 stars
  • 1 stars
  • 5 stars
  • 4 stars
  • 3 stars
  • 2 stars
  • 1 stars
  • 5 stars
  • 4 stars
  • 3 stars
  • 2 stars
  • 1 stars

Rankings are based on a provider's overall CourseTalk score, which takes into account both average rating and number of ratings. Stars round to the nearest half.

Sort By
ezix profile image
ezix profile image
10/10 starsCompleted
  • 1 review
  • 1 completed
4 years, 9 months ago
First of all, I need to say that I had previous knowledge in programming languages, and even though I hadn't written in pure C for almost 2 years, it might have been easier for me. I've learned everything I know about CS on the internet and tried most of the different types : \- Written tutorials, some small around one notion, others on a whole language. \- Walkthroughs and videos (like The New Boston). \- Interactive and gamified tutorials (Codecademy's Python, Codeschool, CodeAvengers, and many others). \- iTunes U lectures (Stanford's CS193P - iPhone development) \- Online courses such as Coursera's CS215. \- I've never bought books and never had the need to. And yet, none of this was quite like CS50x. # The lectures The lecture are one of the most important parts of the course, David J. Malan is a great lecturer. He uses clever real life examples to make complicated notions easier, in fact, you don't need any programming experien... First of all, I need to say that I had previous knowledge in programming languages, and even though I hadn't written in pure C for almost 2 years, it might have been easier for me. I've learned everything I know about CS on the internet and tried most of the different types : \- Written tutorials, some small around one notion, others on a whole language. \- Walkthroughs and videos (like The New Boston). \- Interactive and gamified tutorials (Codecademy's Python, Codeschool, CodeAvengers, and many others). \- iTunes U lectures (Stanford's CS193P - iPhone development) \- Online courses such as Coursera's CS215. \- I've never bought books and never had the need to. And yet, none of this was quite like CS50x. # The lectures The lecture are one of the most important parts of the course, David J. Malan is a great lecturer. He uses clever real life examples to make complicated notions easier, in fact, you don't need any programming experience and it's still useful in non- programming jobs. Unlike many other programming courses, there is a balance between explanations and the actual code itself, not just slides without any context. Because Malan writes the code during the lectures, there are some unexpected events, bugs and typos. And indeed making errors is an important part of the process, so by showing mistakes we can encounter that makes the lectures interactive and close to real life programming. Moreover, there is an emphasis on explaining how stuff really works under the hood while most programming tutorials don't provide this kind of knowledge. There is here little focus on syntax but more on the logic behind computers. # Problem Sets Without a doubt, psets were the other important part of the course. They always involved finding a solution to a given problem, making some task easier using technology, and there often tackled new notions around CS like the structure of a bitmap or how corrupted data is retrieved. The use of the CS50 Appliance, a virtual machine made with all the necessary tools built-in, avoids all the pain related to cross-platform compatibility so we can focus of the code. Like a real life course, you can't gloss over some requirements. The psets are always challenging but doable because we are always taught how to break it down and given a starting point. In the specifications, we are aslo encouraged to write efficient and elegant code. The psets are the core of the course but can even make great challenges for a programmer outside this context. Most of the time is spend using, applying and actually working with the notions so we end up naturally knowing them. I used to struggle a bit with pointers and now they look so easy. # Additional Content Sections: I haven't watched any of them, I guess they are different way of learning. Shorts: They were an in-depth look at either one of the lecture's notions or a new one. Their short format made them interesting to watch. Walkthrough: I never used them for the first half of the psets, but once we moved to harder stuff they were very useful as a guide for the code design and never gave up the solution. # Community The lecture and psets elements already made it a great course, but the novelty here and the important part was making it an online course. And the community part, CS50x Discuss was available on EdX's website, made it the closest you can get to real-life course. There's this real spirit of help that brings people together to find solutions to the psets or discuss around the course's content. What you will learn (among other) \- C \- PHP \- MVC \- Data Types \- Search and sort algorithms \- Asymptotic notation \- Scratch It was memorable and much more than any other learning experience I've ever had online because it successfully managed to make it a journey. CS50x isn't just the quintessential Harvard course, it's now the quintessential online course.
Was this review helpful? Yes26
 Flag
student profile image
student profile image

student

10/10 stars
3 weeks ago
It has to be one of the best course present. Instructor David is so energetic and clearly explains the concept .My passion for computer science peaked due to this course.Thank you CS50 ! I recommend everyone joining the field of computer science to take this course
Was this review helpful? Yes0
 Flag
 profile image
 profile image

10/10 starsCompleted
  • 13 reviews
  • 13 completed
3 weeks, 4 days ago
This is the best online course I've taken by far. The instructor is amazing and the content is challenging but very satisfying to complete. For anyone that wants to understand programming or computers better, I would recommend this course.
Was this review helpful? Yes0
 Flag
student profile image
student profile image

student

10/10 stars
1 month, 4 weeks ago
By far the best programming course I've ever taken! I've dabbled with tutorials using JavaScript and Python before, but I could never do anything unless there was a library that already did it for me. This course explained, clearly and simply, how things work under the hood and then shows you how to take the theory and put it into practice. Getting stuck is part of the learning process. If you push yourself to finishing the course, and challenge yourself to complete the harder versions of the assignments, you'll feel extremely accomplished; because this course is far from easy!
Was this review helpful? Yes0
 Flag
Filipe dos Santos profile image
Filipe dos Santos profile image
6/10 stars
  • 1 review
  • 0 completed
2 months ago
I am currently doing this course however I already can say a few things. - If you don't have any previous knowledge you will take more time to finish it because you will have to study more then that is given to you here since the problem sets increases dramatically in difficulty from each week. Which it is good since you have to think more for yourself. - From what I see in other courses they take a classical approach since the content is what it is expected if you take an introduction course in a physical school. - I don't think that the lecturer is dynamic on my view he is rushing through the lecture in order to condense it in a set time for the video - The walkthrough in the problem sets may or may net help. What I felt in some cases I had more doubts because of the videos, so I simply ignored them because I didn't understood what was expected - The navigation of in the edX site is not, for me, user friendly. I lost a lot of ti... I am currently doing this course however I already can say a few things. - If you don't have any previous knowledge you will take more time to finish it because you will have to study more then that is given to you here since the problem sets increases dramatically in difficulty from each week. Which it is good since you have to think more for yourself. - From what I see in other courses they take a classical approach since the content is what it is expected if you take an introduction course in a physical school. - I don't think that the lecturer is dynamic on my view he is rushing through the lecture in order to condense it in a set time for the video - The walkthrough in the problem sets may or may net help. What I felt in some cases I had more doubts because of the videos, so I simply ignored them because I didn't understood what was expected - The navigation of in the edX site is not, for me, user friendly. I lost a lot of time navigating through every time that I wanted to consult specifics things and the mobile app doesn't have redirect for the youtube videos. - It's not easy to find support. I had a problem with the output of a program that in the IDE it says with their commands everything is OK but final evaluation is not 100%. So by the terms you can't expose any part of your code and you have to find an email for support.
Was this review helpful? Yes0
 Flag
marwa m profile image
marwa m profile image

marwa m

10/10 starsCompleted
2 months ago
best course for you if you are new to programming to understand the basics and see what " under the hood " the staff is great and prof is great and the course group very supportive you will learn a great deal from it
Was this review helpful? Yes0
 Flag
Sagun Suryavanshi profile image
Sagun Suryavanshi profile image

Sagun Suryavanshi

10/10 starsTaking Now
3 months, 1 week ago
The course is absolutely the best! Was initially afraid of Computer science now I'm the master in it! :-) PS: In the 2018 cs50, week 5, the short video on TCP has not been uploaded.
Was this review helpful? Yes0
 Flag
Brent Walsh profile image
Brent Walsh profile image

Brent Walsh

10/10 starsCompleted
3 months, 2 weeks ago
Hands down best online computer science course out there. I've taken Udacity's free online computer science course, Code Academy, and Free Code Camp. CS50 blows those out of the water! Be prepared to challenge yourself. You will learn the fundamentals of programming by starting off writing most of your programs in C where you learn to have full control over the operating system and fiddle around with the bits of memory in your computer. Then from there you learn higher level programming languages like Python and JavaScript. I wish this was the first programming course I took.
Was this review helpful? Yes0
 Flag
Brent Walsh profile image
Brent Walsh profile image

Brent Walsh

10/10 starsCompleted
3 months, 2 weeks ago
Hands down best online computer science course out there. I've taken Udacity's free online computer science course, Code Academy, and Free Code Camp. CS50 blows those out of the water! Be prepared to challenge yourself. You will learn the fundamentals of programming by starting off writing most of your programs in C where you learn to have full control over the operating system and fiddle around with the bits of memory in your computer. Then from there you learn higher level programming languages like Python and JavaScript. I wish this was the first programming course I took.
Was this review helpful? Yes0
 Flag
Francisco Mendoza profile image
Francisco Mendoza profile image

Francisco Mendoza

10/10 starsTaking Now
3 months, 2 weeks ago
I would like to participate, but my English is not so fluent, I like this course. Can I enter anyway?
Was this review helpful? Yes0
 Flag
Juan R. profile image
Juan R. profile image

Juan R.

10/10 starsCompleted
3 months, 3 weeks ago
As many others have said, I feel CS50x is the quintessential online course. The lectures are engaging and the problem sets are challenging, but doable. The tools —like the video player and the IDE— have improved over the years, making the learning experience way more enjoyable. I strongly recommend this course.
Was this review helpful? Yes0
 Flag
student profile image
student profile image

student

10/10 starsTaking Now
3 months, 3 weeks ago
This is the best course I have ever taken. Learn't a lot from it. Lectures are excellent. Problem sets are challenging. Discussion groups are very active. I highly recommend this course for beginners in Computer Science.
Was this review helpful? Yes0
 Flag
student profile image
student profile image

student

10/10 stars
3 months, 3 weeks ago
great work thanks to david and CS50 stuff this course is great for the beginners the material is so helpful i learned a lot from it hope to everyone the same
Was this review helpful? Yes0
 Flag
Petr Yakovlev profile image
Petr Yakovlev profile image

Petr Yakovlev

10/10 starsCompleted
4 months, 2 weeks ago
First of all, I need to say that I had previous knowledge in programming languages C, C++., but I did not have knowledges about Python, SQL, Flask and html. I am able now develop a site! I completed CS50x course last week and got my Certificate!. I am 60 and I lost my job, so I wanted to include a verified certificate on my resume and my profile to illustrate that I am working towards this goal I have and that I have achieved something while I was unemployed. Great course! Thanks!
Was this review helpful? Yes0
 Flag
usama gohar gohar profile image
usama gohar gohar profile image

usama gohar gohar

10/10 starsCompleted
4 months, 3 weeks ago
I have want to learn programing C++ I from Pakistan My name is Usama gohar I read in FSC I have want.to learn programing I have no idea or experience about this programing
Was this review helpful? Yes0
 Flag
Howard Wang profile image
Howard Wang profile image

Howard Wang

10/10 starsTaking Now
4 months, 3 weeks ago
This course has everything I need. The instructor, David, explains clear at everything he teaches. This course starts with C, which I thought it was old. So I think I shouldn't learn it at that time. But I was wrong. C is basically a strong fundamental knowledge for learning any kinds of programming languages. Though C lacks features, and it can be really annoying because you have to do a lot of things of your own. But this course combines C with interesting Problem Sets that it makes me start to dive in the amazing world of programming.
Was this review helpful? Yes0
 Flag
Chris Bermudez profile image
Chris Bermudez profile image

Chris Bermudez

10/10 starsTaking Now
5 months, 1 week ago
Hi, Edx team. i'd like to know if it is neccesary (requirement) to submit the final project (week11) to obtain the verified cerificate from edx. thanks
Was this review helpful? Yes0
 Flag
Ms Fatma profile image
Ms Fatma profile image

Ms Fatma

10/10 starsTaking Now
5 months, 3 weeks ago
This is for everyone including everyone's efforts. When you join CS50, you feel like as part of IETF group or something. Group norms, discussions, comments always are towards making sure that the course is accessible, achievable, and awesome. Only 300K people under umbrella but I really believe the exposure is more than a million. Keep on growing/expanding CS50@Harvard&Yale
Was this review helpful? Yes0
 Flag
Venu Reddy profile image
Venu Reddy profile image

Venu Reddy

10/10 starsTaking Now
6 months, 2 weeks ago
Sir I am from india,Andhra Pradesh would u able to send the certificate I will enroll,how I want to pay and what I want to do to get the certificate
Was this review helpful? Yes0
 Flag
Rob van der Heij profile image
Rob van der Heij profile image

Rob van der Heij

10/10 starsCompleted
6 months, 2 weeks ago
Taking the class was a true pleasure. The material is very well designed and touches a wide ranges of subjects; still goes deep quick in each of them. David Malan does an amazing job. The online IDE for working on the problem sets is very effect.
Was this review helpful? Yes0
 Flag
Deepak Kushwaha profile image
Deepak Kushwaha profile image

Deepak Kushwaha

10/10 starsTaking Now
6 months, 2 weeks ago
More then awesome, David J. Malan is awesome, pset are challenging. it will be great if cs51x will come to edx.
Was this review helpful? Yes0
 Flag
Brian Owino profile image
Brian Owino profile image

Brian Owino

10/10 starsTaking Now
7 months, 1 week ago
i like the institution as it provides best facilities in learning quality computer science and information technology.
Was this review helpful? Yes0
 Flag
join Adm profile image
join Adm profile image

join Adm

4/10 starsCompleted
8 months, 3 weeks ago
I would like to make a great thank you For this distinguished site in computer science, I wish you the best of time.
Was this review helpful? Yes0
 Flag
kewin spristin duran guevara profile image
kewin spristin duran guevara profile image

kewin spristin duran guevara

10/10 starsCompleted
9 months ago
me parece una gran oportunidad para las personas que desean seguir sus estudios yo que deseo un avance mas halla de lo que deseo me gustaría seguir estudiando y mas si es el la Universidad Harvard
Was this review helpful? Yes0
 Flag
mat fay profile image
mat fay profile image

mat fay

10/10 starsDropped
9 months, 3 weeks ago
Fine. At least from view of an unacademic learner.it's nice to see things in good vibrations. Matter of fact it itself a great phenomenon, an important factor.
Was this review helpful? Yes0
 Flag
Kaidong Shen profile image
Kaidong Shen profile image
10/10 starsTaking Now
  • 0 reviews
  • 0 completed
11 months, 2 weeks ago
I think it is great. This is my first time to take course online and I also hope to learn some computer science knowlage. So this course give me a lot. For me I think the biggest problem is English. The teacher speaking so fast that I hard listen clearly what he say, So I think student who is Non-native language and who want to take this course better to improve English first. After that you can enjoy this course.
Was this review helpful? Yes0
 Flag
Student profile image
Student profile image

Student

10/10 starsTaking Now
11 months, 2 weeks ago
Not much to say...One of the best teachers I ever seen, a great team that support the class, overall a great course. Despite the fact that it was my first time to write a single line of code and I found it a bit difficult, I feel very lucky... The most important thing I learned is the explanations of what is going on "under the hood" and how my PC is "thinking". Thank you.
Was this review helpful? Yes0
 Flag
Nikolaos Stougiannos profile image
Nikolaos Stougiannos profile image

Nikolaos Stougiannos

9/10 starsCompleted
11 months, 4 weeks ago
If you are interested in Computer Science, this is a must! Even if you are in an Intermediate or even Advanced level.
Was this review helpful? Yes0
 Flag
Daniel Petkov profile image
Daniel Petkov profile image

Daniel Petkov

10/10 starsTaking Now
1 year ago
That was one of the best expirience for me beouse the instructor allways in easy way show us how the mashine heart works after our code.Thank you!
Was this review helpful? Yes0
 Flag
sameh malak profile image
sameh malak profile image

sameh malak

8/10 starsCompleted
1 year ago
That was the best experience i have so far in programming .. it was great for me to study this course and i hope that the course's psets to be improved a little bit just to be perfect
Was this review helpful? Yes0
 Flag

Rating Details


  • 5 stars
  • 4 stars
  • 3 stars
  • 2 stars
  • 1 stars
  • 5 stars
  • 4 stars
  • 3 stars
  • 2 stars
  • 1 stars
  • 5 stars
  • 4 stars
  • 3 stars
  • 2 stars
  • 1 stars

Rankings are based on a provider's overall CourseTalk score, which takes into account both average rating and number of ratings. Stars round to the nearest half.