abmfy/summertraining-homework — explained in plain English
Analysis updated 2026-08-01 · repo last pushed 2022-07-11
Learn how to define data structures using Protobuf and generate C++ code from them.
Practice setting up a C++ build system using CMake on Linux.
Understand how to serialize structured data into a compact binary file.
Get familiar with a Linux development environment using WSL or a virtual machine.
| abmfy/summertraining-homework | achanana/mavsdk | alange/llama.cpp | |
|---|---|---|---|
| Stars | — | — | 0 |
| Language | C++ | C++ | C++ |
| Last pushed | 2022-07-11 | 2024-05-20 | — |
| Maintenance | Dormant | Dormant | — |
| Setup difficulty | moderate | moderate | moderate |
| Complexity | 2/5 | 4/5 | 4/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires installing protoc, CMake, and a C++ compiler on Linux or WSL.
This repository is a homework assignment for a summer training course, likely run by a student tech organization at Tsinghua University. It's designed to teach beginners how to set up a development environment on Linux and practice using two industry tools: Protocol Buffers (Protobuf) and CMake. The assignment walks students through defining a data structure for a video game character and then compiling that structure into a working program. At a high level, the homework asks students to define a "Player" with specific attributes like health points, a nickname, a job class, and held items. They do this by writing a special definition file (a .proto file) that describes this data. Then, they use a tool called protoc to automatically generate the actual C++ code from that definition. Finally, they write a small main program that creates a player named Alice, gives her 10,000 health and some weapons, and use CMake to turn all of this into a runnable application. The program also outputs a serialized binary file, which is a compact way of saving the player's data. The intended users are students learning C++ development in a Linux environment. The assignment gives them flexibility in how they access Linux: if they're on Windows, they can use WSL (a feature that runs Linux inside Windows) paired with Visual Studio Code, or they can run a full virtual machine. The concrete example here makes it easy to understand the goal, you're essentially building a tiny character sheet for a game and saving it to a file. The project is also notable because it connects to a larger, real-world project called THUAI5. The README links to actual Protobuf and CMake files from that project as optional further reading, so students can see how the tools they're learning are used in a bigger codebase. The assignment was due in July 2022, so it's a finished course exercise rather than an active project.
A beginner C++ homework assignment that teaches Linux setup, Protobuf, and CMake by building a simple video game character sheet and saving it to a file.
Mainly C++. The stack also includes C++, Protobuf, CMake.
Dormant — no commits in 2+ years (last push 2022-07-11).
No license information is provided in the repository, so default copyright restrictions apply.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.