Introduction to Computer Science

9/10 stars
based on  144 reviews
Free

This course is available In Session

This course is provided by edX edX

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.

Ratings Summary  Details

Average Content rating
9/10 stars
based on  144 reviews
Average Instructor rating
9/10 stars
based on  105 reviews
Average Provider rating
9/10 stars
based on  12566 reviews

144 Reviews for Introduction to Computer Science

Sort by
ezix profile image
Student rates this course 10/10 stars Completed
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? Yes 24
Muhammad Tariq profile image
Student rates this course 9/10 stars Taking Now
well my question is . dat i even done know a single word for programming. wht do u think should i enroll in this program or not ..
Was this review helpful? Yes 0
Mukesh Pathak profile image
Student rates this course 7/10 stars Completed
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.
Was this review helpful? Yes 0
Molly Pfaff profile image
Student rates this course 10/10 stars Completed
I began with practically no coding experience, and yet at no point in this course was I totally or hopelessly lost. Frustrated? Yes, but that's just the nature of the material. Everything is explained very well, and they made sure all the resources you need are there if you're willing to take advantage of them. If you're hesitating, just do it.
Was this review helpful? Yes 2
cuthbert Chukwuemeka profile image
Student rates this course 10/10 stars Taking Now
Its a scientifically oriented program which affords the enrollees the unique opportunities to be first hand ambassadors of solutions proffers to the society and world at large
Was this review helpful? Yes 0
Omar fawzy profile image
Student rates this course 10/10 stars Taking Now
I like to way of teaching this course it's so cool, and I have to say thanks so much for anyone who's sharing this course and help some students to be a better problem solver in real live
Was this review helpful? Yes 0
Omar Ahmed profile image
Student rates this course 10/10 stars Taking Now
It's awesome staff and comprehensive course to get a background solid in Computer Science. I think it's future to learn how to program and solve real problems in your life.
Was this review helpful? Yes 0
student profile image
Student rates this course 10/10 stars Completed
Just finished the assignments. Currently working on final project. If this course doesn't get you buzzing about CS, nothing will. Loved it! Thank you Harvard for sharing.
Was this review helpful? Yes 4
Nick m profile image
Student rates this course 10/10 stars Completed
Absolutely fantastic course! Fun and engaging with challenging problem sets. The IDE used to program on is a fantastic tool as well. I went from knowing nearly nothing about coding beyond a little HTML and some basic concepts to feeling proficient enough to take on my own projects and continue learning. Besides programming fundamentals and thinking how to solve problems as a computer would. you will also get a decent handle on C programming as well as PHP and a little Java. No matter your skill level there is content here for you. For the less comfortable the problem sets will walk you through, for those more comfortable there are hacker editions which go beyond the base problem sets.
Was this review helpful? Yes 3
Manu Sood profile image
Student rates this course 10/10 stars Taking Now
It took me 6 weeks to have my 'aha' moment and I had only got to end of the 3rd week. It is a tough course cause; I am an older student and studying alone from home. Its hard to get set up, get motivated and get your mind working on logic; especially frustrating because I can solve the problems in Excel in minutes. However, it is a very rewarding experience after you finally solve the assignments! And it looks easy afterwards. I got bored from other learn to program methods I tried. Notes are very detailed, plenty of videos of lectures that you can pause and rewind and there are many support forums etc.
Was this review helpful? Yes 2
keegan kapepe profile image
Student rates this course 10/10 stars Taking Now
CS50 is the detailed course have ever taken in My life. from the time i knew coding, i did not know a lot of things, that i only discover when enrolled for CS50,.. i like all the instructors , they are helpful , friendly,ever guiding , Good instructors.. Thanks a lot for giving me opportunity to Study CS50 through Edx
Was this review helpful? Yes 2
Javi Mar profile image
Student rates this course 10/10 stars Taking Now
I am not going to repeat what my online peers have written. Just want to say this is a fantastic course. I am CS graduate, but during the years I "forgot" how to code as I used to, but by taking this course, everything is coming back, and most importantly, the way is taught, is simply great. Contents are simply outstanding, and David Malan is a great professor and lecturer. Thanks HarvardX to make such a fantastic course available to everybody for free.
Was this review helpful? Yes 1
Student profile image
Student rates this course 10/10 stars Completed
CS50 offers an incredible feeling of empowerment pset after pset. Those problem are real intellectual challenges, not checks of course understanding. CS50 is light years ahead of everything I've seen, and I can't even imagine what it must feel in campus.
Was this review helpful? Yes 1
Dom Myers profile image
Student rates this course 10/10 stars Completed
Incredibly well delivered course. I had some limited programming knowledge from uni but mostly focusing on web app development. The course is amazingly well taught and kept interesting by utilising students attending the class in person and various activities. The problem challenges are challenging in a fun way and made easy to attempt through the VM they have created to support it. Covers a good range of topics and although I mostly took on the C programming challenges for fun, the web programming has massively improved my web development skills and helped me in my current job. 100% would recommend,
Was this review helpful? Yes 1
MANISH SINGH profile image
Student rates this course 10/10 stars Taking Now
The Instructor is Awesome ! Content is well organized and is full of Information. The lectures are available in all languages. Problem sets are challenging and fun. I strongly recommend this course to people from all disciplines of Life. The Verified Certificate is Worth it !
Was this review helpful? Yes 1
Botwe Emmanuel Asamoah profile image
Student rates this course 10/10 stars Completed
CS50's Introduction To The Intellectual Enterprise of computer science and the art of programming is one of the best computer science introductory courses for people with sophomores or people with no prior experience in computer science, computer science concentrators and technology lovers. I tried it and I can't stop taking it every year. This CS50.
Was this review helpful? Yes 0
Vitalii Zabelskyi profile image
Student rates this course 10/10 stars Completed
I attended courses in the Ukrainian language in 2016, adapted from 2014. I do not work as a programmer. But I want to be a professional programmer. This is my first course, I can not compare with anything else. A magnificent course. I try to deepen my knowledge of the English language and be sure to take a course directly from Harvard. I recommend this course to all starting.
Was this review helpful? Yes 0
Zhenfeng Liu profile image
Student rates this course 10/10 stars Taking Now
Can't be more grateful. This course is with tons of interesting things and make learning C an easy as learning python! Incredible!
Was this review helpful? Yes 0
Saad Tariq profile image
Student rates this course 10/10 stars Taking Now
A huge fan of sir david malan and his team, they all are so nice, humble and helpful. I seriously love their content, All of the videos are with so much effort and are in such a manner that student like me a full introvert loves to adapt to this course.
Was this review helpful? Yes 0
Richard Marwa profile image
Student rates this course 5/10 stars Taking Now
As an Bachelor of education mathematics and Information and Communication Technology with an interest in designing and teaching, I have always wanted to learn computer science and programming in my free time, to be competence database, networking and designing graphics.
Was this review helpful? Yes 0
Arthur Lorente profile image
Student rates this course 10/10 stars Taking Now
This course changed my life. Even though I never completed me, it showed me what it means to really engage with education and that I could only go as far as I dreamed of.
Was this review helpful? Yes 0
Megan Charles profile image
Student rates this course 7/10 stars Taking Now
The CS50 experience from a complete newbie. I’m adult female (over 30) with a science and data management background. While I have taken college courses online before (focus area in biomedical, biotech science), I am new to EdX, and have no prior programming experience. I originally signed up for the course because 1. I wanted to challenge myself/learn something new, 2. I was enticed by the opportunity to earn a certification for my efforts, and 3. this class was marketed towards beginner's as they note in their intro, the majority of those taking this class have never programmed a day in their lives. I was especially excited to learn how C works, along with the SQL portion of this course-set. Pros: While there is an end date, the course allows for self-paced learning. The information is presented in a very entertaining and helpful model. The instructors are extremely knowledgeable. The material is presented in both a more comfortable and less comfortable study set. You are provided with multiple sources of information: various videos, transcripts, slides, audio, etc. Users are encouraged to network with one another on social media. Allowing all the opportunity to learn from some of the most elite institutions via this platform is wonderful. Cons: Err rather noting my experience and concerns I will forewarn anyone interested, per the experience of a person who has never programmed a day in her life but who is otherwise digitally literate, that unless you have a moderate grasp of computers and aced every math-based word problem ever posed to you, you may struggle with this class. You are expected to start programming after the first week. Yes, this is a class about programming, so naturally you'd be expected to program. I made the mistake of assuming we'd be drilled the first few weeks on what we'd learned before being expected to build multiple projects. You know, crawl before we walk. I would have preferred a few weeks of material review while performing gradually increasing in difficulty practice sets similar to the project sets, and then been subjected to testing. Meaning, when they say you will be learning to problem solve, they mean it. This class isn't solely learning and then later being tested on what you know in the traditional sense of exams. Instead you are instantly thrown into having to program several project sets each week in order to demonstrate the work. Projects typically consist of creating one or more programs at a time for a grade. Overall, the first pset of projects essentially felt like I was taking a math class where they decided to show us how to create a few basic programs, then skipped a few steps, and jumped straight to the test. As for building the projects, while we are given the general tools, we are not provided with ever-increasing in complexity, step by step examples similar to that of the skill sets we’re being graded on. Like in math, some of us need a few step by step examples to further cement our understanding of what is being asked of us. Over time, we require this less. But in the beginning, you bet I want as many examples as possible to reference back to. Again, yes, we are given examples demonstrating the basic principles of code, form, and function, but not something as potentially-multifaceted as the graded assignment. CS50 does have videos giving helpful suggestions on what you may use, but at no point before building the project am I given detailed examples to learn from. Thus, for some, the start point for each project is the biggest hurdle, and there can be a lot of trial and error as a result. In reference to my first non-Scratch project experience, I reviewed all of the videos, walkthroughs, sections, shorts, and psets, took both assiduously detailed digital and manual notes, recreated all of the class examples (like the basics on conditions and functions) on the course's IDE, engaged fellow classmate on social media forums, and even bought the suggested programming for beginner's book. While my formatting and style are now excellent - as again I practiced recreating items performed in class as well as those from the book and elsewhere online, alongside taking them apart and determining what each line did - I still felt ill-equipped to build something completely from scratch. Again, some examples akin in complexity to the project sets would have made a world of difference. Yes, the walkthroughs suggest how to go about creating the projects, but no real comparative examples are presented and dissected. While I managed to labor through creating my assignments through trial and error, I spent quite a bit of time doing it (noting that the aforementioned study took me 20+ hours, which did not include my time building the assigned projects). Sure, this is a beginner talking, so take it for what you will. And I've noticed several fellow students out there who are especially adroit at grasping this material quickly. As such, they do offer a hacker's-level version of the skill sets. I digress, if material is missing or there are broken links within the study sets, you are told to let someone know via a group page on social media as EdX is not responsible for the missing content, as per the email I received when I tried to let someone know an entire portion of a week's lesson was MIA (generating a 404 error). I was then encouraged instead to look around online elsewhere and piecemeal the missing information. This is concerning to a newbie when you are not entirely sure if the content of the previous year’s match that of the current one, or is even available. For a true beginner who may have difficultly initially understanding the material, this is not a 12-week class. It is more like a 6 month class, which is good because they give you until the end of the year to complete it. To sum up, I will likely not pursue the certification at this point (e.g. will work on assignments but I won't concern myself with passing right now). I will instead continue to take the course in hopes of further improving my overall understanding, and perhaps in the future I will reattempt the certification. I wish my fellow students luck in successfully meeting and exceeding their goals.
Was this review helpful? Yes 3
Subrat Mainali profile image
Student rates this course 10/10 stars Completed
EXCELLENT! I LEARNED SOOOO MUCH IN THIS COURSE! PROFESSOR MALAN AND THE CS50 STAFF ARE AWESOME! TAKE THIS COURSE IF YOU ARE EVEN REMOTELY (OR SUPER DUPER) INTERESTED IN CS IN GENERAL.
Was this review helpful? Yes 0
Joel Payne profile image
Student rates this course 10/10 stars Completed
Took CompSci with Dave Malan a few years back Would *highly* *highly* *highly* recommend! Very patient and thorough professor that takes his time to go over key parts of the material.
Was this review helpful? Yes 0
Camila Sarantopoulos profile image
Student rates this course 10/10 stars Taking Now
Estou adorando o curso, muito fácil e simples. Parabéns por disponibilizarem um material fantástico tão acessível por alunos do mundo inteiro.
Was this review helpful? Yes 0
Carl Kaziboni profile image
Student rates this course 10/10 stars Taking Now
Very useful and easy to understand the instructors could explain well the course was very well placed out and in order and easy to follow
Was this review helpful? Yes 0
Vladimir Kazarin profile image
Student rates this course 10/10 stars Completed
This is the best computer science course on Edx! The course's content developed to fully engage students.
Was this review helpful? Yes 0
John Bergman profile image
Student rates this course 2/10 stars Taking Now
The steps in this course are way too big and the level is much too high to be a beginner level course. I wish the course team would make the psets easier to follow and more streamlined to the lectures.
Was this review helpful? Yes 2
Suzanne Dorffner profile image
Student rates this course 4/10 stars Taking Now
CS50 is flashy and has a good marketing team, but the content is very unstructured and not for beginners. The pace is way too fast and from the lectures to the Problem Sets, nothing makes any sense.
Was this review helpful? Yes 2
Ahmed Zaki profile image
Student rates this course 10/10 stars Taking Now
I had problems in understanding how to progress through the course till I saw the full courseware on the official website of the course. I really hope the course on edX includes the sections and seminars found in the official website of the course. Things are more organised there and everything makes sense then!
Was this review helpful? Yes 1

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.

Course Description

Instructors:  David J. Malan, Rob Bowden, Zamyla Chan, Doug Lloyd
School:  Harvard University

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.