Computer Science Curriculum

Siraj Raval · Beginner ·⚡ Algorithms & Data Structures ·8y ago

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 What is Bitcoin?
What is Bitcoin?
Siraj Raval
2 5 Ways to Use Bitcoin
5 Ways to Use Bitcoin
Siraj Raval
3 BTC Fever - Siraj [Music Video]
BTC Fever - Siraj [Music Video]
Siraj Raval
4 5 Reasons to Build Decentralized Apps
5 Reasons to Build Decentralized Apps
Siraj Raval
5 The Interplanetary File System
The Interplanetary File System
Siraj Raval
6 How to Build a Dapp in 3 min
How to Build a Dapp in 3 min
Siraj Raval
7 Life Before Smartphones
Life Before Smartphones
Siraj Raval
8 4 Ways to Use Smart Contracts
4 Ways to Use Smart Contracts
Siraj Raval
9 3 Dapps You HAVE to See
3 Dapps You HAVE to See
Siraj Raval
10 Char's Life as a BitTorrent Engineer
Char's Life as a BitTorrent Engineer
Siraj Raval
11 4 Reasons AlphaGo is a Huge Deal
4 Reasons AlphaGo is a Huge Deal
Siraj Raval
12 Build a Neural Net in 4 Minutes
Build a Neural Net in 4 Minutes
Siraj Raval
13 Sentiment Analysis in 4 Minutes
Sentiment Analysis in 4 Minutes
Siraj Raval
14 The Hackathon Life
The Hackathon Life
Siraj Raval
15 Your First ML App - Machine Learning for Hackers #1
Your First ML App - Machine Learning for Hackers #1
Siraj Raval
16 Build an AI Composer - Machine Learning for Hackers #2
Build an AI Composer - Machine Learning for Hackers #2
Siraj Raval
17 Build a Game AI - Machine Learning for Hackers #3
Build a Game AI - Machine Learning for Hackers #3
Siraj Raval
18 Build a Movie Recommender - Machine Learning for Hackers #4
Build a Movie Recommender - Machine Learning for Hackers #4
Siraj Raval
19 Build an AI Artist - Machine Learning for Hackers #5
Build an AI Artist - Machine Learning for Hackers #5
Siraj Raval
20 Build a Chatbot - ML for Hackers #6
Build a Chatbot - ML for Hackers #6
Siraj Raval
21 Build an AI Reader - Machine Learning for Hackers #7
Build an AI Reader - Machine Learning for Hackers #7
Siraj Raval
22 Build an AI Writer - Machine Learning for Hackers #8
Build an AI Writer - Machine Learning for Hackers #8
Siraj Raval
23 Build a Chatbot w/ an API - ML for Hackers #9
Build a Chatbot w/ an API - ML for Hackers #9
Siraj Raval
24 One-Shot Learning - Fresh Machine Learning #1
One-Shot Learning - Fresh Machine Learning #1
Siraj Raval
25 Generative Adversarial Nets - Fresh Machine Learning #2
Generative Adversarial Nets - Fresh Machine Learning #2
Siraj Raval
26 Tone Analysis - Fresh Machine Learning #3
Tone Analysis - Fresh Machine Learning #3
Siraj Raval
27 Generate Rap Lyrics - Fresh Machine Learning #4
Generate Rap Lyrics - Fresh Machine Learning #4
Siraj Raval
28 Build an Autoencoder in 5 Min - Fresh Machine Learning #5
Build an Autoencoder in 5 Min - Fresh Machine Learning #5
Siraj Raval
29 Build a Self Driving Car in 5 Min - Fresh Machine Learning #6
Build a Self Driving Car in 5 Min - Fresh Machine Learning #6
Siraj Raval
30 Build an Antivirus in 5 Min - Fresh Machine Learning #7
Build an Antivirus in 5 Min - Fresh Machine Learning #7
Siraj Raval
31 TensorFlow in 5 Minutes (tutorial)
TensorFlow in 5 Minutes (tutorial)
Siraj Raval
32 Build a Recurrent Neural Net in 5 Min
Build a Recurrent Neural Net in 5 Min
Siraj Raval
33 Build a Simulation in 5 Min
Build a Simulation in 5 Min
Siraj Raval
34 Build a TensorFlow Image Classifier in 5 Min
Build a TensorFlow Image Classifier in 5 Min
Siraj Raval
35 Tensorboard Explained in 5 Min
Tensorboard Explained in 5 Min
Siraj Raval
36 Generate Music in TensorFlow
Generate Music in TensorFlow
Siraj Raval
37 Build a Game Bot (LIVE)
Build a Game Bot (LIVE)
Siraj Raval
38 Deep Learning Frameworks Compared
Deep Learning Frameworks Compared
Siraj Raval
39 Introduction - Learn Python for Data Science #1
Introduction - Learn Python for Data Science #1
Siraj Raval
40 Build a Neural Network (LIVE)
Build a Neural Network (LIVE)
Siraj Raval
41 Twitter Sentiment Analysis - Learn Python for Data Science #2
Twitter Sentiment Analysis - Learn Python for Data Science #2
Siraj Raval
42 Recommendation Systems - Learn Python for Data Science #3
Recommendation Systems - Learn Python for Data Science #3
Siraj Raval
43 Predicting Stock Prices - Learn Python for Data Science #4
Predicting Stock Prices - Learn Python for Data Science #4
Siraj Raval
44 Pong Neural Network (LIVE)
Pong Neural Network (LIVE)
Siraj Raval
45 Deep Dream in TensorFlow - Learn Python for Data Science #5
Deep Dream in TensorFlow - Learn Python for Data Science #5
Siraj Raval
46 Visualizing Data with D3.js (LIVE)
Visualizing Data with D3.js (LIVE)
Siraj Raval
47 Genetic Algorithms - Learn Python for Data Science #6
Genetic Algorithms - Learn Python for Data Science #6
Siraj Raval
48 Enter Siraj [Music Video]
Enter Siraj [Music Video]
Siraj Raval
49 Build a Web Scraper (LIVE)
Build a Web Scraper (LIVE)
Siraj Raval
50 Why is P vs NP Important?
Why is P vs NP Important?
Siraj Raval
51 How to Make a Neural Network (LIVE)
How to Make a Neural Network (LIVE)
Siraj Raval
52 How to Make an Amazing Tensorflow Chatbot Easily
How to Make an Amazing Tensorflow Chatbot Easily
Siraj Raval
53 How to Make an Amazing Video Game Bot Easily
How to Make an Amazing Video Game Bot Easily
Siraj Raval
54 How to Make a Tensorflow Neural Network (LIVE)
How to Make a Tensorflow Neural Network (LIVE)
Siraj Raval
55 How to Make a Simple Tensorflow Speech Recognizer
How to Make a Simple Tensorflow Speech Recognizer
Siraj Raval
56 Joel Shor - Really Quick Questions with an Awesome Google Engineer
Joel Shor - Really Quick Questions with an Awesome Google Engineer
Siraj Raval
57 How to Make a Path Planning Algorithm Easily (LIVE)
How to Make a Path Planning Algorithm Easily (LIVE)
Siraj Raval
58 The Best Way to Prepare a Dataset Easily
The Best Way to Prepare a Dataset Easily
Siraj Raval
59 Catherine Olsson - Really Quick Questions with an OpenAI Engineer
Catherine Olsson - Really Quick Questions with an OpenAI Engineer
Siraj Raval
60 How to Make a Tic Tac Toe Neural Network Easily (LIVE)
How to Make a Tic Tac Toe Neural Network Easily (LIVE)
Siraj Raval

This video provides a comprehensive overview of a 5-month accelerated Computer Science curriculum, covering the most important topics in sequential order using free online resources. The curriculum focuses on Python programming, data structures, algorithms, and data science, with an emphasis on practical applications. By following this curriculum, viewers can gain a broad understanding of the field of Computer Science and develop valuable skills in programming, data analysis, and software develo

Key Takeaways
  1. Read a free book online called Automate the Boring Stuff with Python
  2. Install Python on your machine
  3. Take the Code Academy course on Python
  4. Take the EDX course on data structures
  5. Take the intro to algorithms course by MIT
  6. Explore Python libraries for data science like pandas and numpy
  7. Apply machine learning concepts to real-world problems
💡 The key to mastering Computer Science is to start with the basics and build a strong foundation in programming, data structures, and algorithms, and then apply these skills to real-world problems in data science and machine learning.

Related AI Lessons

Bloom Filters, Explained Properly
Learn how Bloom filters work and their benefits, including tiny memory and blazing speed, in exchange for potential false positives.
Dev.to · Daksh Gargas
Prefix Sums: The Preprocessing Trick That Makes Range Queries Instant
Learn how prefix sums enable instant range queries in arrays, boosting performance in various applications
Medium · Programming
I Thought I Was Ready for the Interview — Then One Simple Math Question Destroyed Me
A simple math question can destroy a developer's interview, highlighting the importance of being prepared for unexpected questions
Medium · Programming
Week 2(Day 10): LeetCode Two Pointers(slow & fast): Remove Duplicates from Sorted Array (Brute…
Learn to remove duplicates from a sorted array using the two pointers technique, improving from brute force to optimized solutions
Medium · Python
Up next
Stump Grinder Carbide Wheel Grinds Hardwood To Chips
Innoforge Studio
Watch →