prakhar1989/awesome-courses
Awesome Courses
This project is a community-driven repository of high-quality, university-level computer science courses and learning materials. It serves as an open-source knowledge base, providing developers and students with direct access to structured curricula and academic resources designed to facilitate independent study and technical skill development.
The repository distinguishes itself through a hierarchical taxonomy that organizes diverse technical subjects into a navigable structure. By utilizing markdown-based content curation, the project maintains a lightweight index of external links and references, allowing users to explore foundational and advanced topics—ranging from artificial intelligence and systems architecture to formal theory and security—without the need for formal institutional enrollment.
The collection is maintained through collaborative, peer-reviewed contributions, ensuring the accuracy and evolution of the curated lists. This approach enables learners to access specialized lecture notes, assignments, and established academic pathways to master complex programming domains through structured, self-paced study.
Features
- Markdown-Based Curations - Organizes educational resources into structured lists using plain text files to facilitate easy community contributions and version control.
- Computer Science Curricula - - CS 61B **Data Structures** *UC Berkeley* - In this course, you will study advanced programming techniques including data structures, encapsulation, abstract data types, interfaces, and algorithms for sorting and search
- Curated Educational Repositories - A community-driven collection of high-quality university-level computer science courses and learning materials organized by subject matter and technical domain.
- Curated Learning Paths - Learn complex technical topics through structured guides and curated materials that combine detailed explanations with hands-on practice to build your professional skill set.
- Technical Learning Resources - A comprehensive directory of academic courseware designed to help students and professionals master core computer science concepts through structured study.
- Compiler Design Courses - - CS 75 **Principles of Compiler Design** *Swathmore College* - Modelled after the influential paper on incremental approach to compiler design, this course teaches how to build a compiler in OCaml - Course on Github - N
- Computer Security Courses - - CIS 4930 / CIS 5930 **Offensive Computer Security** *Florida State University* - Course taught by W. Owen Redwood and Xiuwen Liu. It covers a wide range of computer security topics, starting from Secure C Coding and Re
- Formal Verification Courses - - CIS 500 **Software Foundations** *University of Pennsylvania* - An introduction to formal verification of software using the Coq proof assistant. Topics include basic concepts of logic, computer-assisted theorem provin
- Machine Learning Courses - - DEEPNLP **Deep Learning for Natural Language Processing** *University of Oxford* - This is an applied course focussing on recent advances in analysing and generating speech and text using recurrent neural networks. We
- Statistics Courses - - STAT 340 **Applied Regression Methods** *Smith College* - This course covers the beautiful and useful tool of regression, which is the central technique of statistical modeling. By the end of this course you will be ab
- Technical Knowledge Bases - A structured index of academic resources that provides developers with direct access to foundational and advanced technical curricula.
- Technical Skill Development Pathways - Mastering specific programming domains like machine learning, security, or systems architecture by following established academic pathways and practical exercises.
- Academic Course Materials - Accessing specialized lecture notes, assignments, and course structures from top universities to deepen understanding of advanced theoretical and applied computing concepts.
- Computer Graphics Courses - - CAP 5415 **Computer Vision** *University of Central Florida* - An introductory level course covering the basic topics of computer vision, and introducing some fundamental approaches for computer vision research. - Lect
- Community Knowledge Bases - Relies on distributed contributions from multiple users to maintain and update a comprehensive repository of academic course materials.
- Systems Architecture Courses - - CS 61C **Great Ideas in Computer Architecture (Machine Structures)** *UC Berkeley* - The subjects covered in this course include: C and assembly language programming, translation of high-level programs into machine lan
- Taxonomy Categorization Systems - Groups diverse technical subjects into a nested folder or list structure to allow users to navigate complex educational domains efficiently.
- Artificial Intelligence Courses - - CS 188 **Introduction to Artificial Intelligence** *UC Berkeley* - This course will introduce the basic ideas and techniques underlying the design of intelligent computer systems. A specific emphasis will be on the sta
- Computer Science Curricula - - CS 10 **The Beauty and Joy of Computing** *UC Berkeley* - CS10 is UCB's introductory computer science class, taught using the beginners' drag-and-drop language. Students learn about history, social implications, great
- Stochastic Methods - - AM 207 **Monte Carlo Methods and Stochastic Optimization** *Harvard University* - This course introduces important principles of Monte Carlo techniques and demonstrates the power of these techniques with simple (but ve