nwpu-cram: an archive of software school course material from Northwestern Polytechnical University
西北工业大学/西工大/nwpu/npu软件学院复习(突击)资料!!
At a glance
- What is it?
- The nwpu-cram repository collects review material for the software school at Northwestern Polytechnical University, organised into folders named by year of study, plus hash-prefixed folders for courses outside the standard plan. It is a student-curated archive, and its own README is more about exam culture and information asymmetry than about the files it holds.
- Who is it for?
- Adopt the nwpu-cram repository as a reference if you study at the same school and need an index of past course material, and read CLONING.md first so a shallow clone does not pull the whole archive. Do not adopt it as a general learning resource, because the content is tied to one school's curriculum and to individual lecturers' exams, and the README itself asks readers not to copy the lab assignments.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 23 days ago.
- What is it written in?
- Mainly Jupyter Notebook, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 22, 2026, and from our analysis. They are not legal advice.
Editorial analysis
A student archive, organised by year of study
The nwpu-cram repository collects review material for the software school of Northwestern Polytechnical University, and the organising idea is the year of study rather than the subject.
The README states the convention directly. Folder names beginning with A, B and C correspond in order to the first, second and third year, and a hash prefix marks some courses that sit outside the standard plan. The top level listing follows that scheme, with A-prefixed folders for the first year and B-prefixed for the second, C for the third, and hash-prefixed folders for everything else.
The first year covers the usual mathematics and computing foundation: the A-prefixed calculus folder, the A-prefixed linear algebra folder, the A-prefixed introductory programming folder, the A-prefixed university physics folder, the A-prefixed data structures folder with a separate lab folder alongside it, the A-prefixed discrete mathematics folder, and the A-prefixed computer systems fundamentals folder. There are also folders for the political and military theory courses that Chinese universities require, a political theory and law folder, a military theory folder, and an aesthetics course folder, alongside several that are not in the README's own list, such as a sports question bank, a circuit theory folder, and a physics laboratory folder.
The second year is the systems and theory block: the B-prefixed computer organisation folder with a lab folder for it, the B-prefixed operating systems folder with a lab folder, the B-prefixed computer networks folder with a lab folder, the B-prefixed database systems folder, plus a complex functions and integral transforms folder, a numerical methods folder, a probability and statistics folder, a software engineering introduction folder, and an object oriented programming folder for Java, and the political theory papers.
The third year is the specialisation layer, with a C-prefixed algorithm design and analysis folder, a compiler construction folder, a computer vision folder, a software testing folder, a software requirements folder, a networked and distributed systems folder, and a signals and systems folder, alongside a machine learning folder, a natural language processing folder, and a pair of computer graphics courses.
The hash-prefixed folders are the interesting ones
The courses that do not belong to a numbered year are marked with a hash, and the listing shows that they are not a tidy little category of electives. They include a MATLAB folder, a Python from the ground up folder, a diagrammatic introduction to deep learning, basic flight simulation, fine chemical engineering, economics topics, Western film and culture, exercise and the brain, and the postgraduate recommendation process.
That last group is worth noting. One of the hash-prefixed folders is not course material at all. It holds administrative material about the postgraduate recommendation process, which tells you that this repository is a working folder for a cohort rather than a curated teaching site.
The listing also shows several folders that are more complete than the README's list, which is itself informative. One A-prefixed folder is a question bank for a physical education course, and the C-prefixed folders extend well past what the README enumerates, with a complex network analysis folder, a history of reform and opening up folder, a digital image processing folder, a big data folder, two separate computer graphics courses, a software architecture folder, and a machine learning folder.
Several subjects appear twice in a way that suggests revision history rather than duplication, with a course listed both in a dated edition form and a plain form.
The README is really about exam culture
The unusual thing about this repository is that the README spends most of its length on something other than the files.
The stated aim is to share exam materials that are easy to find and hard to find, and to build a place where people can genuinely exchange experience. The listed hopes are to ease pre-exam anxiety, to help people who are busy with more important things, to help students extend their high school exam skills into the ability to solve real problems, and to make the school better, with suggestions to the school invited in a pinned issue.
Then there is a personal note. The author describes themselves as a final year undergraduate from the class of 2020, about to leave, who has put all their own collected material here and does not expect to contribute much more.
The closing section is a long reflection on what the author has come to think about exams and grades. The argument runs that undergraduate results in these courses often reflect an information gap rather than absolute ability, that resources matter more than raw talent, and that the real skill is information gathering and using what you have, including the reality of the rules. The author is explicit that grades and ability are not the same thing, and that the most useful thing is not the content but the ability to collect and apply it.
That is a genuinely different register from a normal study repository, and it is the part of the README worth reading in full. It also explains why the author is comfortable publishing the content: once it is in a public repository, everyone can reach it, and the winners are the ones who keep collecting newer material.
House rules against cheating, and a licence that permits reuse
The other matters section sets out the rules of the repository, and they are worth reading as a set of constraints rather than as boilerplate.
The repository is for study and exchange only and is non-profit, and if there is an infringement the author asks to be contacted for removal. The next line is the one that matters most: the project does not encourage the rat-race culture of the exams, does not encourage copying, and says not to copy the lab assignments from the repository. The courses you take should still be taken properly, the homework should still be written properly, and the experiments should still be done properly. Proper and fair competition is encouraged, with the line that you should not go past the edge of the rules and definitely should not cheat.
Contributions are welcome through issues, discussions and pull requests, with the note that subject-by-subject discussion before the exams gets more participation, so discussions are the better venue. The collection, organisation and maintenance of the content is credited to many people, and the author invites others to join in as well as invites suggestions about the repository itself.
Set against that, the licence is MIT, and the repository records a LICENSE file, a CODE_OF_CONDUCT.md and a CLONING.md. The MIT grant is the interesting tension: the licence permits reuse and redistribution in a way the stated house rules discourage, which is a common situation for student archives and a good reminder to read the README rather than assume the licence tells the whole story.
CLONING.md is singled out in the contribution guide as a guide to shallow cloning the repository, so that you can make local modifications without pulling the whole thing.
Maintenance, and what a shallow clone actually solves
The repository is not archived and the last push was on 2026-09-30, with no GitHub releases. The primary language recorded for it is Jupyter Notebook, which is a reasonable signal for a course material collection, since a lot of the computational subjects are best delivered as notebooks you can run.
The shallow cloning guide is the practical entry point for anyone who wants to contribute rather than just browse. A repository of this kind accumulates large binaries, past paper scans and archived course content, and a full clone is slow and large. The guide's purpose, as the README describes it, is to make local modification possible without pulling everything.
That tells you something about the shape of the project. It is not a package anyone installs. It is not an application anyone runs. The primary language tag of Jupyter Notebook is about the notebooks inside the course folders, not about a codebase. The top level has the expected repository furniture, an .editorconfig, a .github directory, a CODE_OF_CONDUCT.md, a LICENSE, a README and CLONING.md, and then a very long list of subject folders.
So the way to use it is to clone shallowly, work in the folder for the subject you are studying, and open the files. For the students it was written for that is obvious. For anyone else the value is different, because the content is tied to a specific curriculum and a specific set of exam papers, and it will not map onto a different course without the context that produced it.
Editorial conclusion
Adopt the nwpu-cram repository as a reference if you study at the same school and need an index of past course material, and read CLONING.md first so a shallow clone does not pull the whole archive. Do not adopt it as a general learning resource, because the content is tied to one school's curriculum and to individual lecturers' exams, and the README itself asks readers not to copy the lab assignments. Before you rely on it, check the folder names against the current syllabus, since the directory listing mixes course folders with year prefixes that changed meaning as the curriculum moved, and note the repository records no releases and one author who says they will contribute little more.
Frequently asked questions
What is the nwpu-cram repository?
It is an MIT licensed archive of study and review material for the software school courses at Northwestern Polytechnical University, curated by a student. The folders are named by year of study, with A, B and C prefixes for the first, second and third year, and a hash prefix for courses outside the standard plan.
How do I contribute to the nwpu-cram repository?
The contribution guide points to CLONING.md for the shallow clone procedure, so you can make local changes without pulling the whole repository. Issues, discussions and pull requests are all welcome, with discussions preferred for subject-by-subject exam talk, and suggestions about the repository itself are invited too.
Does the nwpu-cram repository say anything about copying the content?
Yes. The README states that the repository is for study and exchange only and is non-profit, and asks readers not to copy the lab assignments from it, saying that the courses, homework and experiments should still be done properly, and that cheating is not acceptable. It asks to be contacted for removal in case of infringement.
Who maintains the nwpu-cram repository?
The README describes the author as a final year undergraduate from the class of 2020 who has moved all their own collected material into the repository and does not expect to contribute much more themselves, while crediting the many people who collected and organised the content. The last push was on 2026-09-30 and there are no published releases.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/lecterchu-nwpu-cram)Was this useful?