QSCTech/zju-icicles (浙江大学的“课程攻略共享计划”) is a Chinese-language, crowd-sourced archive of course materials for Zhejiang University, mainly computer science. The README and most repository content are in Chinese, and there is no English documentation. It solves a real, unglamorous problem: course intelligence at a university is scattered across WeChat/QQ groups, CC98 forums, and a senior's USB stick. This project turns those hidden notes, past exams, homework answers, and A4 cheat sheets into a browsable GitHub repo with folders and README files per course.
The repository is large: at commit ed653c6, it held 4,731 files and 6,979.5 MB checked out, with roughly 27,631 lines of source recognized by our tooling. The project began in 2016 and now has 41,023 stars, which is huge for this category. The last push was 2026-09-07, three days before this review, so it is still actively maintained. There are 11 open issues, a low number for a repo of this size and age, which suggests maintainers either triage quickly or contributors are not filing many tickets.
What happened when we ran it
Because the measurement harness saw a Python ecosystem surface, it attempted a package install and then a build. In our run on 2026-09-09, the install succeeded in 25 seconds, installing 58 packages and using 60 MB on disk. There were 0 known vulnerabilities from pip-audit. The build then failed in 5 seconds with exit code 1. The README never mentions a build step, and the repo is not an application you compile or run; it is a collection of documents, PDFs, and markdown. A packaging build has no valid target in a repository whose main content is course material. We did not see a project-specific error in the log beyond the exit code, and we will not guess at a cause the log does not show. There is no tests script or tests directory, so the harness skipped tests. The repository has one CI workflow file, no Dockerfile, and no tests directory. In short, do not judge this project by build status; judge it by whether you can find the material you need.
For a contributor, the real setup is not a build. It is forking the repo and uploading files through GitHub's web interface. The README walks through that flow in Chinese, including a trick for creating a new folder by editing the browser address bar. The project's large size, 6,979.5 MB, makes a full local clone heavy; the web flow is the intended path for most people.
Strengths
The strongest part of this project is its directory convention. Each course gets a folder, and each folder can display a README alongside its files, so someone browsing GitHub sees course introductions and selection advice next to the PDFs and notes. The README explicitly requests contributions for selection guides, electronic textbooks, homework answers, past exams, review material, and open-book exam A4 sheets. It says the project already covers most computer science courses. It also has a clear policy about what not to upload: pirated ebooks, cracked paid software, and instructor-published course pages. That policy reduces copyright risk and keeps the repository on the right side of GitHub's rules.
The documentation for contributors is unusually practical. It warns that a contributor's fork can drift dozens or hundreds of commits from upstream, and offers two solutions: delete and re-fork if you are not comfortable with git, or rebase if you are. That kind of detail is exactly what prevents novice contributors from getting stuck. The project also asks reviewers to use pinyin initials for teacher names, which is a thoughtful privacy convention from the Chinese university context.
Another strength is the longevity and community pull. Ten years of accumulated material is not something a single person curates; it is a living archive maintained by generations of ZJU students. The 41,023 stars are not a vanity metric here: they signal trust and discoverability for incoming students. Active pushes three days before this review, with only 11 open issues, mean the repository is not a museum.
Weaknesses and rough edges
The biggest weakness is discoverability outside the target audience. The entire README is in Chinese, and there is no English README or translation. If you do not read Chinese, you can still browse file names and PDFs, but the selection advice and folder READMEs will be inaccessible. The repository license is listed as unknown by GitHub; the README licenses contributed text under CC-BY-NC-SA, but other materials belong to their original authors. That split license is normal for course archives but means you should not treat the repo as cleanly open source for commercial use.
The build failure we measured is not a product bug, but it will confuse anyone who expects a Python package. The repo includes a Python packaging surface according to our harness, yet the generic build exited 1 after 5 seconds. A curious user who runs pip install . or a build tool will get a failure and no guidance in the README. If the maintainers want to avoid that confusion, they could mark the repository as a documentation/resource project or add a stub build target, but that may be out of scope.
The repo is also enormous at 6,979.5 MB. That is mostly course PDFs and archives, unavoidable for this purpose, but it makes local clones and forks slow for people with limited bandwidth. The recommended web upload flow avoids local cloning, but then contributors cannot preview the full tree locally. The absence of a Dockerfile or tests is not a problem for this kind of project, but it is a limitation if you want to run any kind of validation on filenames or broken links before merging PRs.
Community health and release cadence
There are no releases, and that is fine for this project: it does not ship versioned software. The last push was 2026-09-07, three days before this review, showing active maintenance. With 11 open issues on a 41,023-star repo, the issue tracker is quiet, likely because usage does not require support. The single CI workflow file suggests some automation exists, but we did not run it and the README does not describe it. Overall, the community is alive and the project is being touched often enough to trust that new materials are accepted.
Where this fits in a real stack
This project is not software you deploy; it is a reference layer for students. It fits before or beside a university's official LMS, not in front of it. A student would use it at the start of a semester to read course reviews and download past exams, then consult it before finals for A4 sheets and homework answers. Contributors add material after a course ends. It does not replace Canvas, Moodle, or any institutional system; it complements them by preserving what official systems often delete after the term.
If you are not a Zhejiang University student, the most useful thing may be the model itself: a git-based, folder-first, contribution-friendly approach to course resource sharing. Several universities have built similar repos, and the ones below are worth checking for your own school.