# qsctech/zju-icicles architecture

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

- Interactive diagram: https://gitdiagram.com/qsctech/zju-icicles
- Repository: https://github.com/qsctech/zju-icicles

## Overview

This repository is a community-maintained collection of Zhejiang University course resources, not a single application. A student’s primary workflow is to browse the directory-organized materials and use relevant study resources, including course notes, past exams, review sheets, and assignment answers. Contributors add or correct materials through issues and pull requests. The tree shows many independent course artifacts; the sampled files do not establish a shared runtime or a uniform publishing pipeline, so the graph treats them as organized content rather than connected software modules.

Main entry points: [`程序设计专题/project3/libgraphics/graphics.c`](https://github.com/qsctech/zju-icicles/blob/master/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E4%B8%93%E9%A2%98/project3/libgraphics/graphics.c) (Graphics implementation), [`程序设计专题/project3/include/extgraph.h`](https://github.com/qsctech/zju-icicles/blob/master/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E4%B8%93%E9%A2%98/project3/include/extgraph.h) (Graphics interfaces), [`程序设计专题/project3/include/genlib.h`](https://github.com/qsctech/zju-icicles/blob/master/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E4%B8%93%E9%A2%98/project3/include/genlib.h) (General library), [`编译原理/教材/虎书教材代码/chap9/main.c`](https://github.com/qsctech/zju-icicles/blob/master/%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/%E6%95%99%E6%9D%90/%E8%99%8E%E4%B9%A6%E6%95%99%E6%9D%90%E4%BB%A3%E7%A0%81/chap9/main.c) (Compiler example)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_course_resources["Course resources"]
  node_course_collection["Course collection"]
end

subgraph group_course_code["Course code artifacts"]
  node_leaf_classify["Leaf classification"]
  node_library_lab["Library lab"]
  node_data_structures["Data structures"]
  node_computer_arch["Computer architecture"]
end

subgraph group_compiler_artifacts["Compiler textbook code"]
  node_compiler_example["Compiler example<br/>[main.c]"]
  node_compiler_core["Compiler core types<br/>[absyn.h]"]
end

subgraph group_graphics_library["Graphics library artifacts"]
  node_graphics_impl["Graphics implementation<br/>[graphics.c]"]
  node_graphics_interfaces["Graphics interfaces<br/>[extgraph.h]"]
  node_general_library["General library<br/>[genlib.h]"]
  node_simple_input["Simple input<br/>[simpio.h]"]
  node_string_library["String library<br/>[strlib.h]"]
  node_allocation_helpers["Allocation helpers<br/>[gcalloc.h]"]
  node_graphics_core["Graphics interface<br/>[graphics.h]"]
end

node_student(("Student"))
node_contributor(("Contributor"))
node_github["GitHub"]

node_student -->|"browses"| node_course_collection
node_course_collection -->|"includes"| node_leaf_classify
node_course_collection -->|"includes"| node_library_lab
node_course_collection -->|"includes"| node_data_structures
node_course_collection -->|"includes"| node_computer_arch
node_contributor -->|"submits changes"| node_github
node_github -->|"hosts materials"| node_course_collection
node_compiler_example -->|"uses types"| node_compiler_core
node_graphics_impl -->|"implements interface"| node_graphics_interfaces
node_graphics_impl -->|"uses definitions"| node_general_library
node_graphics_impl -->|"uses helpers"| node_allocation_helpers
node_graphics_impl -->|"uses helpers"| node_string_library
node_graphics_interfaces -->|"extends interface"| node_graphics_core
node_simple_input -->|"uses definitions"| node_general_library

click node_leaf_classify "https://github.com/qsctech/zju-icicles/tree/master/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0-%E5%9B%BE%E7%81%B5/Project%20-%20ClassifyLeaves/code"
click node_library_lab "https://github.com/qsctech/zju-icicles/tree/master/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F%E5%8E%9F%E7%90%86/%E5%AE%9E%E9%AA%8C/lab/mybLab5/src/main/java/org/lab5"
click node_data_structures "https://github.com/qsctech/zju-icicles/tree/master/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E5%9F%BA%E7%A1%80/%E4%BD%9C%E4%B8%9A/dsHomework"
click node_computer_arch "https://github.com/qsctech/zju-icicles/tree/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BB%84%E6%88%90%E4%B8%8E%E7%B3%BB%E7%BB%9F%E7%BB%93%E6%9E%84/prj_1/src"
click node_compiler_example "https://github.com/qsctech/zju-icicles/blob/master/%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/%E6%95%99%E6%9D%90/%E8%99%8E%E4%B9%A6%E6%95%99%E6%9D%90%E4%BB%A3%E7%A0%81/chap9/main.c"
click node_compiler_core "https://github.com/qsctech/zju-icicles/blob/master/%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/%E6%95%99%E6%9D%90/%E8%99%8E%E4%B9%A6%E6%95%99%E6%9D%90%E4%BB%A3%E7%A0%81/chap4/absyn.h"
click node_graphics_impl "https://github.com/qsctech/zju-icicles/blob/master/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E4%B8%93%E9%A2%98/project3/libgraphics/graphics.c"
click node_graphics_interfaces "https://github.com/qsctech/zju-icicles/blob/master/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E4%B8%93%E9%A2%98/project3/include/extgraph.h"
click node_general_library "https://github.com/qsctech/zju-icicles/blob/master/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E4%B8%93%E9%A2%98/project3/include/genlib.h"
click node_simple_input "https://github.com/qsctech/zju-icicles/blob/master/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E4%B8%93%E9%A2%98/project3/include/simpio.h"
click node_string_library "https://github.com/qsctech/zju-icicles/blob/master/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E4%B8%93%E9%A2%98/project3/include/strlib.h"
click node_allocation_helpers "https://github.com/qsctech/zju-icicles/blob/master/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E4%B8%93%E9%A2%98/project3/include/gcalloc.h"
click node_graphics_core "https://github.com/qsctech/zju-icicles/blob/master/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E4%B8%93%E9%A2%98/project3/include/graphics.h"

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_course_collection toneBlue
class node_leaf_classify,node_library_lab,node_data_structures,node_computer_arch toneAmber
class node_compiler_example,node_compiler_core toneMint
class node_graphics_impl,node_graphics_interfaces,node_general_library,node_simple_input,node_string_library,node_allocation_helpers,node_graphics_core toneRose
class node_student,node_contributor,node_github toneIndigo
```

## Components

### Course resources

- **Course collection**

### Course code artifacts

- [Leaf classification](https://github.com/qsctech/zju-icicles/tree/master/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0-%E5%9B%BE%E7%81%B5/Project%20-%20ClassifyLeaves/code): `机器学习-图灵/Project - ClassifyLeaves/code`
- [Library lab](https://github.com/qsctech/zju-icicles/tree/master/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F%E5%8E%9F%E7%90%86/%E5%AE%9E%E9%AA%8C/lab/mybLab5/src/main/java/org/lab5): `数据库系统原理/实验/lab/mybLab5/src/main/java/org/lab5`
- [Data structures](https://github.com/qsctech/zju-icicles/tree/master/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E5%9F%BA%E7%A1%80/%E4%BD%9C%E4%B8%9A/dsHomework): `数据结构基础/作业/dsHomework`
- [Computer architecture](https://github.com/qsctech/zju-icicles/tree/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BB%84%E6%88%90%E4%B8%8E%E7%B3%BB%E7%BB%9F%E7%BB%93%E6%9E%84/prj_1/src): `计算机组成与系统结构/prj_1/src`

### Compiler textbook code

- [Compiler example](https://github.com/qsctech/zju-icicles/blob/master/%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/%E6%95%99%E6%9D%90/%E8%99%8E%E4%B9%A6%E6%95%99%E6%9D%90%E4%BB%A3%E7%A0%81/chap9/main.c): `编译原理/教材/虎书教材代码/chap9/main.c`
- [Compiler core types](https://github.com/qsctech/zju-icicles/blob/master/%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/%E6%95%99%E6%9D%90/%E8%99%8E%E4%B9%A6%E6%95%99%E6%9D%90%E4%BB%A3%E7%A0%81/chap4/absyn.h): `编译原理/教材/虎书教材代码/chap4/absyn.h`

### Graphics library artifacts

- [Graphics implementation](https://github.com/qsctech/zju-icicles/blob/master/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E4%B8%93%E9%A2%98/project3/libgraphics/graphics.c): `程序设计专题/project3/libgraphics/graphics.c`
- [Graphics interfaces](https://github.com/qsctech/zju-icicles/blob/master/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E4%B8%93%E9%A2%98/project3/include/extgraph.h): `程序设计专题/project3/include/extgraph.h`
- [General library](https://github.com/qsctech/zju-icicles/blob/master/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E4%B8%93%E9%A2%98/project3/include/genlib.h): `程序设计专题/project3/include/genlib.h`
- [Simple input](https://github.com/qsctech/zju-icicles/blob/master/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E4%B8%93%E9%A2%98/project3/include/simpio.h): `程序设计专题/project3/include/simpio.h`
- [String library](https://github.com/qsctech/zju-icicles/blob/master/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E4%B8%93%E9%A2%98/project3/include/strlib.h): `程序设计专题/project3/include/strlib.h`
- [Allocation helpers](https://github.com/qsctech/zju-icicles/blob/master/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E4%B8%93%E9%A2%98/project3/include/gcalloc.h): `程序设计专题/project3/include/gcalloc.h`
- [Graphics interface](https://github.com/qsctech/zju-icicles/blob/master/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E4%B8%93%E9%A2%98/project3/include/graphics.h): `程序设计专题/project3/include/graphics.h`

### Other components

- **Student**
- **Contributor**
- **GitHub**

## Connections

- Student → Course collection: browses (evidence: `README.md`)
- Course collection → Leaf classification: includes
- Course collection → Library lab: includes
- Course collection → Data structures: includes
- Course collection → Computer architecture: includes
- Contributor → GitHub: submits changes (evidence: `README.md`)
- GitHub → Course collection: hosts materials (evidence: `README.md`)
- Compiler example → Compiler core types: uses types (evidence: `编译原理/教材/虎书教材代码/chap9/main.c`)
- Graphics implementation → Graphics interfaces: implements interface (evidence: `程序设计专题/project3/libgraphics/graphics.c`)
- Graphics implementation → General library: uses definitions (evidence: `程序设计专题/project3/libgraphics/graphics.c`)
- Graphics implementation → Allocation helpers: uses helpers (evidence: `程序设计专题/project3/libgraphics/graphics.c`)
- Graphics implementation → String library: uses helpers (evidence: `程序设计专题/project3/libgraphics/graphics.c`)
- Graphics interfaces → Graphics interface: extends interface (evidence: `程序设计专题/project3/include/extgraph.h`)
- Simple input → General library: uses definitions (evidence: `程序设计专题/project3/include/simpio.h`)
