Computer Science 101 - The Ultimate CS Resource and Study Guide

Computer Science Resources and Study Guide

Hi there, you’ve landed on the ultimate resource or study guide of Computer Science. In this blog, I have compiled the most useful, free and quality contents (Course, tutorials etc.) on Computer science from the vast stream of contents, links and information on the web. Below you will find enough resources to build or follow your own CS curriculum, learn entire CS Curriculum or specific topics and master your desired skill from curated contents. So let's not waste any further time, bookmark this page and dive into Computer Science 101!

At the beginning:

Why learn Computer Science?

Computer stands for a machine that can process or store data and perform mathematical operations. Originally computers were built by scientists to solve complex mathematical problems and store huge set of data, but turns out it can do way more than that! It is capable of running the internet where you are reading this, or let you play your favorite games, music or create programs for sophisticated software and automate stuffs, it can simulate the entire universe as well, just to grasp the capability of this machine. Computers are gradually becoming way more powerful and significantly smaller in size. There is more computational power available in your phone than there was in the entire planet in the mid 60s. And it is now possible to run the historical Apollo moon landing on a couple of Nintendos!

If you wan to solve problems, build things and dive into the mysterious world of zeros and ones to perform complex tasks that changes the world for better or if you just want to learn programming and build fun software or games of your own, then computer science is for you! Continue reading this article and start your journey now!

Computer Science Courses for Absolute Beginners

CS50: Introduction to Computer Science

If you’re absolutely new to computer science and wondering about what it is all about and have a keen curiosity to dive into this field, then cs50 course is the perfect option for you to land over. This course has several great advantages including that it’s completely free and has no prerequisite, it is the same course taught to Harvard students at their freshman year. CS50 is led by Gordon McKay Harvard Professor David J. Malan with his excellent ability to deliver lectures over complex topics and make them fun, engaging while at the same time pushing you to wide your horizon in all aspects of computer science. CS50 covers a wide range of topics including web development, programming, algorithms, game and app development, machine learning etc. By the end of the course, you get to choose and develop a project of your own to help you master the skills you’ve learned already. You will gain a substantial foundation on CS from being a complete newbie just by sticking to this self-paced course and it also has a great support community including social media groups, discord server and regular free seminars that you can attend.

Overall, nothing beats CS0 with its depth and glory to conquer your initial quest into the world of computer science as a complete beginner. It requires you to know nothing about CS whatsoever while starting but at the end of the course, you will come out pretty much as a CS nerd!

Python for Everybody

Python is increasingly becoming one of the most popular programming language in the world of Computer science and is suggested by many experts to learn while first getting your hands down on CS. There are several advantages of choosing python like it is comparatively easy and intuitive to learn for beginners contrast to C, C++ or Java. So you don't lose the interest being afraid of programming initially and go on building confidence while learning the basics of programming and computer science through Python. Intro to Python is one of the most popular and free courses out there to make your introduction with this language. It has extremely positive reviews by learning for its engaging and easy learning contents with huge popularity to make the perfect course to start learning from. 

Self-Taught CS Curriculums:

Teach Yourself CS  

Description: This resource includes literally everything you need in order to obtain a CS degree at your own pace with important learning materials from every important core CS categories. It includes 9 foundational CS subject such as Programming, Algorithm and Data structure, theories, math and a lot more. The best thing about this resource is all contents and courses mentioned here are absolutely free which removes one of the biggest caveats in your path to become a CS expert. The resource guides you through beginner to intermediate and advanced courses while providing necessary information and book references at every section.

Open Source Society University CS Curriculum

Description: This resource is offered by Open source society university (OSSU) with nicely structured curriculum, duration and necessary prerequisite information. The list of courses mentioned here are absolutely free so youn't have to worry with cost. The great thing is OSSU has its own support community to help you learn faster and more efficiently with other fellow CS students. You can achieve a complete education on computer science using this resource and following their structured and detailed guidelines for all core CS areas.  

ForrestKnight's Open Source CS Curriculum 

Description: Another useful resource compiled by youtuber Forrest Knight that highlights crucial CS Core subjects and their respective courses you need to take in order to achieve mastery. It is also free and written in a detailed manner with how much time, duration and effort you need to make for each and every courses to complete them at your own convenience.

Computer Science Degree with 20 Free MOOCs

Description: This is an interesting resource since it guides you through getting CS education with only 20 MOOCs which stands for Massice Open online courses. Every section is detailed with proper information, what the mooc will teach you and other relevant information. It’s definitely worth taking a look if mooches are what you into!

Entire CS Curriculum in YouTube Videos!

Description: We’ve been using YouTube for so many purposes including watching cute cat vides to learning an entire subject. But this resource take this idea to a whole new level. What if you can gain substantial knowledge of CS Core subjects just by watching YouTube videos and playlists? This resource curates all useful and important YouTube videos scattered around, compile them in a list and guide you through gaining the CS skills you’re longing for through an entire YouTube based CS curriculum! Now that’s something worth looking into for all YouTube lovers out there.

Akira's Computer Science Resources Repository

Description: Another small but important directory of computer science courses and top free resources. It ranges from the basic to more advanced areas of CS, covering important topics like Computer Fundamentals, Architecture, Several programming languages, Artificial Intelligence and Information Security resources. You can definitely check this out. 

Focused on Specific Topics

Ultimate Coding Resources and Tools

Describe: This resource is divided into several sections but it's mainly coding oriented. You can find documentation and contents on HTML, CSS, Java and many others. It also includes Algorithm Platforms and useful tools for coders as well as text editors, blogs and podcasts suggestions.  

Data Science Major

Description: The resource is specifically designed for people who area interested in Data Science and wants to gain deeper insight into this subject. 

Bioinformatics Major

Description: If bioinformatics, a blended field of biology and computation, is your favorite thing then definitely check this out. 

Resourceful Websites

Resourceful YouTube Channels

  • TheNewBoston (This channel has plenty of series and tutorials on different programming languages.)
  • Computerphile (Exploring this channel becomes a mandatory if you're computer nerd.)
  • MITCSAIL (You can remain updated on what's happening around the CS field specially in research and innovation areas.)
  • Edureka (It has many free full-length CS courses.)
  • Coding Blocks
  • 3Blue1Brown (Even though it is not a CS oriented YouTube channel, I cannot help but mention it. It is one of the best YouTube channels out there dedicated to Mathematical concepts and topics and will provide you a solid foundation on any CS Core courses you'll need.)
  • Computer Science
  • Learn Competitive Programming with CodeChef (It is mainly focused on programming contests.)
  • Lex Fridman (Lex Fridman is a famous MIT faculty and he extensively talks about AI, Machine learning and hold interesting Podcast sessions in his channel.)
  • Gaurav Sen (This channel has a lot of useful videos related to Computer architecture, Data structure and Algorithms.)

Competitive Programming and Problem Solving

Competitive Programming Resources and Study Guide

What is Competitive Programming?

Competitive programming, or CP for short, is a mind sport where participants need to write programs to solve well-defined problems, puzzles or tasks. Those problems are often related to algorithms, data structures, math, and logic as well. The programs of the contestants are judged by many different factors including how much time the programs take and how much memory the programs use. There are many benefits to doing CP, one of most prominent which is that it makes you think. The focus of Competitive programming is not to solve more problems or increase your rating rather than think in terms of programs and algorithms, take different viewpoints of a problem and try to solve it from your own perspective. Competitive programming is one of those crucial factor by which CS folks are being determined their skillsets at reputed companies i.e. Microsoft, Google or Facebook etc.

List of Online Judge or Virtual Judges

Here are some most popular online problem solving platforms where you can participate in competitive programming and practice solving programming problems. 

Websites to Download Free CS Books

Great Talks and Interviews

List of TED Talks

Best Personal Journey / Interviews / Experience related YouTube Videos

Best Blog Interviews

Don't forget to leave a comment down below and let us know your appreciation / suggestion or queries. And consider to bookmark this blog as it will be gradually updated over time with more valuable and free resources!

Post a Comment

أحدث أقدم