Skip to content

Image title

Foreword

This guide is based on CS Self-Learning Guide and curated for BUPT students as a Communication/Computer Science self-learning resource.

The book currently includes:

  • User guide: Usage suggestions for different audiences and learning goals.
  • CS learning plan: A reference, systematic self-learning plan.
  • Productivity toolkit: IDE, VPN, Git, Vim, LaTeX, Docker, workflow, etc.
  • Book recommendations: Classic books and resources by topic.
  • High-quality CS/EE courses: Course summaries and self-learning tips; many have separate repos for materials and assignments.

Where to start —— CS61A

If you are new to programming, CS61A is a solid first step: clear site, open textbook, and well-designed labs and projects.

Why use this guide

Good courses explain concepts clearly and reinforce them with assignments. This guide organizes courses and resources into a reference path so you can pick what fits your goals.

Pros and cons of self-learning

Pros: Pace your learning, rewatch hard parts and skip easy ones; learn from multiple schools; more flexible schedule.

Cons: Less direct interaction—rely on search and community; most resources are in English; self-discipline matters when there is no DDL.

Who is this for

Anyone who wants to self-learn CS/EE can use it. With prior background, pick only the sections you need; if you are just starting, treat it as one possible route and adapt as you go.

Thanks

Thanks to all who open-source courses and materials. This guide is derived from CS Self-Learning Guide; we thank the original project and its contributors.

Contributing

Pull requests are welcome. To add a new course, see template and the nav in mkdocs.yml.

Community

You can leave a comment on a course page with your study goal and how to join a group (e.g. QQ/WeChat), or check existing discussions in the repo issues.