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
24442 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
Ryan Johnson profile image
Ryan Johnson profile image

Ryan Johnson

8/10 starsTaking Now
5 years, 10 months ago
I took this course last year and this year and I enjoy it every time. David Malan is a great instructor and the entire course is really engaging and was the thing that helped me get started with computer science as a hobby =)
Was this review helpful? Yes0
 Flag
Dmytro Karataiev profile image
Dmytro Karataiev profile image

Dmytro Karataiev

10/10 starsCompleted
5 years, 11 months ago
Absolutely amazing course. There is not much to say in addition, highly recommend anyone to take this course at least to see that is the level of education at Harvard. You will be shocked!
Was this review helpful? Yes0
 Flag
student profile image
student profile image

student

10/10 starsTaking Now
5 years, 12 months ago
Was this review helpful? Yes0
 Flag
Tung Nguyen profile image
Tung Nguyen profile image

Tung Nguyen

10/10 starsCompleted
6 years ago
This is the first best course / class, which I had attended from my childhood until now. I wish I had enrolled this course earlier. I really like the way professor David J. Malan teaches us, the DJ music at the end of the lecture. The courseware's content is comprehensive and very helpful, it helped me cover some holes in my CS knowledge, which I couldn't teach myself.
Was this review helpful? Yes0
 Flag
Brian Kuo profile image
Brian Kuo profile image

Brian Kuo

10/10 starsCompleted
6 years ago
Lectures are very clear, well structured, and the course material is excellent. Not only that, the quality of the lecture itself is also very good and professionally edited.
Was this review helpful? Yes0
 Flag
student profile image
student profile image

student

10/10 starsCompleted
6 years, 1 month ago
CS50 is a phenomenal course. It takes hard work and dedication, but is well worth the effort in the end
Was this review helpful? Yes1
 Flag
Kevin S profile image
Kevin S profile image

Kevin S

8/10 starsCompleted
6 years, 1 month ago
Pros - Lecturer brings a lot of energy and explains concepts really well, often interactively - Online materials are very good - thorough notes provided and video quality is high - Starting with C is bold but IMO an excellent way to introduce the important, low-level stuff that everyone should understand - Covers important topics like computer architecture, algorithms, cryptography, how the internet works - Gets the balance right - covers things in just enough detail, but no more Cons - The PHP and JS sections felt really rushed - There is a lot of general chit chat - the news, what Mark Zuckerberg did with Facebook etc. I personally don't like this content in online courses but others may not mind so much Overall the first 7 weeks of content are great. I didn't learn as much during the last 5 weeks but would certainly recommend this course
Was this review helpful? Yes0
 Flag
Umang Agarwal profile image
Umang Agarwal profile image

Umang Agarwal

10/10 starsTaking Now
6 years, 1 month ago
cs50 is absolutely the most amazing MOOC you'll ever take. Learning from david and rest of the staff is an absolute treat. the course is quite challenging and difficult and I highly recommend it to everyone.!
Was this review helpful? Yes0
 Flag
pamela galvis marquez profile image
pamela galvis marquez profile image

pamela galvis marquez

9/10 starsTaking Now
6 years, 1 month ago
excellent, I want to convey me to learn their professional structure, basic knowledge for a better future.
Was this review helpful? Yes0
 Flag
pamela galvis marquez profile image
pamela galvis marquez profile image

pamela galvis marquez

10/10 starsTaking Now
6 years, 1 month ago
excellent content and provider, I want to know more than the basics, its interesting, cozy, with an experience that I want to transmit it.
Was this review helpful? Yes0
 Flag
Jagdeep Singh profile image
Jagdeep Singh profile image

Jagdeep Singh

10/10 starsTaking Now
6 years, 1 month ago
The course content is challenging, interesting and practical. David and the team is amazing in teaching this course. It is a must take course for all Computer science students and for others as well.
Was this review helpful? Yes0
 Flag
Student profile image
Student profile image

Student

10/10 starsCompleted
6 years, 1 month ago
This was one of the most challenging courses I have taken online. Being an older student (yes, I consider 50 to be older), learning takes a bit more effort than when I was younger but David and his staff made this course possible. His ability to tie real-world topics to programming and computer science makes it possible for just about anyone to be successful in this course - assuming you have the time and will-power to complete it. The topics were broad enough to generate an understanding of how programming and computers can assist us in our daily lives, but also focused enough to allow the students to actually comprehend and retain the knowledge. Each Pset was challenging in one form or another, but all were possible due to the excellent lectures, walkthroughs, sections, and shorts. CS50 is a great way to introduce yourself to computer science. Thanks to Harvard and the entire CS50 staff.
Was this review helpful? Yes0
 Flag
Umang Agarwal profile image
Umang Agarwal profile image

Umang Agarwal

10/10 starsTaking Now
6 years, 1 month ago
It's an amazing experience. The course material, the shorts, walkthroughs, psets and lectures - all are nothing short of amazing. cs50 made me happier in life.
Was this review helpful? Yes0
 Flag
Kathy H profile image
Kathy H profile image
10/10 starsCompleted
  • 2 reviews
  • 2 completed
6 years, 5 months ago
Ahhh David Malan, a wonderful professor in the new era of free education. CS50 is the ultimate example of what modern (and perfect) education is like, here are 5 reasons. (1) Many ways to learn: I cannot learn via lectures, I really can't. As much as I want to, because all courses are taught in lectures, I lose focus in lectures. CS50 provides you with lectures, manuscript, you can download these videos at any time, there are many 5-minute videos on the same topics as the lectures, tutorial videos (where TA walks through the assignments), links for reading, by looking up the topics on your own, etc. It lets YOU decide how YOU want to learn. The resources are there for YOU to decide which method you want to use. (2) Live Q&A. What kind of professor and TAs give up their time to provide SO MUCH HELP for the 10,000 students online FOR FREE? The best kind. They are quick and responsive in emails and in forums. (3) CS50's goal is to arm s... Ahhh David Malan, a wonderful professor in the new era of free education. CS50 is the ultimate example of what modern (and perfect) education is like, here are 5 reasons. (1) Many ways to learn: I cannot learn via lectures, I really can't. As much as I want to, because all courses are taught in lectures, I lose focus in lectures. CS50 provides you with lectures, manuscript, you can download these videos at any time, there are many 5-minute videos on the same topics as the lectures, tutorial videos (where TA walks through the assignments), links for reading, by looking up the topics on your own, etc. It lets YOU decide how YOU want to learn. The resources are there for YOU to decide which method you want to use. (2) Live Q&A. What kind of professor and TAs give up their time to provide SO MUCH HELP for the 10,000 students online FOR FREE? The best kind. They are quick and responsive in emails and in forums. (3) CS50's goal is to arm students with the basics of programming such that TODAY, starting RIGHT NOW, you can pick up ANY computer language and master it. I mastered PHP thanks to this course. (4) the assignments are f*** challenging. Here's an example of an assignment: a disk with 50 photos is corrupted, can you recover this data? Believe it or not, I solved it on my own!! (5) Learn at your own pace: tying back to (1) all materials from previous years are online, you can learn quickly, you can learn slowly. This course is in your hands. THANK YOU DAVID!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Was this review helpful? Yes3
 Flag
Aadesh Salecha profile image
Aadesh Salecha profile image

Aadesh Salecha

10/10 starsCompleted
6 years, 5 months ago
CS50 is the best online course anyone can ever take, which equips one with the most broadest applicable skillset, the course covers Computing as a concept unlike other courses which just concentrate on a particular language. It covers C in complete detail and in the process teaches us how to learn programming languages on our own, it then briefly covers PHP,SQL,HTTP,CSS,HTML and very briefly JavaScript.
Was this review helpful? Yes1
 Flag
공 겉 아 아 profile image
공 겉 아 아 profile image

공 겉 아 아

10/10 starsCompleted
6 years, 4 months ago
거나대라나으아챠차아야
Was this review helpful? Yes0
 Flag
Lokoho Ehomba Lambert profile image
Lokoho Ehomba Lambert profile image

Lokoho Ehomba Lambert

10/10 starsTaking Now
6 years, 4 months ago
gonna help me to find the job in my country
Was this review helpful? Yes0
 Flag
priyanka kanda profile image
priyanka kanda profile image

priyanka kanda

10/10 starsTaking Now
6 years, 4 months ago
I was interested in this course like comp science ,,,c# ,,c,,c++ etc
Was this review helpful? Yes0
 Flag
Student profile image
Student profile image

Student

8/10 starsTaking Now
6 years, 4 months ago
Even though I received formal education in IT, I still learned plentiful from this informative yet also interesting course. There were many things I simply used and did not understand, that were explained as succinctly as possible. The videos and activities also helped to keep me engaged. However, I have to note that the course is quite difficult. For those with no prior experience, I am afraid some will face a steep learning curve. It was only manageable for me because I had prior knowledge of the subject.
Was this review helpful? Yes0
 Flag
Sarah Howard profile image
Sarah Howard profile image
10/10 starsTaking Now
  • 1 review
  • 0 completed
6 years, 5 months ago
I actually found the course videos on Youtube and did 4 lessons before finding out that the course is run on edx. I had not done programming for a quarter of a century, but decided to take it up again. The instructor is terrific and the videos are very engaging. I also found a video of Mark Zuckerberg addressing a 2005 almost empty lecture theatre of a 2005 CS50X class, and it was fascinating to watch. This class is first class and must be just about the best introduction to computer science accessible on the web. Thank you Harvard for sharing!
Was this review helpful? Yes0
 Flag
Ishmael Annoh profile image
Ishmael Annoh profile image

Ishmael Annoh

8/10 starsTaking Now
6 years, 6 months ago
Although this is the first time of my entry into your site, I have grown deep interest in your programs and I hope by the end of the course-computer science- my life would change.
Was this review helpful? Yes0
 Flag
student profile image
student profile image

student

10/10 starsCompleted
6 years, 9 months ago
Wow. I doubt that anyone wanting to take this course is new to online learning. That's good because you're about to see something you've never seen before, a MOOC done right. The difference between this course and every other online course I've taken is night and day and it only takes 1 lecture to see that. An absolutely INSANE amount of effort has gone into the production of CS50. Yes it sucks and you get extremely jealous that you're not there for the real life fun but the content is all there. For free. The lectures are attended by students online too. There's a point towards the end where the lecturer shows how many of the campus enrolled students attended the lecture online. It's quite a few. Anyway, I studied computer science in college a long time ago. The content was exactly the same. However, the Teacher, David Malan is the most engaging lecturer you will ever come across. He also has a lecture on how he teaches his class el... Wow. I doubt that anyone wanting to take this course is new to online learning. That's good because you're about to see something you've never seen before, a MOOC done right. The difference between this course and every other online course I've taken is night and day and it only takes 1 lecture to see that. An absolutely INSANE amount of effort has gone into the production of CS50. Yes it sucks and you get extremely jealous that you're not there for the real life fun but the content is all there. For free. The lectures are attended by students online too. There's a point towards the end where the lecturer shows how many of the campus enrolled students attended the lecture online. It's quite a few. Anyway, I studied computer science in college a long time ago. The content was exactly the same. However, the Teacher, David Malan is the most engaging lecturer you will ever come across. He also has a lecture on how he teaches his class elsewhere on edx, it's fascinating (don't watch it before the first lecture though!) It's important to remember that the MAJORITY of the learning and heavy lifting is done in the sections, not the lectures. If you think you'll learn everything you need to know by watching the 20 x 1 hour lectures, you're wrong. The content is very accessible. It's not easy, but it's accessible, even to beginners. Using C as the main language I thought was a great idea. It really doesn't get more difficult than C so if you can get through this course, you'll have an extremely easy time picking up other languages. Becoming a programmer doesn't happen in lectures. It happens as you hack your way through problems yourself. This course will give you a solid grounding in programming concepts for you to do that. If you finish this course, you can easily go off on your own and learn the rest. Might be worth noting that the course gets tough from week 6 to 8 but after that, it leaves C and gets much easier (and interesting). So don't worry that you think it's escalating out of control. It gets easier. Stick with it. Finally, the production values, problem sets (homework) and even the awesome music among many little touches really add up. Kudos to the production team. I took this course expecting another piece of crap lecture of a boring professor writing on a chalkboard and videos on an old Nokia cellphone. I'm now eating my hat. I work in software (on the business side). Trust me, if you want to get into the industry, this is without a doubt, the best place to start. All our non programmer new hires are now required to take this course.
Was this review helpful? Yes4
 Flag
student profile image
student profile image

student

2/10 starsCompleted
6 years, 9 months ago
In short: very hard and complicated. They use a Brazilian method. If you don't know anything about programming language - try to write more simple code first (use a youtube to find lessons)and then sign up for this course. Otherwise it maybe be very frustrating and repulsive experience that makes you never want to try coding again. Also - there is almost no support or consultations available. They will send you to forums for info. 2nd point: I have Master's and Bachelor's degree. There is a huge difference between full-time education and this online course. mainly it's quality. Keep it in mind if you never tried an online courses.
Was this review helpful? Yes3
 Flag
Student profile image
Student profile image

Student

6/10 starsDropped
6 years, 7 months ago
I think David is cool as hell. This class looks incredibly cool if you can take it in person. However, the edX version just doesn't translate well. The lectures and exercises are not in matching order with the course. This leads to problems when you get to problem set 3, as you will be doing the follow-through videos and the output you should get doesn't match what's on the screen. Other times you will be directed to download files for an assignment and they're not there. You're told everything from restart your appliance to just reinstalling it and "hoping" it works. This is not worth wasting the time on. I have an IT background, I know when and where my appliance has Internet connectivity. From reading the forums it seems as though the edX delivery order is NOT the same as the university's is, meaning we get the problem sets at a different point in the course as those attending in person. There are several times when this causes... I think David is cool as hell. This class looks incredibly cool if you can take it in person. However, the edX version just doesn't translate well. The lectures and exercises are not in matching order with the course. This leads to problems when you get to problem set 3, as you will be doing the follow-through videos and the output you should get doesn't match what's on the screen. Other times you will be directed to download files for an assignment and they're not there. You're told everything from restart your appliance to just reinstalling it and "hoping" it works. This is not worth wasting the time on. I have an IT background, I know when and where my appliance has Internet connectivity. From reading the forums it seems as though the edX delivery order is NOT the same as the university's is, meaning we get the problem sets at a different point in the course as those attending in person. There are several times when this causes complete confusion if you're not already a "coder". CS50x claims it's for those with and without experience coding. You would think the online delivery would be better suited for that claim. I hate to stop the course after 4 weeks, but it just got too hard to follow in order, and deal with technical challenges of the CS50 appliance at the same time. Maybe I'll try again next year.
Was this review helpful? Yes2
 Flag
Kacey Wood profile image
Kacey Wood profile image

Kacey Wood

6/10 starsDropped
6 years, 7 months ago
The order of the material never seemed to matchup with the course progress. Once I got to pset3 my appliance never seemed to work correctly. Downloads couldn't be found at their published location, instructions didn't match the actual course material, etc. I'm sure it's a great class to attend in person, but online it's a total cluster.
Was this review helpful? Yes2
 Flag
student profile image
student profile image

student

10/10 starsCompleted
6 years, 8 months ago
Difficult to explain in a few words, you have to live it, as this is not only a course but a living experience. I had the honor and luck of completing the 1st one two years ago. This was an extremely enjoyable course. So many wonderful resources made available to us. Effective ways of teaching with students' brain in mind! Fun! The professor is a stellar presenter & teacher. A++, and the rest of the staff did an outstanding job. I found it stimulating, enlightening, encouraging, and informative The humor and encouragement are built-in so retention comes with minimal effort. This course made something that has become part of our lives, it taught scratch to my little daughters and they found out the pleasure of coding at a very early age. Thank you David, Rob, Zamyla,…
Was this review helpful? Yes2
 Flag
Sam wright profile image
Sam wright profile image
10/10 starsCompleted
  • 5 reviews
  • 4 completed
6 years, 9 months ago
WARNING: This class is not a cake walk you will work and work hard to pass it! (Completely worth it.) This course is fun interesting exciting and hard. They work hard to be engaging and interesting. It tries to expose you to as many of the different areas of computer science as possible. Every week built on the past weeks but at the same time it felt like taking a class on a different subject ( Note: I mean this in a good way. ). The range of things covered and how well they where covered was mind boggling. They always provide you with all the things you need to succeed but they don't hold your hand and baby step you through everything. They expect you to take charge of your own learning to do your own research too be able understand how things connect and extrapolate from what they provide to the best courses of action. You will need to take charge and take responsibility for your own learning. In these ways the course provides yo... WARNING: This class is not a cake walk you will work and work hard to pass it! (Completely worth it.) This course is fun interesting exciting and hard. They work hard to be engaging and interesting. It tries to expose you to as many of the different areas of computer science as possible. Every week built on the past weeks but at the same time it felt like taking a class on a different subject ( Note: I mean this in a good way. ). The range of things covered and how well they where covered was mind boggling. They always provide you with all the things you need to succeed but they don't hold your hand and baby step you through everything. They expect you to take charge of your own learning to do your own research too be able understand how things connect and extrapolate from what they provide to the best courses of action. You will need to take charge and take responsibility for your own learning. In these ways the course provides you with training not just in cs but also in basic ability's you need to succeed in the world. Though at times it can fell frustrating and intimidating. I often felt like I might not make it but I now fell that I have learned more in this course than any other I have ever taken and am glad they have not dumbed it down or simplified it. In short if you like a challenge, want to learn about CS, and or want to push yourself to be the best you can be mentally this course is for you. If however you just want certifications and a beefer resume with as little time and effort as possible this course is not for you. ( Note: This is the highest I have ever rated a course. I have tried to be clear and honest about everything so ppl won't be surprised and put off by the difficulty's. But I cannot say enough about what a wonderful experience this course has been despite the difficulty's. Because looking back at the course and what I have taken away from it has shown me that it is far more than the sum of its parts. )
Was this review helpful? Yes2
 Flag
student profile image
student profile image

student

1/10 starsCompleted
6 years, 9 months ago
i enlisted and than dropped it. sorry but i dont have time to listen to a 45 minute lecture and than do a fuzzy excersize.
Was this review helpful? Yes2
 Flag
Student profile image
Student profile image

Student

10/10 starsTaking Now
6 years, 7 months ago
Challenging enough to keep me motivated. Structured enough to guide me through the hurdles. Fun enough to keep me interested.
Was this review helpful? Yes1
 Flag
Student profile image
Student profile image

Student

10/10 starsCompleted
6 years, 7 months ago
I finished this class, it's cool and good.
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.