EdX

CS50's Introduction to Computer Science (edX)

CS50's Introduction to Computer Science (edX)

An introduction to the intellectual enterprises of computer science and the art of programming. This is CS50, 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, CS50 teaches students how to think algorithmically and solve problems efficiently.

Class Deals by MOOC List - Click here and see EdX's Active Discounts, Deals, and Promo Codes.

Topics include abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development. Languages include C, PHP, and JavaScript plus SQL, CSS, and HTML. Problem sets inspired by real-world domains of biology, cryptography, finance, forensics, and gaming. As of Fall 2014, the on-campus version of CS50 was Harvard's largest course.
Students who earn a satisfactory score on 9 problem sets (i.e., programming assignments) and a final project will receive a certificate from HarvardX. This is a self-paced course–you may take CS50 on your own schedule.

This course is part of the following programs:
-Computer Science for Game Development Professional Certificate
-Computer Science and Mobile Apps Professional Certificate
-Computer Science for Web Programming Professional Certificate
-Computer Science for Artificial Intelligence Professional Certificate
-CS50's AP® Computer Science Principles XSeries

What you'll learn

  • A broad and robust understanding of computer science and programming
  • How to think algorithmically and solve programming problems efficiently
  • Concepts like abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development
  • Familiarity in a number of languages, including C, Python, SQL, and JavaScript plus CSS and HTML
  • How to engage with a vibrant community of like-minded learners from all levels of experience
  • How to develop and present a final programming project to your peers
Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Introduction to Java Programming: Starting to code in Java (edX) EdX
Universidad Carlos III de Madrid - UC3M,UC3Mx

Introduction to Java Programming: Starting to code in Java (edX)

Learn to program with Java in an easy and interactive way! In this introductory Java programming course, you will be introduced to powerful concepts such as functional abstraction, the object oriented programming (OOP) paradigm and Application Programming Interfaces (APIs). Examples and case studies will be provided so that you can implement simple programs on your own or collaborate with peers.

Self Paced
Self-Paced
Data Structures and Algorithm Design Part II | 数据结构与算法设计(下) (edX) EdX
Tsinghua University,TsinghuaX

Data Structures and Algorithm Design Part II | 数据结构与算法设计(下) (edX)

Learn the basics of data structures and methods to design algorithms and analyze their performance. 本课程旨在围绕各类数据结构的设计与实现,揭示其中的规律原理与方法技巧;同时针对算法设计及其性能分析,使学生了解并掌握主要的套路与手段。

Self Paced
Self-Paced
Aplicaciones de la Teoría de Grafos a la vida real II (edX) EdX
Universitat Politècnica de València,UPValenciaX

Aplicaciones de la Teoría de Grafos a la vida real II (edX)

Aprenderemos a modelizar problemas del mundo real mediante su representación con grafos y a resolverlos mediante sus algoritmos asociados. Este curso trata la Teoría de Grafos desde el punto de vista de la modelización, lo que nos permitirá con posterioridad resolver muchos problemas de diversa índole. Presentaremos ejemplos de los distintos problemas en un contexto real, analizaremos la representación de éstos mediante grafos y veremos los algoritmos necesarios para resolverlos.

Self Paced
Self-Paced
Introduction to Cloud Computing (edX) EdX
IBM

Introduction to Cloud Computing (edX)

Master the core concepts in Cloud Computing, from service and deployment models, to cloud architecture, security, new technologies, and possible careers. This course introduces you to the core concepts of cloud computing. You will gain the foundational knowledge required for understanding cloud computing from both business and practitioner perspectives.

Self Paced
Self-Paced
Probability and Statistics in Data Science using Python (edX) EdX
University of California, San Diego,UC San DiegoX

Probability and Statistics in Data Science using Python (edX)

Using Python, learn statistical and probabilistic approaches to understand and gain insights from data. The job of a data scientist is to glean knowledge from complex and noisy datasets. Reasoning about uncertainty is inherent in the analysis of noisy data. Probability and Statistics provide the mathematical foundation for such reasoning.

Self Paced
Self-Paced
HTML5 Coding Essentials and Best Practices (edX) EdX
World Wide Web Consortium - W3C,W3Cx

HTML5 Coding Essentials and Best Practices (edX)

Learn how to write Web pages and Web sites by mastering HTML5 coding techniques and best practices. HTML5 is the standard language of the Web, developed by W3C. For application developers and industry, HTML5 represents a set of features that people will be able to rely on for years to come. HTML5 is supported on a wide variety of devices, lowering the cost of creating rich applications to reach users everywhere.

Self Paced
Self-Paced
Data Structures and Algorithm Design Part I | 数据结构与算法设计(上) (edX) EdX
Tsinghua University,TsinghuaX

Data Structures and Algorithm Design Part I | 数据结构与算法设计(上) (edX)

Learn the basics of data structures and methods to design algorithms and analyze their performance. 本课程旨在围绕各类数据结构的设计与实现,揭示其中的规律原理与方法技巧;同时针对算法设计及其性能分析,使学生了解并掌握主要的套路与手段。

Self Paced
Self-Paced
Terrorism and Counterterrorism (edX) EdX
Georgetown University,GeorgetownX

Terrorism and Counterterrorism (edX)

What is the danger of terrorism, and how can the world respond effectively? Terrorism has gone from a persistent yet marginal security concern to one of the most important security problems of our day. There are few countries that do not suffer from some form of terrorism. Though many attempts at terrorism fail, some groups wage lengthy and bloody campaigns and, in exceptional cases, kill hundreds or even thousands in pursuit of their ends.

Self Paced
Self-Paced
UML Class Diagrams for Software Engineering (edX) EdX
KU Leuven University,KULeuvenX

UML Class Diagrams for Software Engineering (edX)

Learn how unified modeling language (UML) class diagrams are created and used to visualize and conceptualize the design of a system. Have you ever wondered how software architects, requirements engineers and business analysts sketch and draw out their plans for a software system? In this computer science course, you will gain an in-depth understanding of Unified Modeling Language (UML) class diagrams, which are used to visually represent the conceptual design of a system.

Self Paced
Self-Paced
Introduction to Linux (edX) EdX
Linux Foundation,LinuxFoundationX

Introduction to Linux (edX)

Never learned Linux? Want a refresh? Develop a good working knowledge of Linux using both the graphical interface and command line across the major Linux distribution families. Develop a good working knowledge of Linux using both the graphical interface and command line, covering the major Linux distribution families.

Self Paced
Self-Paced