Are new programmer actually learning the wrong way??
Based on my observation, among many new programmers were too excited by start learning high-level languages (Python, Ruby, PHP, etc..) straight without having a clear understanding of how computer fundamentally works. While there are countless great courses out there such as Codecademy & Teamtreehouse provide great practical skills such as how variable, loop, functions works.
However, even after you finished the course that you took in high-level languages, how a computer fundamentally works may still be a magical things for you. In this article, I highly suggest that every programmer who just started put down whatever project you are currently working on and start go through Harvard CS50!
So what's on Harvard CS50?
Harvard CS50 ( 2017 ) is a 12-weeks course that will guide you through from how Binary such as zero & one works, and move up to low-level language as in C programming that covers basics of *Function, Variable, Loop and how it store the data into RAM. Lastly it covers High-level language such as Python, JavaScript, SQL. In addition, this course also teaches the types of Algorithms, how Data Structure & HTTP Protocol works, and what is Dynamics Programming.
Complete Playlist: Harvard CS50
Here's the complete 12-weeks list sections that covers:
Lecture 0: Stratch
Lecture 1 - 2: C
Lecture 3: Algorithm
Lecture 4: Memory
Lecture 5: Data Structure
Lecture 6: HTTP
Lecture 7: Dynamic Programming
Lecture 8 - 9: Python
Lecture 10: SQL
Lecture 11: JavaScript
Lecture 12: The End