Handpicked List to Learn Programming from Scratch
Tags: computerscience, programming, coding, raftlabs
Published: 2022-02-25 07:13:08

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qps18xylx44k28407i0m.png)
#### [1\. Introduction to Computer Science (CS50x) --- Harvard University](https://www.edx.org/course/introduction-computer-science-harvardx-cs50x?source=aw&awc=6798_1629893921_048ef3715b5c1418b192464a9b6f73bf&utm_source=aw&utm_medium=affiliate_partner&utm_content=text-link&utm_term=428263_Hackr.io)

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.

[More info](https://www.edx.org/course/introduction-computer-science-harvardx-cs50x?source=aw&awc=6798_1629893921_048ef3715b5c1418b192464a9b6f73bf&utm_source=aw&utm_medium=affiliate_partner&utm_content=text-link&utm_term=428263_Hackr.io)

#### ‍[2\. Introduction to Computer Science and Programming Using Python --- MIT](https://www.edx.org/course/introduction-to-computer-science-and-programming-7?source=aw&awc=6798_1629893923_92218d9c3253599bec851272082a9a22&utm_source=aw&utm_medium=affiliate_partner&utm_content=text-link&utm_term=428263_Hackr.io)

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.*

[More info](https://www.edx.org/course/introduction-to-computer-science-and-programming-7?source=aw&awc=6798_1629893923_92218d9c3253599bec851272082a9a22&utm_source=aw&utm_medium=affiliate_partner&utm_content=text-link&utm_term=428263_Hackr.io)

#### [3\. HTML, CSS, and JavaScript for Web Developer](https://www.coursera.org/learn/html-css-javascript-for-web-developers?ranMID=40328&ranEAID=jU79Zysihs4&ranSiteID=jU79Zysihs4-wbxhmkbeNlpR.2K6u5yD.w&siteID=jU79Zysihs4-wbxhmkbeNlpR.2K6u5yD.w&utm_content=10&utm_medium=partners&utm_source=linkshare&utm_campaign=jU79Zysihs4)

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.

[More info](https://www.coursera.org/learn/html-css-javascript-for-web-developers?ranMID=40328&ranEAID=jU79Zysihs4&ranSiteID=jU79Zysihs4-wbxhmkbeNlpR.2K6u5yD.w&siteID=jU79Zysihs4-wbxhmkbeNlpR.2K6u5yD.w&utm_content=10&utm_medium=partners&utm_source=linkshare&utm_campaign=jU79Zysihs4)

#### [**4\. FrontEnd Masters --- Four Semesters of Computer Science in 5 Hours**](https://frontendmasters.com/courses/computer-science-v2/)

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.

[More info](https://frontendmasters.com/courses/computer-science-v2/)

#### [5\. Introduction to Computer Science using Java](https://chortle.ccsu.edu/java5/index.html)

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.

[More info](https://chortle.ccsu.edu/java5/index.html)

‍

*Originally posted at* [*raftlabs.co*](https://raftlabs.co/development/top-free-resources-to-learn-intro-to-programming?utm_source=devto&utm_campaign=crosspost)