In honour of the armies of Reddit and the faculty at Havard University, I have decided to document my time through the CS50 course. (Edit: It would have made obvious sense at this point to include a link to the course: https://online-learning.harvard.edu/course/cs50-introduction-computer-science?delta=0)
Firstly, I guess it makes sense if I provide a little bit of background on myself. I’m a 30-year-old Financial Services professional from Sydney, Australia. I graduated from a popular university and have spent the majority of my professional career working in financial services, from back office to middle office, to trading floors to private finance. I’ve enjoyed it for the most part, but I’m hamstrung by the fact that I love to create!
Growing up I used to build websites for fun (Good ol’ Dreamweaver & Flash), I played around in games that I could create unique experiences, I fumbled around with a few businesses and now I am entertaining the idea of running a podcast of sorts. To top it off, I’ve always wanted to learn how to code.
I’ve recently scoured Reddit to find the best “Bootcamp” like course to start, from The Odin Project, App Academy, Fullstack Open, freeCodeCamp, Team Treehouse, Udemy and more.. My problem is that I don’t know what I want to code, and as a result, I have no idea which course would serve me best! I’m not sure if I would prefer to code across the stack, focus on front end, utilize Python for data, or even try C/C++ for program development. As the Aussie in me would say, I haven’t got a bl**dy clue..
Enter CS50
The resounding answer across Reddit is that Harvard’s CS50 course is the best way to dip your feet into programming/computer sciences as a beginner. The course itself is a free online program that is broken down into 11 weeks (Week 0 through to Week 10). In each week, you are introduced to a new topic or language and then expected to complete a problem set to proceed.
The weeks are broken down as below:
- Week 0 Scratch
- Week 1 C
- Week 2 Arrays
- Week 3 Algorithms
- Week 4 Memory
- Week 5 Data Structures
- Week 6 Python
- Week 7 SQL
- Week 8 HTML, CSS, JavaScript
- Week 9 Flask
- Week 10 Ethics
The first week starts from the origins of computer science, such as what the binary system is (a series of 1’s and 0’s), what a bit is, what the ASCII and Unicode code systems are, as well as how many bits are in each letter. The lecture then goes on to discuss basic algorithms, pseudocode and eventually touch on Scratch where you work on your first problem set. So that leaves me where I am today — and all I can say is wow. David Malan the lecturer is energetic and impressive, the content is fascinating, and I can’t wait to plug my way through it all!
Feel free to follow my progress here, and also follow me on Twitter at https://twitter.com/DebugTom