CS50: Introduction to Computer Science | Harvard University

Harvard University

Explore the intellectual enterprises of computer science and the art of programming with Harvard's renowned CS50 course. Develop problem-solving skills, learn fundamental programming concepts, and apply your knowledge in a final project.

University CoursesCProgrammingPythonSQL

Introduction

CS50x is Harvard College'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.

screenshot

Highlights

  • Teaches problem-solving, computational thinking, and fundamental programming concepts
  • Covers a wide range of topics, including algorithms, data structures, and computer science more generally
  • Starts with the C programming language and transitions to higher-level languages like Python and SQL
  • Culminates in a final project where students can apply what they've learned

Recommendation

CS50 is an excellent course for both beginners and experienced programmers. It provides a solid foundation in computer science and programming, and is suitable for students from various academic backgrounds, including the arts, humanities, social sciences, and sciences. The course's emphasis on problem-solving and practical application makes it a valuable learning experience for anyone interested in understanding the intellectual enterprises of computer science.

How GetVM Works

Learn by Doing from Your Browser Sidebar

Access from Browser Sidebar

Access from Browser Sidebar

Simply install the browser extension and click to launch GetVM directly from your sidebar.

Select Your Playground

Select Your Playground

Choose your OS, IDE, or app from our playground library and launch it instantly.

Learn and Practice Side-by-Side

Learn and Practice Side-by-Side

Practice within the VM while following tutorials or videos side-by-side. Save your work with Pro for easy continuity.

Explore Similar Hands-on Tutorials

C++ Language Tutorial | Beginner to Advanced

38
Technical TutorialsC++Programming
Learn C++ programming from the ground up, including practical examples and the latest features. Ideal for beginners and experienced developers.

Automate the boring stuff with Python

17
Technical TutorialsAutomationPython
Learn how to use Python to automate tedious tasks like file renaming, spreadsheet updating, web scraping, and more. No prior programming experience required.

Learn Python Basics | Beginner-Friendly Programming Course

20
Technical TutorialsProgrammingPython
Dive into the world of programming with Python, a beginner-friendly language. Explore its readability, versatility, and robust community support.

Python Tutorial For Beginners | Programming, Coding

1
Video CoursesProgrammingPython
Learn Python fundamentals, installation, and setup for beginners. Explore the interactive prompt, create and run your first Python script. Ideal for new programmers.

MySQL Tutorial for Beginners | SQL Essentials for Databases

1
Video CoursesMySQLSQL
Learn SQL from scratch with this beginner-friendly MySQL tutorial. Covers database essentials and includes tons of exercises to help you master SQL syntax.

CS50 Labs | Computer Science Fundamentals | Harvard University

1
University CoursesComputer ScienceProgramming
Explore the intellectual enterprises of computer science and the art of programming with CS50 Labs, Harvard University's renowned introduction to computer science for beginners and experienced learners alike.

Matters Computational: Ideas, Algorithms, Source Code

9
Technical TutorialsAlgorithmProgramming
Comprehensive book covering computational algorithms, source code, and programming concepts. Recommended for programmers and computer scientists.

The Great Tree List Recursion Problem

9
Technical TutorialsAlgorithmCJava
Explore the intricacies of data structures, recursion, and programming with The Great Tree List Recursion Problem, a comprehensive guide to binary trees and circular doubly linked lists.

Compiler Design in C (1990)

1
Technical TutorialsCCompiler
Comprehensive guide to understanding and implementing compilers using the C programming language. Covers fundamental concepts, syntax analysis, code generation, and optimization.