An arrow facing updwards.

Handpicked List to Learn Programming from Scratch

1. Introduction to Computer Science (CS50x) - Harvard University

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 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 most comprehensive course.

Students who earn a satisfactory score on nine problem sets (i.e., programming assignments) and a final project are eligible for a certificate. It is a self-paced course–you may take CS50x on your schedule.

2. Introduction to Computer Science and Programming Using Python - MIT

This course is the first of a two-course sequence: Introduction to Computer Science and Programming Using Python and Introduction to Computational Thinking and Data Science. Together, they are designed to help people with no prior exposure to computer science or programming learn to think computationally and write programs to tackle practical problems. Some of the people taking the two courses will use them as a stepping stone to more advanced computer science courses, but it will be their first and last computer science courses for many. This run features lecture videos, lecture exercises, and a problem set using Python 3.5. Even if you previously took the course with Python 2.7, you will easily transition to Python 3.5 in future courses or enroll now to refresh your learning.

3. HTML, CSS, and JavaScript for Web Developer

In this course, we will learn the essential tools that every web page coder needs to know. We will start from the ground up by learning how to implement modern web pages with HTML and CSS. We will then advance to learning how to code our pages such that their components rearrange and resize themselves automatically based on the size of the user's screen. You'll be able to code up a web page that will be just as useful on a mobile phone as on a desktop computer. No "pinch and zoom" required! Last but certainly not least, we will get a thorough introduction to the most ubiquitous, popular, and precise language of the web: JavaScript. Using JavaScript, you will build a fully functional web application that utilizes Ajax to expose server-side functionality and data to the end-user.

4. FrontEnd Masters - Four Semesters of Computer Science in 5 Hours

In this course, some big topics are discussed here in just five hours: Algorithms and Big O Analysis, Recursion, Sorting, Data Structures, AVL Trees, Binary Search Trees, Tree Traversals, and Path Finding. This is a paid course but worthy one.

5. Introduction to Computer Science using Java

This is a course in Java programming for beginners. It covers the fundamentals of programming, roughly the same material covered in a beginning programming course in a university or a high school AP Computer Science course.

Why just read, when you can work on it as well?
Join our team and lets build amazing products together.
We're hiring developers, designers and more.
Apply Now
Download this checklist
Download this checklist