# open-da/openda architecture

> Architecture diagram of the GitHub repository open-da/openda, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/open-da/openda
- Repository: https://github.com/open-da/openda

## Overview

OpenDA is a shared course-material archive for Tsinghua’s Automation Department, complemented by a course wiki and discussion space. The main user workflow is to find a course, retrieve its notes, assignments, or examples, and use them for study; contributors add or update materials through pull requests or issues. The tree shows course resources rather than a unified runtime application. Course nodes below represent major areas visible in the tree; their internal navigation and the wiki implementation are not shown.

Main entry points: [`A_基础课程/程序设计基础`](https://github.com/open-da/openda/tree/main/A_%E5%9F%BA%E7%A1%80%E8%AF%BE%E7%A8%8B/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E5%9F%BA%E7%A1%80) (Programming basics), [`B_自动化系专业主修课程/数值分析`](https://github.com/open-da/openda/tree/main/B_%E8%87%AA%E5%8A%A8%E5%8C%96%E7%B3%BB%E4%B8%93%E4%B8%9A%E4%B8%BB%E4%BF%AE%E8%AF%BE%E7%A8%8B/%E6%95%B0%E5%80%BC%E5%88%86%E6%9E%90) (Numerical analysis), [`B_自动化系专业主修课程/人工智能基础`](https://github.com/open-da/openda/tree/main/B_%E8%87%AA%E5%8A%A8%E5%8C%96%E7%B3%BB%E4%B8%93%E4%B8%9A%E4%B8%BB%E4%BF%AE%E8%AF%BE%E7%A8%8B/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD%E5%9F%BA%E7%A1%80) (Artificial intelligence), [`B_自动化系专业主修课程/智能传感与检测`](https://github.com/open-da/openda/tree/main/B_%E8%87%AA%E5%8A%A8%E5%8C%96%E7%B3%BB%E4%B8%93%E4%B8%9A%E4%B8%BB%E4%BF%AE%E8%AF%BE%E7%A8%8B/%E6%99%BA%E8%83%BD%E4%BC%A0%E6%84%9F%E4%B8%8E%E6%A3%80%E6%B5%8B) (Sensing and detection)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_foundation["Foundational courses"]
  node_programming["Programming basics"]
  node_numerical["Numerical analysis"]
end

subgraph group_automation["Automation courses"]
  node_ai["Artificial intelligence"]
  node_sensing["Sensing and detection"]
  node_satellite["Satellite health"]
  node_control1["Control principles I"]
  node_control2["Control principles II"]
  node_systems["Systems engineering"]
  node_optimization["Optimization algorithms"]
  node_recognition["Pattern recognition"]
end

subgraph group_computing["Computing courses"]
  node_computer_arch["Computer architecture"]
  node_networking["Computer networks"]
  node_vision["Computer vision"]
end

subgraph group_community["Community resources"]
  node_wiki["Course wiki"]
  node_discussion["Course discussions"]
  node_issues["Issue tracker"]
end

node_student(("Student"))
node_contributor(("Contributor"))
node_archive["Course archive"]

node_student -->|"browse materials"| node_archive
node_archive -->|"provides resources"| node_programming
node_archive -->|"provides resources"| node_ai
node_archive -->|"provides resources"| node_sensing
node_archive -->|"provides resources"| node_satellite
node_archive -->|"provides resources"| node_control1
node_archive -->|"provides resources"| node_control2
node_archive -->|"provides resources"| node_systems
node_archive -->|"provides resources"| node_optimization
node_archive -->|"provides resources"| node_numerical
node_archive -->|"provides resources"| node_recognition
node_archive -->|"provides resources"| node_computer_arch
node_archive -->|"provides resources"| node_networking
node_archive -->|"provides resources"| node_vision
node_student -->|"consults"| node_wiki
node_student -->|"discusses"| node_discussion
node_contributor -->|"submits pull request"| node_archive
node_contributor -->|"reports issue"| node_issues

click node_programming "https://github.com/open-da/openda/tree/main/A_%E5%9F%BA%E7%A1%80%E8%AF%BE%E7%A8%8B/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E5%9F%BA%E7%A1%80"
click node_ai "https://github.com/open-da/openda/tree/main/B_%E8%87%AA%E5%8A%A8%E5%8C%96%E7%B3%BB%E4%B8%93%E4%B8%9A%E4%B8%BB%E4%BF%AE%E8%AF%BE%E7%A8%8B/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD%E5%9F%BA%E7%A1%80"
click node_sensing "https://github.com/open-da/openda/tree/main/B_%E8%87%AA%E5%8A%A8%E5%8C%96%E7%B3%BB%E4%B8%93%E4%B8%9A%E4%B8%BB%E4%BF%AE%E8%AF%BE%E7%A8%8B/%E6%99%BA%E8%83%BD%E4%BC%A0%E6%84%9F%E4%B8%8E%E6%A3%80%E6%B5%8B"
click node_satellite "https://github.com/open-da/openda/tree/main/B_%E8%87%AA%E5%8A%A8%E5%8C%96%E7%B3%BB%E4%B8%93%E4%B8%9A%E4%B8%BB%E4%BF%AE%E8%AF%BE%E7%A8%8B/%E4%BA%A4%E5%8F%89%E9%A1%B9%E7%9B%AE%E8%AE%AD%E7%BB%83%EF%BC%9A%E5%8D%AB%E6%98%9F%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E4%B8%8E%E5%81%A5%E5%BA%B7%E6%A3%80%E6%B5%8B"
click node_control1 "https://github.com/open-da/openda/tree/main/B_%E8%87%AA%E5%8A%A8%E5%8C%96%E7%B3%BB%E4%B8%93%E4%B8%9A%E4%B8%BB%E4%BF%AE%E8%AF%BE%E7%A8%8B/%E8%87%AA%E5%8A%A8%E6%8E%A7%E5%88%B6%E5%8E%9F%E7%90%861"
click node_control2 "https://github.com/open-da/openda/tree/main/B_%E8%87%AA%E5%8A%A8%E5%8C%96%E7%B3%BB%E4%B8%93%E4%B8%9A%E4%B8%BB%E4%BF%AE%E8%AF%BE%E7%A8%8B/%E8%87%AA%E5%8A%A8%E6%8E%A7%E5%88%B6%E5%8E%9F%E7%90%862"
click node_systems "https://github.com/open-da/openda/tree/main/B_%E8%87%AA%E5%8A%A8%E5%8C%96%E7%B3%BB%E4%B8%93%E4%B8%9A%E4%B8%BB%E4%BF%AE%E8%AF%BE%E7%A8%8B/%E7%B3%BB%E7%BB%9F%E5%B7%A5%E7%A8%8B%E5%AF%BC%E8%AE%BA"
click node_optimization "https://github.com/open-da/openda/tree/main/B_%E8%87%AA%E5%8A%A8%E5%8C%96%E7%B3%BB%E4%B8%93%E4%B8%9A%E4%B8%BB%E4%BF%AE%E8%AF%BE%E7%A8%8B/%E6%99%BA%E8%83%BD%E4%BC%98%E5%8C%96%E7%AE%97%E6%B3%95"
click node_numerical "https://github.com/open-da/openda/tree/main/B_%E8%87%AA%E5%8A%A8%E5%8C%96%E7%B3%BB%E4%B8%93%E4%B8%9A%E4%B8%BB%E4%BF%AE%E8%AF%BE%E7%A8%8B/%E6%95%B0%E5%80%BC%E5%88%86%E6%9E%90"
click node_recognition "https://github.com/open-da/openda/tree/main/B_%E8%87%AA%E5%8A%A8%E5%8C%96%E7%B3%BB%E4%B8%93%E4%B8%9A%E4%B8%BB%E4%BF%AE%E8%AF%BE%E7%A8%8B/%E6%A8%A1%E5%BC%8F%E8%AF%86%E5%88%AB%E4%B8%8E%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0"
click node_computer_arch "https://github.com/open-da/openda/tree/main/B_%E8%87%AA%E5%8A%A8%E5%8C%96%E7%B3%BB%E4%B8%93%E4%B8%9A%E4%B8%BB%E4%BF%AE%E8%AF%BE%E7%A8%8B/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BB%84%E6%88%90%E5%8E%9F%E7%90%86"
click node_networking "https://github.com/open-da/openda/tree/main/B_%E8%87%AA%E5%8A%A8%E5%8C%96%E7%B3%BB%E4%B8%93%E4%B8%9A%E4%B8%BB%E4%BF%AE%E8%AF%BE%E7%A8%8B/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C"
click node_vision "https://github.com/open-da/openda/tree/main/B_%E8%87%AA%E5%8A%A8%E5%8C%96%E7%B3%BB%E4%B8%93%E4%B8%9A%E4%B8%BB%E4%BF%AE%E8%AF%BE%E7%A8%8B/%E8%AE%A1%E7%AE%97%E6%9C%BA%E8%A7%86%E8%A7%89"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_programming,node_numerical toneBlue
class node_ai,node_sensing,node_satellite,node_control1,node_control2,node_systems,node_optimization,node_recognition toneAmber
class node_computer_arch,node_networking,node_vision toneMint
class node_wiki,node_discussion,node_issues toneRose
class node_student,node_contributor,node_archive toneIndigo
```

## Components

### Foundational courses

- [Programming basics](https://github.com/open-da/openda/tree/main/A_%E5%9F%BA%E7%A1%80%E8%AF%BE%E7%A8%8B/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E5%9F%BA%E7%A1%80): `A_基础课程/程序设计基础`
- [Numerical analysis](https://github.com/open-da/openda/tree/main/B_%E8%87%AA%E5%8A%A8%E5%8C%96%E7%B3%BB%E4%B8%93%E4%B8%9A%E4%B8%BB%E4%BF%AE%E8%AF%BE%E7%A8%8B/%E6%95%B0%E5%80%BC%E5%88%86%E6%9E%90): `B_自动化系专业主修课程/数值分析`

### Automation courses

- [Artificial intelligence](https://github.com/open-da/openda/tree/main/B_%E8%87%AA%E5%8A%A8%E5%8C%96%E7%B3%BB%E4%B8%93%E4%B8%9A%E4%B8%BB%E4%BF%AE%E8%AF%BE%E7%A8%8B/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD%E5%9F%BA%E7%A1%80): `B_自动化系专业主修课程/人工智能基础`
- [Sensing and detection](https://github.com/open-da/openda/tree/main/B_%E8%87%AA%E5%8A%A8%E5%8C%96%E7%B3%BB%E4%B8%93%E4%B8%9A%E4%B8%BB%E4%BF%AE%E8%AF%BE%E7%A8%8B/%E6%99%BA%E8%83%BD%E4%BC%A0%E6%84%9F%E4%B8%8E%E6%A3%80%E6%B5%8B): `B_自动化系专业主修课程/智能传感与检测`
- [Satellite health](https://github.com/open-da/openda/tree/main/B_%E8%87%AA%E5%8A%A8%E5%8C%96%E7%B3%BB%E4%B8%93%E4%B8%9A%E4%B8%BB%E4%BF%AE%E8%AF%BE%E7%A8%8B/%E4%BA%A4%E5%8F%89%E9%A1%B9%E7%9B%AE%E8%AE%AD%E7%BB%83%EF%BC%9A%E5%8D%AB%E6%98%9F%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E4%B8%8E%E5%81%A5%E5%BA%B7%E6%A3%80%E6%B5%8B): `B_自动化系专业主修课程/交叉项目训练：卫星数据分析与健康检测`
- [Control principles I](https://github.com/open-da/openda/tree/main/B_%E8%87%AA%E5%8A%A8%E5%8C%96%E7%B3%BB%E4%B8%93%E4%B8%9A%E4%B8%BB%E4%BF%AE%E8%AF%BE%E7%A8%8B/%E8%87%AA%E5%8A%A8%E6%8E%A7%E5%88%B6%E5%8E%9F%E7%90%861): `B_自动化系专业主修课程/自动控制原理1`
- [Control principles II](https://github.com/open-da/openda/tree/main/B_%E8%87%AA%E5%8A%A8%E5%8C%96%E7%B3%BB%E4%B8%93%E4%B8%9A%E4%B8%BB%E4%BF%AE%E8%AF%BE%E7%A8%8B/%E8%87%AA%E5%8A%A8%E6%8E%A7%E5%88%B6%E5%8E%9F%E7%90%862): `B_自动化系专业主修课程/自动控制原理2`
- [Systems engineering](https://github.com/open-da/openda/tree/main/B_%E8%87%AA%E5%8A%A8%E5%8C%96%E7%B3%BB%E4%B8%93%E4%B8%9A%E4%B8%BB%E4%BF%AE%E8%AF%BE%E7%A8%8B/%E7%B3%BB%E7%BB%9F%E5%B7%A5%E7%A8%8B%E5%AF%BC%E8%AE%BA): `B_自动化系专业主修课程/系统工程导论`
- [Optimization algorithms](https://github.com/open-da/openda/tree/main/B_%E8%87%AA%E5%8A%A8%E5%8C%96%E7%B3%BB%E4%B8%93%E4%B8%9A%E4%B8%BB%E4%BF%AE%E8%AF%BE%E7%A8%8B/%E6%99%BA%E8%83%BD%E4%BC%98%E5%8C%96%E7%AE%97%E6%B3%95): `B_自动化系专业主修课程/智能优化算法`
- [Pattern recognition](https://github.com/open-da/openda/tree/main/B_%E8%87%AA%E5%8A%A8%E5%8C%96%E7%B3%BB%E4%B8%93%E4%B8%9A%E4%B8%BB%E4%BF%AE%E8%AF%BE%E7%A8%8B/%E6%A8%A1%E5%BC%8F%E8%AF%86%E5%88%AB%E4%B8%8E%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0): `B_自动化系专业主修课程/模式识别与机器学习`

### Computing courses

- [Computer architecture](https://github.com/open-da/openda/tree/main/B_%E8%87%AA%E5%8A%A8%E5%8C%96%E7%B3%BB%E4%B8%93%E4%B8%9A%E4%B8%BB%E4%BF%AE%E8%AF%BE%E7%A8%8B/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BB%84%E6%88%90%E5%8E%9F%E7%90%86): `B_自动化系专业主修课程/计算机组成原理`
- [Computer networks](https://github.com/open-da/openda/tree/main/B_%E8%87%AA%E5%8A%A8%E5%8C%96%E7%B3%BB%E4%B8%93%E4%B8%9A%E4%B8%BB%E4%BF%AE%E8%AF%BE%E7%A8%8B/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C): `B_自动化系专业主修课程/计算机网络`
- [Computer vision](https://github.com/open-da/openda/tree/main/B_%E8%87%AA%E5%8A%A8%E5%8C%96%E7%B3%BB%E4%B8%93%E4%B8%9A%E4%B8%BB%E4%BF%AE%E8%AF%BE%E7%A8%8B/%E8%AE%A1%E7%AE%97%E6%9C%BA%E8%A7%86%E8%A7%89): `B_自动化系专业主修课程/计算机视觉`

### Community resources

- **Course wiki**
- **Course discussions**
- **Issue tracker**

### Other components

- **Student**
- **Contributor**
- **Course archive**

## Connections

- Student → Course archive: browse materials
- Course archive → Programming basics: provides resources
- Course archive → Artificial intelligence: provides resources
- Course archive → Sensing and detection: provides resources
- Course archive → Satellite health: provides resources
- Course archive → Control principles I: provides resources
- Course archive → Control principles II: provides resources
- Course archive → Systems engineering: provides resources
- Course archive → Optimization algorithms: provides resources
- Course archive → Numerical analysis: provides resources
- Course archive → Pattern recognition: provides resources
- Course archive → Computer architecture: provides resources
- Course archive → Computer networks: provides resources
- Course archive → Computer vision: provides resources
- Student → Course wiki: consults
- Student → Course discussions: discusses
- Contributor → Course archive: submits pull request
- Contributor → Issue tracker: reports issue
