Image generated with DALLE-3
Learning computer science from scratch can be quite difficult and you may feel discouraged before you even start. However, the open source community on GitHub has created a wealth of resources that can guide you on this journey. In this blog post, we'll explore 10 essential GitHub repositories that can help you learn the concepts and tools needed to master computer science and land a job at a leading technology company.
Link: kamranahmedse/developer roadmap
The repository contains community-driven roadmaps that have become increasingly popular among developers, providing interactive and comprehensive guides to learning various technologies and programming languages.
These roadmaps cover a wide range of topics including frontend, backend, DevOps, full stack, computing, data structures, artificial intelligence, data science, MLOps, QA, Python, software architecture, game development, software design, JavaScript, TypeScript, C++. , and more.
Link: ossu/computer science
Open Source Society University (OSSU) offers a free, comprehensive, community-driven computer science curriculum that provides a comprehensive education in fundamental computer science concepts. The curriculum is designed according to the degree requirements of computer science majors at top universities and is taught by professors from prestigious institutions such as MIT, Harvard, and Princeton.
The course covers essential topics such as programming languages, algorithms, data structures, operating systems, computer architecture and software engineering, with advanced electives available for specialization.
Link: Free Code Camp/Free Code Camp
freeCodeCamp is the platform that offers free courses and tutorials on all types of computer technologies. It also provides a friendly and supportive community for people looking to learn coding skills. freeCodeCamp, run by a charity, aims to help millions of adults transition into tech careers.
Provides a comprehensive, self-paced curriculum on complete web development and machine learning, featuring thousands of interactive coding challenges to improve coding skills.
Link: donnemartin/system-design-primer
The repository serves as a comprehensive resource for learning system design principles and preparing for systems design interviews. It is maintained by Donne Martin, a software engineer who has worked at companies such as amazon and Google.
Covers a wide range of topics related to large-scale system design, including topics such as: System Design Basics, Key Features of Distributed Systems, System Design Issues, Anki Flashcards, and System Design Interview Questions. systems with solutions.
Link: EbookFoundation/free-programming-books
It is a community-driven project that aims to provide a curated list of high-quality programming books that can be accessed and downloaded for free, covering a wide range of programming languages, frameworks, and related topics.
It provides free books in English and also in other languages like Arabic, Korean, Italian, Tamil and more. The repository also provides additional resources such as multilingual courses on various programming languages, interactive programming resources, podcasts, and programming areas.
Link: anu0012/amazing-computer-science-opportunities
It's a list of amazing computing opportunities and resources for students and professionals.
Covers a wide range of topics including competitive programming platforms, web development tutorials, mobile development courses, DevOps bootcamps, data science competitions, artificial intelligence resources, computer science fundamentals, open source projects, cybersecurity blogs , online courses (MOOCs), scholarships and fellowships, coding events and hackathons, general opportunities like student packs and community-driven demo projects.
The list aims to provide a comprehensive collection of valuable resources to help people learn, practice and excel in various areas of computing.
Link: jwasham/coding-interview-university
The repository contains a study plan for becoming a software engineer in a large company, compiled by jwasham. It is intended for people who do not have a formal computer science education or degree like the author.
The curriculum is comprehensive and aims to cover most of the important topics typically taught in an undergraduate computer science program, with a focus on data structures, algorithms, and coding interview preparation.
It provides a structured approach, including a table of contents, a daily plan, coding practice, and a list of topics to study.
Link: x” rel=”noopener” target=”_blank”>codecrafters-io/build-your-own-x
It is a repository that contains a collection of well-written step-by-step guides for recreating various technologies from scratch. It aims to provide a great way to learn and understand different technologies by building them from scratch.
The repository is structured into different categories, each of which focuses on a specific type of technology, such as 3D renderer, augmented reality, command line tool, database, Docker, games, Git, and more. Each category contains a list of links to tutorials, articles, and resources that guide users through the process of creating various technologies from scratch.
Link: apis-public/apis-public
Public APIs are a curated list of free APIs that developers can easily explore and integrate into their projects. These APIs cover a wide range of categories, from animals and entertainment to finance and health, providing access to data and services that would otherwise be time-consuming and expensive to develop internally.
One of the key benefits of using public APIs is the ability to quickly improve your product features and quickly create MVPs. For example, if you are building a car-related application, you can seamlessly integrate a public API that provides information about different types of cars. This not only saves development time but also ensures that your users have access to accurate and up-to-date data.
Link: mental asylum / awesome
It's a curated list of awesome lists on GitHub that cover a wide range of interesting topics. These lists contain resources organized by various categories, such as platforms, programming languages, development tools, and more.
The Awesome list is a massive community project where community members create a pull request and update the existing list. It's the only resource you'll need as you learn about various computer science tools and concepts. The impressive list is also useful for professionals who want to create durable and secure applications.
Whether you are a beginner or an expert in the field, these resources are designed to meet a wide range of skill levels and interests. They not only establish a solid foundation in fundamental computer science concepts, but also provide roadmaps for specialization and exploration of cutting-edge technologies.
The true power of these GitHub repositories lies in their collaborative nature. They are maintained and contributed by passionate developers and educators around the world, ensuring that content remains fresh, relevant and constantly evolving.
Abid Ali Awan (@1abidaliawan) is a certified professional data scientist who loves building machine learning models. Currently, he focuses on content creation and writing technical blogs on data science and machine learning technologies. Abid has a master's degree in technology management and a bachelor's degree in telecommunications engineering. His vision is to build an artificial intelligence product using a graph neural network for students struggling with mental illness.