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

Harvard University

CS50's Introduction to Computer Science

Harvard University via edX

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 [email protected] and/or report your experience through the edX contact form.

Taught by

David J. Malan

Reviews

4.6 rating, based on 190 Class Central reviews

Start your review of CS50's Introduction to Computer Science

  • Profile image for Buttercup Pansies
    Buttercup Pansies
    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…
  • Anonymous
    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 challengin…
  • Title: CS50's Introduction to Computer Science: A Remarkable Journey into the World of Computing CS50's Introduction to Computer Science is an exceptional online course that delivers a comprehensive and engaging experience for anyone interested in…
  • Paras Saunkiya
    CS50's Introduction to Computer Science is an outstanding course that stands out from the multitude of online programming courses available today. Developed by Harvard University, this course provides an exceptional introduction to the world of comp…
  • Erik Trautman
    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.
  • Mark Mahoney
    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.

  • Anonymous
    This course takes you through the proverbial weeds of computer science. We start from an bottom up approach, learning about how computers only understand binary, then how a layer of ASCII makes more intelligent; it's extension with UNICODE, how in m…
  • 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.
  • (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.
  • O curso de Ciência da Computação é uma excelente escolha para quem se interessa por tecnologia e inovação. Ele oferece uma base sólida em programação, algoritmos, estruturas de dados e teoria da computação, preparando os alunos para resolver problemas complexos. Além disso, o curso frequentemente abrange áreas como inteligência artificial, desenvolvimento web e segurança da informação, que estão em alta demanda no mercado de trabalho.
  • Michael Brown
    My first coding course. CS50 holds a special place in my heart. CS50 is hard. At least as a programming newbie, I thought it was hard. I screamed at the screen "How the hell am I meant to know that!" more than once. But real life programming is h…
  • Too much thing to learn . I am from a IT background so i liked the couse but even for the genereal knowledge people must learn this course. Thank you for free course.
  • Really insightful course love this type of content as i am going implement these things in my future projects
  • Good course also interesting I love how many information I can get in a free course ! so lovely and again thank you
  • AKHAND PRATAP SINGH
    This course takes you through the proverbial weeds of computer science. We start from an bottom up approach, learning about how computers only understand binary, then how a layer of ASCII makes more intelligent; it's extension with UNICODE, how in m…
  • KARNAM ROOPESH
    CS50's Introduction to Computer Science isn't just an online course; it's a transformative experience that takes learners on an exhilarating journey through the captivating realm of computer science. From the very first lecture, it's evident that th…
  • Profile image for Olti
    Olti
    Taking CS50 has been an eye-opening experience for me. This course brilliantly blends theory and practical skills, covering essential topics like algorithms, web development, and programming languages such as C and Python. Professor David Malan’s engaging teaching style made complex concepts easy to grasp and kept me motivated throughout.

    The hands-on problem sets challenged me to think critically and creatively, while the supportive community of fellow learners enhanced my experience. The course is accessible for free on edX, allowing anyone to dive into computer science at their own pace. Overall, CS50 is an invaluable resource for beginners and anyone looking to strengthen their programming skills!
  • Anonymous
    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.
  • Anonymous
    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.
  • Profile image for Local Expert
    Local Expert
    BestBestBestBestBestBestBestBestBestBestBestBestBestBestBestBestBestBestBestBestBestBestBestBestBestBestBestBestBestBestBestBestBestBestBestBestBestBestBestBestBestBestBestBestBestBestBestBestBestBestBestBestBestBestBestBestBestBestBestBestBestBestB…

Never Stop Learning.

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

Someone learning on their laptop while sitting on the floor.