Computer Science Curriculum
Key Takeaways
The video covers a 5-month accelerated Computer Science curriculum, focusing on Python programming, data structures, algorithms, and data science, with tools such as Code Academy, EDX, MIT, and Python libraries like pandas and numpy.
Full Transcript
hello world it's Suraj and are you ready to learn computer science in five months crazy right I know welcome to my world traditional universities tend to offer ACS major that gives students a path to go from no programming experience to having a broad understanding of the many disciplines at the field of computer science encompasses in this video I'm gonna give you my condensed version of a computer science major one that will take you five months to finish this is the kind of study plan I create for myself if I wanted to not only learn how to code but to have a basic understanding of the most important areas of computer science all the resources I'm going to list here are free and available on the internet and if you want to stay up to date with my educational content don't forget to hit the subscribe button before we start remember you should speed up the time it takes to complete the courses I list by speeding up videos dedicating two to three hours a day to this doing only one project per course at the end of the week and handwriting notes as you go for memory retention oh and remember to follow some notable computer scientists while you learn that all lists here so you can stay up to date in this field we're going to start our journey by learning the Python programming language Python is an interpreted object-oriented high-level programming language with dynamic semantics WTF right I know lots of jargon to take in let's start with a learning resource that requires no knowledge of CS jargon there's a great free book online called automate the boring stuff with Python it's a practical guide to programming for total beginners it shows you how to do some basic tasks like sending reminder emails moving files and formatting data using the Python language spend the first week reading this book it's 18 chapters long so if you split it up into three or four chapters a day you'll finish it by the end of the week this book has a bunch of exercises in it that you can execute from terminal on whatever kind of operating system you're using if you need help installing Python on your machine definitely check out Python org for details on how to do that in the second week of learning Python I'd recommend taking the code Academy course on Python it's got this really fun interactive console in your web browser so you can get instant feedback on your code and whether it compiles correctly it's gotten really popular with beginners over the years and they've got a bunch of other cool courses you can check out later two weeks in total should be a good amount of time to get the basics of Python down yes the applications you'll be building in these first two weeks aren't world-changing but understanding the syntax of the language the keywords how often they're used and why they're used are crucial to help you get to the next step building and understanding data structures I remember when I was a computer science freshman at Columbia one of the mantras that everyone would tell me was that data structures and algorithms are the most important subjects you'll ever take for your major and at the time it seemed ludicrous how could that be more important than say learning something much more exciting like robotics or computer vision well it turns out they were right being able to build cool things for the endless applications of computer science requires you to understand how to properly store data and manipulate it to accomplish your task EDX has a great course on data structures taught by UC San Diego that will show you how all the various data structures from binary trees to linked lists work with implementations in Python after that you want to move into algorithms perhaps the best course for this that uses Python as its base language is the intro to algorithms course by MIT you can find all the lectures associated notes and problem sets in one place on their website you'll notice when it comes to data structures and algorithms that once you start building and understanding a couple of them everything starts to make sense you start to understand the trade-offs you'll have to make when it comes to data and storing it properly and when you start thinking of applications you'll be able to tell what types of data structures and algorithms you'll need to accomplish the task on to the next one whether you're building a web app or a mobile app or even just working with data in general it's important to understand how databases work sequel is the most popular standard language for databases and Coursera has this course called databases with Python that will help you understand that easily you can go ahead and skip the first week of this course since you've already covered the learning Python bit and head straight into the rest of it for the next week we'll take a short break from Python to focus on networking before you start building apps that use the Internet you've got to understand how this internet this nervous system for Humanity that actually allows us to communicate instantly and globally works Coursera has got a course that was created by Google cleverly called the bits and bytes of computer networking you'll learn how the Internet Protocol suite works and finally understand what happens under the hood when you type a website into the URL bar and hit enter after you've done this you're ready to dive into the world of web and mobile programming I'm a big fan of the computer science professor David Malan at Harvard he's got a really charming enthusiasm about him that keeps you engaged the best course for this is Harvard's cs50 web programming with Python and JavaScript yes we've only covered Python so far but it's necessary to understand JavaScript the language of the web as well you can find the videos in a simple YouTube playlist and he'll show you how you can combine some of the most important technologies of web programming together to create elegant web apps that anybody can access from a web browser spend the next week building a single web app that really excites you but it's also doable in a single week don't get too ambitious else you won't be able to finish it and you'll get discouraged there are some great examples on github that can serve as operation and it'll give you practice using Stack Overflow one of the most important tools for programmers for quick and easy explanations for how and why to use certain programming techniques when it comes to mobile development you've got two options iOS and Android spend the first week building an iOS app and the second week building an Android app that way you can see the difference between both and realize which type of programming environment you prefer and build the same app in both environments to really see where the differences are build something really simple it'll be a challenge to even get a simple app set up because you first got to install the dependencies and learn how the respective IDE s work like Xcode and Android studio now that we've got the fundamental stuff out of the way let's move on to the funner stuff data science is the art of making discoveries from data usually this is done using statistical analysis and machine learning methods EDX has a course called Python for data size taught by UCSD that would be a great way to jump into this field it's especially long so spread this one out to two weeks it'll help put your Python knowledge to immediate use and you'll get familiar with popular Python libraries for data science like pandas and numpy after this you'll have just a bit of knowledge of machine learning which contains so many different disciplines in and of itself it'll take you a while to really learn all of it but a great way to dive into this field is to pick applied fields of ml like natural language processing and computer vision and study those dedicate a single week to each course arrows got a great course on NLP and Udacity has a course on computer vision taught by Georgia Tech one thing to remember is that it's not just enough to know how to program you need to know how to program in a team that's why you should dedicate the next week to learning the software development process Coursera has a course called software development processes and methodologies that covers all the different team techniques for working on code with other people if you want to work at a company be it Google or the smallest startup it's essential to know this stuff for the last week of this curriculum you should get a broad overview of the cryptocurrency blockchain space because it's so hot right now not because it's the most advanced topic to tackle but because it's a very current topic and a hot one at that i've got a great cryptocurrency playlist for you on youtube that you should check out I hope my curriculum is helpful to you you'll find all the links necessary down below please subscribe for more programming videos and for now I've got to learn how to learn so thanks for watching
Original Description
Are you too busy to dedicate 4 years of your life to a traditional Computer Science Major? I've created a 5 month accelerated Computer Science curriculum to help you get a broad overview of the field, covering the most important topics in sequential order using the free resources of the Internet. I've listed learning tips, Computer Scientists to follow, and a path in this video. I hope you find it useful, this is the kind of learning path I'd design for myself but I'm open sourcing it. Enjoy!
Curriculum for this video:
https://github.com/llSourcell/Learn_Computer_Science_in_5_Months
Please Subscribe! And like. And comment. That's what keeps me going.
Want more education? Connect with me here:
Twitter: https://twitter.com/sirajraval
Facebook: https://www.facebook.com/sirajology
instagram: https://www.instagram.com/sirajraval
People to follow on Twitter:
Jeff Dean
Paul Allen
Tim Berners-Lee
Linus Torvalds
Brendan Eich
John Carmack
Curriculum:
Week 1-2 (Learn Python)
- https://automatetheboringstuff.com/
- https://www.codecademy.com/learn/learn-python
Week 3-4 (Data Structures)
- https://www.edx.org/course/data-structures-fundamentals-uc-san-diegox-algs201x
Week 5-6 (Algorithms)
- https://courses.csail.mit.edu/6.006/fall11/notes.shtml
Week 7 (Databases)
- https://www.coursera.org/learn/python-databases
Week 8 (Networking)
- https://www.coursera.org/learn/computer-networking
Week 9-10 (Web Development)
- https://www.youtube.com/watch?v=1u2qu-EmIRc&list=PLhQjrBD2T382hIW-IsOVuXP1uMzEvmcE5
- https://github.com/melanierichards/just-build-websites
Week 11-12 (Mobile Development)
- https://developer.apple.com/library/content/referencelibrary/GettingStarted/DevelopiOSAppsSwift/
- https://developer.android.com/training/basics/firstapp/index.html
Week 13-14 (Data Science)
- https://www.edx.org/course/python-for-data-science
Week 15-16 (Computer Vision)
- https://www.coursera.org/learn/python-text-mining
Week 17-18 (Natural Language Processing)
- https:
Watch on YouTube ↗
(saves to browser)
Sign in to unlock AI tutor explanation · ⚡30
Playlist
Uploads from Siraj Raval · Siraj Raval · 0 of 60
← Previous
Next →
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
What is Bitcoin?
Siraj Raval
5 Ways to Use Bitcoin
Siraj Raval
BTC Fever - Siraj [Music Video]
Siraj Raval
5 Reasons to Build Decentralized Apps
Siraj Raval
The Interplanetary File System
Siraj Raval
How to Build a Dapp in 3 min
Siraj Raval
Life Before Smartphones
Siraj Raval
4 Ways to Use Smart Contracts
Siraj Raval
3 Dapps You HAVE to See
Siraj Raval
Char's Life as a BitTorrent Engineer
Siraj Raval
4 Reasons AlphaGo is a Huge Deal
Siraj Raval
Build a Neural Net in 4 Minutes
Siraj Raval
Sentiment Analysis in 4 Minutes
Siraj Raval
The Hackathon Life
Siraj Raval
Your First ML App - Machine Learning for Hackers #1
Siraj Raval
Build an AI Composer - Machine Learning for Hackers #2
Siraj Raval
Build a Game AI - Machine Learning for Hackers #3
Siraj Raval
Build a Movie Recommender - Machine Learning for Hackers #4
Siraj Raval
Build an AI Artist - Machine Learning for Hackers #5
Siraj Raval
Build a Chatbot - ML for Hackers #6
Siraj Raval
Build an AI Reader - Machine Learning for Hackers #7
Siraj Raval
Build an AI Writer - Machine Learning for Hackers #8
Siraj Raval
Build a Chatbot w/ an API - ML for Hackers #9
Siraj Raval
One-Shot Learning - Fresh Machine Learning #1
Siraj Raval
Generative Adversarial Nets - Fresh Machine Learning #2
Siraj Raval
Tone Analysis - Fresh Machine Learning #3
Siraj Raval
Generate Rap Lyrics - Fresh Machine Learning #4
Siraj Raval
Build an Autoencoder in 5 Min - Fresh Machine Learning #5
Siraj Raval
Build a Self Driving Car in 5 Min - Fresh Machine Learning #6
Siraj Raval
Build an Antivirus in 5 Min - Fresh Machine Learning #7
Siraj Raval
TensorFlow in 5 Minutes (tutorial)
Siraj Raval
Build a Recurrent Neural Net in 5 Min
Siraj Raval
Build a Simulation in 5 Min
Siraj Raval
Build a TensorFlow Image Classifier in 5 Min
Siraj Raval
Tensorboard Explained in 5 Min
Siraj Raval
Generate Music in TensorFlow
Siraj Raval
Build a Game Bot (LIVE)
Siraj Raval
Deep Learning Frameworks Compared
Siraj Raval
Introduction - Learn Python for Data Science #1
Siraj Raval
Build a Neural Network (LIVE)
Siraj Raval
Twitter Sentiment Analysis - Learn Python for Data Science #2
Siraj Raval
Recommendation Systems - Learn Python for Data Science #3
Siraj Raval
Predicting Stock Prices - Learn Python for Data Science #4
Siraj Raval
Pong Neural Network (LIVE)
Siraj Raval
Deep Dream in TensorFlow - Learn Python for Data Science #5
Siraj Raval
Visualizing Data with D3.js (LIVE)
Siraj Raval
Genetic Algorithms - Learn Python for Data Science #6
Siraj Raval
Enter Siraj [Music Video]
Siraj Raval
Build a Web Scraper (LIVE)
Siraj Raval
Why is P vs NP Important?
Siraj Raval
How to Make a Neural Network (LIVE)
Siraj Raval
How to Make an Amazing Tensorflow Chatbot Easily
Siraj Raval
How to Make an Amazing Video Game Bot Easily
Siraj Raval
How to Make a Tensorflow Neural Network (LIVE)
Siraj Raval
How to Make a Simple Tensorflow Speech Recognizer
Siraj Raval
Joel Shor - Really Quick Questions with an Awesome Google Engineer
Siraj Raval
How to Make a Path Planning Algorithm Easily (LIVE)
Siraj Raval
The Best Way to Prepare a Dataset Easily
Siraj Raval
Catherine Olsson - Really Quick Questions with an OpenAI Engineer
Siraj Raval
How to Make a Tic Tac Toe Neural Network Easily (LIVE)
Siraj Raval
More on: LLM Foundations
View skill →Related AI Lessons
⚡
⚡
⚡
⚡
Bloom Filters, Explained Properly
Dev.to · Daksh Gargas
Prefix Sums: The Preprocessing Trick That Makes Range Queries Instant
Medium · Programming
I Thought I Was Ready for the Interview — Then One Simple Math Question Destroyed Me
Medium · Programming
Week 2(Day 10): LeetCode Two Pointers(slow & fast): Remove Duplicates from Sorted Array (Brute…
Medium · Python
🎓
Tutor Explanation
DeepCamp AI