Disclaimer
This post may overwhelm you 😰. I tried to organize the materials very well and tried to cover everything. They are a lot, so just check out what you want to learn, and dive into it 👩💻
Hello again, friends. 👋 Yesterday, I have shared free Next.js resources, today I decided to make a comprehensive list including
- how to learn CS for free,
- how to learn algorithms with free courses,
- practice with competitive programming.
After learning all the stuff, you can apply for a job; so I needed to add Interview resources you can use for free and some communities you can join.
Computer Science Resources
1.Entire Computer Science Curriculum in 1000 YouTube Videos
We are going to create an entire Computer Science curriculum using only YouTube videos. The Computer Science curriculum is going to cover every skill essential for a Computer Science Engineer that has expertise in Artificial Intelligence and its subfields, like Machine Learning, Deep Learning, Computer Vision, NLP, etc.
A Self-Learning, Modern Computer Science Curriculum.
3.Online Learning: A Bachelor's Level Computer Science Program Curriculum (Updated - Dec 2020)
Is it possible to complete the equivalent of a college bachelor’s degree in computer science through college and university courses that are freely available online? And if so, how does one do so? This website has a curated course list from MIT, Stanford, Harvard, Carnegie Mellon, Berkeley, and much more!
Study all nine subjects, in roughly the presented order, using either the suggested textbook or video lecture series, but ideally both. Aim for 100-200 hours of study of each topic, then revisit favorites throughout your career.
Here you can find UC Berkeley's archived Computer Science courses.
6.Carnegie Mellon University's Open Learning Initiative
Computer Science & Programming for independent learners. You can learn Java, Python, Hardware, Software, Logic, and Proof.
A complete computer science study plan to become a software engineer.
8.Base CS
Exploring the basics of computer science, every Monday, for a year.
Open Source Society University's path to free self-taught education in Computer Science repository!
10.Teach Yourself Programming in Ten Years
This is a short blog post about teaching yourself programming in 10 Years!
List of Computer Science courses with video lectures.
⭐️ 22k stars.
Algorithms
It starts with an introduction to algorithms and covers concepts like recursion, sorting, and searching. Each lesson also has challenges to help you further understand the material.
2.Codenza
Codenza is an android app used as a programming guidebook/repository for computer programming enthusiasts and helps them with the aspects of programming. It covers over 30+ programming languages and subtopics which are categorized and structured in a simple way.
You can take it on Coursera for free.
Algorithm Platform offers a free collection of online lessons and challenges designed to refine your knowledge of algorithms – the basic building blocks of all computer programming. Throughout the platform, you will learn through a mixture of exercises, video tutorials, and coding challenges that will cover fundamental concepts such as for loops, if/else statements, array manipulation, and more.
Competitive Programming
1.Codechef
Non-profit competitive programming platform.
Codemonk is a curated list of topics to help you improve your skills in the fundamental concepts of programming. This series contains tutorials and practice problems.
Solve computational and mathematical problems using your programming skills.
Complete challenges and assessments in a real-world coding environment and get scored on your understanding with Predictive Coding Scores.
Russian website dedicated to competitive programming.
6.EMKC
This is a place to test out your skills in one of the 17 languages of your choosing on a number of different practice tests. Points are awarded based on difficulty. You can complete the challenge up to 17 times (one for each available language). New challenges are being added all the time.
7.Codewars
Challenge yourself on kata, created by the community to strengthen different skills. Master your current language of choice, or expand your understanding of a new one.
8.Spoj
Programming contests with an online judging system.
Practice pure code. Learn new concepts by solving fun challenges in 25+ languages addressing all the hot programming topics.
In a matter of hours, discover new languages, algorithms, or tricks in courses crafted by top developers.
10.Code Golf
Code Golf is a game designed to let you show off your code-fu by solving problems in the least number of characters.
11.Edabit
Learn to code with interactive challenges. Beginner-friendly.
12.Exercism
Level up your programming skills with 3,450 exercises across 52 languages, and insightful discussion with our dedicated team of welcoming mentors. Exercism is 100% free forever.
13.Top Coder
Participate in code challenges and help solve real-world problems.
14.Coding Bat
Practice Java and Python exercises.
15.Firecode
Firecode.io uses machine learning algorithms along with curated real-world interview questions, solutions & a vibrant social community of learners to get you ready for your next coding interview.
16.Halite
Halite is an artificial intelligence challenge, created by Two Sigma. Participants write bots using the programming language of their choice to compete in an original online multiplayer game.
17.Code Abbey
This resource is created to provide short programming problems for all who want to learn to program and improve their programming skills, but who could not easily find enough tasks for practice.
Interview Prep
Interview questions quick reference.
Mock interviews with engineers from Google, Facebook, and more. Get better at algorithmic and systems design problems, find a job, or just see if you’ve still got it. Everything is anonymous til you decide to unmask. Also, you can watch interviews.
3.Leetcode
LeetCode is the best platform to help you enhance your skills, expand your knowledge and prepare for technical interviews.
Practice coding, prepare for interviews and get hired.
5.Pramp
We've built Pramp to provide the complete tech interview practice you need, for free. Hone your interviewing skills, learn from your peers, and become comfortable performing under pressure within an interview setting.
Carefully curated content to help you ace your next technical interview. Go from zero to tech interview hero with this handbook. No prior interview experience needed.
Prepare for coding interviews from leading tech companies with
our interview prep material.
8.Daily Coding Problem to Your Inbox
Get exceptionally good at coding interviews by solving one problem every day.
Questions to ask the company during your interview.
A humble guide to give developers the tools they need to nail technical interviews!
11.Interviews
Everything you need to know to get the job by
Kevin Naughton Jr.. He has a dedicated Youtube channel for algorithms.
⭐️ 50k stars.
Programming exercises, code katas, and puzzles for your job interview training - or just for fun.
Tools
1.Visualgo
Visualizing data structures and algorithms through animation.
Communities
Take the Triplebyte quiz and receive your personalized feedback report. The report will help you identify your areas of strength, calibrated against over 200,000 other engineers, and offers resources and tips for further development.
We're here to help you ace your tech interviews.
Master algorithm design, system design, and much more.
Learn with theoretical lessons and practice tasks.
InterviewBit is a platform to learn skills that you need for technology jobs. We help you polish your skills and get ready for the job, whether you are a fresh college graduate or a working professional.
We also get you connected with the right companies worldwide based on your skills and preferences and do everything needed to make sure you get your dream job.
4.Outco
Level-up on algorithms, data structures, and system design so you can land a better engineering job.
Wrapping Up
This post was hard to organize, I hope I didn't mess up anything 😕.
If you like this post, share it on your Twitter account to support me writing more, also you can support me by buying a coffee.
You can follow me on Twitter, and Github. We can connect with each other. Also, you can check out my other posts.
If you think, there are more free resources, share them in the comments, I would be happy to check them out.
Until next time... 👋
Top comments (0)