Hello, World

About CS50x

Introduction to the intellectual enterprises of computer science and the art of programming. This course teaches students how to think algorithmically and solve problems efficiently. Topics include abstraction, algorithms, data structures, encapsulation, resource management, security, and software engineering. Languages include C, Python, and SQL plus students’ choice of: HTML, CSS, and JavaScript (for web development); Java or Swift (for mobile app development); or Lua (for game development). Problem sets inspired by the arts, humanities, social sciences, and sciences. Course culminates in a final project. Designed for concentrators and non-concentrators alike, with or without prior programming experience. Two thirds of CS50 students have never taken CS before. Among the overarching goals of this course are to inspire students to explore unfamiliar waters, without fear of failure, create an intensive, shared experience, accessible to all students, and build community among students.

You are welcome to take CS50 at your own pace, starting whenever you’d like. So no worries if this is your first time here!

Much awaits you, so here’s how to begin:

  • First review the Syllabus then dive into Week 0. In particular,
    • watch Week 0’s lecture,
    • submit Problem Set 0, and then
    • rinse, wash, and repeat with Week 1 through Week 8, watching each lecture and submitting each problem set along the way!
  • After Week 8, choose your Track (Games, Mobile (Android or iOS), or Web).
  • After submitting any problem set, check your score via your CS50x gradebook.
  • Be sure to submit the Final Project anytime before 31 December 2020.
  • If you have any questions, start a discussion with classmates!