Peking University Computer Basic Competence Manual
This is a computer fundamentals resource I believe is worth keeping for long-term reference. Although the title says "Peking University," the content is not limited to a single course or department. Instead, it systematically reorganizes a great deal of knowledge that universities assume you "should already know" but rarely teach in a structured way.
The full handbook is approximately 579 pages across 30 chapters, covering everything from searching for information, configuring environments, using the terminal and Linux, all the way to C/C++, Python, Git, SSH, debugging and testing, LaTeX, data structures, concurrent programming, and machine learning. Its greatest value lies not in any single chapter, but in bridging the gap between "being able to solve problems" and "being able to truly use a computer to get things done."
The preface clearly articulates the handbook's positioning: it prioritizes breadth over depth, and practice over abstract theory. This is precisely why I wanted to include it in this project.
Why It Is Worth Reading
- It fills in "computer basic competencies" rather than scattered knowledge points, making it suitable for repeated reference.
- It connects capabilities like searching, environment configuration, terminal, Linux, programming, version control, remote connections, debugging, and testing into a coherent path.
- It has a strong engineering-practice orientation, repeatedly emphasizing "do it yourself," making it well-suited for closing the gap between coursework and real-world development.
Content Overview
The structure of this handbook can be roughly summarized into the following sections:
- Getting Started: search and information retrieval, resource evaluation, how to ask questions, GitHub, and other foundational information literacy skills.
- Environment and Systems: hardware, purchasing and verifying machines, system installation, software ecosystem, terminal, Linux, WSL, and basic configuration.
- Programming and Engineering: C, C++, Python, CMake, Git, keys and remote access, pragmatic programming, debugging, testing, and deployment.
- Principles and Extensions: data storage, machine-level code, system calls, data structures, algorithms, concurrent programming, and machine learning.
- Writing and Organization: Markdown, Typst, LaTeX, and advanced LaTeX.
How to Read It
If you just want to quickly establish a usable workflow, there is no need to read cover to cover. You can pick sections based on your goals:
- Building foundations from scratch: start with "Search and Information Retrieval," "System Installation, Basic Configuration, and Software Ecosystem," "Getting Started with Computers," and "Entering the World of Programming."
- Getting your development environment in order: start with "Terminal 101," "Getting Started with Linux," "Git and Version Control," and "Debugging, Testing, and Deployment."
- Transitioning from problem-solving to project work: start with "C Engineering Overview," "Pragmatic Programming," "Keys and Remote Access," and "Debugging, Testing, and Deployment."
- Incorporating research writing: add "Typesetting: Markdown and Typst," "LaTeX," and "Advanced LaTeX."
Source
The handbook itself provides the project repository and online version. If you want to track updates, you can visit the following links:
- Project Repository: ZangXuanyi/getting-started-handout
- Online Version: LCPU GitBook Version