Write a Review: Introduction to Computer Science

Tell us about your experience

 
 

Click stars to rate

150 characters minimum

Tell us about yourself

Progress in the course

Prior knowledge of the subject

First Name

Last Name

See what other students say

ezix profile image
ezix profile image
10/10 starsCompleted
  • 1 review
  • 1 completed
8 years, 4 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 ... 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 years, 6 months 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... 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