> For the complete documentation index, see [llms.txt](https://csknowledgehub.gitbook.io/computer-science-knowledge-hub/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://csknowledgehub.gitbook.io/computer-science-knowledge-hub/readme.md).

# CSKnowledgeHub

**Computer Science Knowledge Hub**

Originated from Georgia Tech and Columbia University computer science courses, this repository provides a comprehensive overview of core CS knowledge. Whether you're preparing for exams, technical interviews, or seeking to understand the full landscape of computer science, this hub offers a structured view of CS fundamentals.

📖 [**View CS Knowledge Hub Site**](https://csknowledgehub.gitbook.io)

🔗 [**Source Repository**](https://github.com/jingxiang-z/CSKnowledgeHub)

* **License**:
  * Documentation and notes: [CC BY 4.0](https://github.com/jingxiang-z/CSKnowledgeHub/tree/master/LICENSE/README.md)
  * Code examples: [MIT License](https://github.com/jingxiang-z/CSKnowledgeHub/tree/master/LICENSE-CODE/README.md)
* **Contribute**: see `CONTRIBUTING.md`
* **Status**: Actively curated (accepting contributions)

## Topics

### Programming Languages

* [Programming Languages Index](/computer-science-knowledge-hub/programming-languages.md)
* [01-Basic-Programming-Concepts](/computer-science-knowledge-hub/programming-languages/01-basic-programming-concepts.md)
* [02-Data-Modeling-Structs-and-Classes](/computer-science-knowledge-hub/programming-languages/02-data-modeling-structs-and-classes.md)
* [03-Memory-Ownership-and-References](/computer-science-knowledge-hub/programming-languages/03-memory-ownership-and-references.md)
* [04-Code-Organization-Packages-and-Dependencies](/computer-science-knowledge-hub/programming-languages/04-code-organization-packages-and-dependencies.md)
* [05-Error-Handling-and-Recovery](/computer-science-knowledge-hub/programming-languages/05-error-handling-and-recovery.md)
* [06-Interfaces-Traits-Generics-and-Polymorphism](/computer-science-knowledge-hub/programming-languages/06-interfaces-traits-generics-and-polymorphism.md)
* [07-Functional-Programming-and-Iteration](/computer-science-knowledge-hub/programming-languages/07-functional-programming-and-iteration.md)
* [08-Concurrency-and-Asynchronous-Programming](/computer-science-knowledge-hub/programming-languages/08-concurrency-and-asynchronous-programming.md)
* [09-Testing-Debugging-and-Tooling](/computer-science-knowledge-hub/programming-languages/09-testing-debugging-and-tooling.md)
* [10-Type-Systems-and-Language-Semantics](/computer-science-knowledge-hub/programming-languages/10-type-systems-and-language-semantics.md)

### Data Structures & Algorithms

* [DSA Index](/computer-science-knowledge-hub/data-structure-and-algorithm.md)
* [Data Structures](/computer-science-knowledge-hub/data-structure-and-algorithm/01-data-structures.md)
* [Algorithm Techniques](/computer-science-knowledge-hub/data-structure-and-algorithm/02-algorithm-techniques.md)
* [Graph Algorithms](/computer-science-knowledge-hub/data-structure-and-algorithm/03-graph-algorithms.md)
* [Optimization and Complexity](/computer-science-knowledge-hub/data-structure-and-algorithm/04-optimization-and-complexity.md)

### Computer Architecture

* [01-Fundamentals](/computer-science-knowledge-hub/computer-architecture/01-fundamentals.md)
* [02-Processor-Design](/computer-science-knowledge-hub/computer-architecture/02-processor-design.md)
* [03-Memory-Systems](/computer-science-knowledge-hub/computer-architecture/03-memory-systems.md)
* [04-Storage-Systems](/computer-science-knowledge-hub/computer-architecture/04-storage-systems.md)
* [05-GPU-Architecture](/computer-science-knowledge-hub/computer-architecture/05-gpu-architecture.md)
* [06-GPU-Programming](/computer-science-knowledge-hub/computer-architecture/06-gpu-programming.md)

### Operating System

* [01-Introduction](/computer-science-knowledge-hub/operating-system/01-introduction.md)
* [02-Process-and-Thread](/computer-science-knowledge-hub/operating-system/02-process-and-thread.md)
* [03-Synchronization](/computer-science-knowledge-hub/operating-system/03-synchronization.md)
* [04-Memory-Management](/computer-science-knowledge-hub/operating-system/04-memory-management.md)
* [05-Device-Management](/computer-science-knowledge-hub/operating-system/05-device-management.md)
* [06-Parallel-System](/computer-science-knowledge-hub/operating-system/06-parallel-system.md)
* [07-Virtualization](/computer-science-knowledge-hub/operating-system/07-virtualization.md)

### Database

* [01-Introduction](/computer-science-knowledge-hub/database/01-introduction.md)
* [02-Data-Model](/computer-science-knowledge-hub/database/02-data-model.md)
* [03-Database-Design](/computer-science-knowledge-hub/database/03-database-design.md)
* [04-SQL](/computer-science-knowledge-hub/database/04-sql.md)
* [05-Database-Implementation](/computer-science-knowledge-hub/database/05-database-implementation.md)

### Computer Network

* [01-Introduction](/computer-science-knowledge-hub/computer-network/01-introduction.md)
* [02-Application-Layer](/computer-science-knowledge-hub/computer-network/02-application-layer.md)
* [03-Transport-Layer](/computer-science-knowledge-hub/computer-network/03-transport-layer.md)
* [04-Network-Layer](/computer-science-knowledge-hub/computer-network/04-network-layer.md)
* [05-Link-Layer](/computer-science-knowledge-hub/computer-network/05-link-layer.md)

### Information Security

* [01-Introduction](/computer-science-knowledge-hub/information-security/01-introduction.md)
* [02-Access-Control-and-Authentication](/computer-science-knowledge-hub/information-security/02-access-control-and-authentication.md)
* [03-Cryptography](/computer-science-knowledge-hub/information-security/03-cryptography.md)
* [04-Web-Security](/computer-science-knowledge-hub/information-security/04-web-security.md)
* [05-Network-Security](/computer-science-knowledge-hub/information-security/05-network-security.md)
* [06-Database-Security](/computer-science-knowledge-hub/information-security/06-database-security.md)

### Distributed Systems

* [01-Foundations](https://github.com/jingxiang-z/CSKnowledgeHub/tree/master/Distributed%20System/01-Foundations.md)
* [02-Communication](/computer-science-knowledge-hub/distributed-system/02-communication.md)
* [03-Storage-Systems](https://github.com/jingxiang-z/CSKnowledgeHub/tree/master/Distributed%20System/03-Storage-Systems.md)
* [04-Middleware](https://github.com/jingxiang-z/CSKnowledgeHub/tree/master/Distributed%20System/04-Middleware.md)

### Machine Learning

* [00-Mathematical-Foundation](/computer-science-knowledge-hub/machine-learning/00-mathematical-foundation.md)
* [01-Machine-Learning](/computer-science-knowledge-hub/machine-learning/01-machine-learning.md)
* [02-Deep-Learning](/computer-science-knowledge-hub/machine-learning/02-deep-learning.md)
* [03-Natural-Language-Processing](/computer-science-knowledge-hub/machine-learning/03-natural-language-processing.md)

## Contributing

Contributions are welcome! Please see [CONTRIBUTING.md](/computer-science-knowledge-hub/contributing.md) for guidelines.

## Acknowledgments

This repository originated from graduate computer science courses at:

* **Georgia Institute of Technology** (OMSCS)
* **Columbia University**

Special thanks to the faculty and course designers whose materials formed the foundation of this knowledge base.
