Skip to the content.
![用大白话讲软件工程](/software-engineering-the-easy-way/images/banner.svg) # 🌍 Software Engineering — The Easy Way ### 用最朴素的大白话讲清楚软件工程 [![GitHub license](https://img.shields.io/github/license/thetpmguy/software-engineering-the-easy-way.svg)](https://github.com/thetpmguy/software-engineering-the-easy-way/blob/main/LICENSE) [![GitHub contributors](https://img.shields.io/github/contributors/thetpmguy/software-engineering-the-easy-way.svg)](https://github.com/thetpmguy/software-engineering-the-easy-way/graphs/contributors/) [![GitHub issues](https://img.shields.io/github/issues/thetpmguy/software-engineering-the-easy-way.svg)](https://github.com/thetpmguy/software-engineering-the-easy-way/issues/) [![GitHub pull-requests](https://img.shields.io/github/issues-pr/thetpmguy/software-engineering-the-easy-way.svg)](https://github.com/thetpmguy/software-engineering-the-easy-way/pulls/) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](../../CONTRIBUTING.md) [![GitHub watchers](https://img.shields.io/github/watchers/thetpmguy/software-engineering-the-easy-way.svg?style=social&label=Watch)](https://github.com/thetpmguy/software-engineering-the-easy-way/watchers/) [![GitHub forks](https://img.shields.io/github/forks/thetpmguy/software-engineering-the-easy-way.svg?style=social&label=Fork)](https://github.com/thetpmguy/software-engineering-the-easy-way/network/) [![GitHub stars](https://img.shields.io/github/stars/thetpmguy/software-engineering-the-easy-way.svg?style=social&label=Star)](https://github.com/thetpmguy/software-engineering-the-easy-way/stargazers/) **一门为"听不懂技术黑话"的人准备的完整软件工程课程 —— 现在听不懂,学完就懂了。** *不需要经验。不需要昂贵的电脑。不需要数学学位。*

🌐 多语言支持

课程由社区志愿者翻译 —— 下面所有语言的课程主页都已就绪,完整课程内容正在陆续翻译中。 来帮忙翻译吧!

English العربية (Arabic) বাংলা (Bengali) Deutsch (German) Español (Spanish) Français (French) हिन्दी (Hindi) Bahasa Indonesia (Indonesian) 日本語 (Japanese) Português (Portuguese) Русский (Russian) Kiswahili (Swahili) தமிழ் (Tamil) తెలుగు (Telugu) اردو (Urdu) 中文-简体 (Chinese, Simplified)

🚧 课程内容目前还是英文 —— 主页已翻译,让你先看看学完能收获什么。帮忙把课程翻译成你的语言:如何参与翻译


如果你能读懂这一页,你就能学完这门课。学到最后,你将真正明白软件是怎么运转的,会写出你的第一批程序,发布一个真实的网站,并且能在任何技术对话里从容应对 —— 全部用最朴素的大白话,配上日常生活中的比喻来讲解。

🤔 这门课适合谁?

没有任何前置要求 —— 我们会解释一切,连”文件(file)”到底是什么都会讲清楚。

🎓 你将学到什么

我们不会讲的东西: 高等数学、特定的企业级工具,以及各种炒作。每一个比喻我们都会诚实地告诉你它在哪里”不成立”,而讲人工智能的那一章会坦诚地说明它的局限。

🚀 如何开始

  1. ⭐ 给这个仓库点个 Star,方便你随时找回来。
  2. 阅读 START HERE(从这里开始)(5 分钟)—— 了解课程如何运作,以及你需要哪些免费的浏览器(browser)工具。什么都不用安装。 每个实验都能在浏览器里跑,手机上也行。
  3. 模块 01 开始 —— 或者从 学习路径 里挑一条捷径(”我只有一个周末”、”我管理工程师”、”我只关心人工智能”……)。
  4. 被某个词卡住了?术语表 用一句大白话解释每一个术语。

老师和学习小组: 一切内容都可依据许可证自由复用。 Fork(复刻)这个仓库,把它改造成适合你课堂的样子。

📚 课程大纲

每个模块都包含一节大白话课文、一个浏览器里就能做的实验、一份用来自测的测验,以及一批精选的免费延伸资料。请从上往下学 —— 每个模块都建立在前一个之上。

# 模块 课文 实验 测验 延伸
I 机器 🖥️ —— 发光的矩形里面到底是什么        
01 计算机到底是什么? 课文 实验 测验 链接
02 软件(software)是什么? 课文 实验 测验 链接
03 互联网是怎么工作的 课文 实验 测验 链接
II 像工程师一样思考 🧠 —— 思维方式占了这份工作的 80%        
04 如何像程序员一样思考 课文 实验 测验 链接
05 你的第一段代码(Python,就在浏览器里) 课文 实验 测验 链接
06 数据(data):世界的新石油 课文 实验 测验 链接
III 真实的软件是怎么造出来的 🏗️ —— 从一张便利贴到应用商店        
07 从想法到应用:软件开发生命周期(software development lifecycle) 课文 实验 测验 链接
08 Git 和 GitHub:团队协作的时光机 课文 实验 测验 链接
09 软件为什么会坏:缺陷(bug)、测试与质量 课文 实验 测验 链接
10 一个应用的解剖:前端(frontend)、后端(backend)与 API 课文 实验 测验 链接
IV 计算机科学,去掉吓人的数学 🔬 —— 那些著名的思想,讲得有人情味        
11 用大白话讲算法(algorithm)与数据结构 课文 实验 测验 链接
12 数据库(database):一切数据住的地方 课文 实验 测验 链接
13 操作系统(operating system)与网络(network):看不见的管理员 课文 实验 测验 链接
14 安全(security):锁、钥匙与数字自卫术 课文 实验 测验 链接
V 现代软件世界 ☁️ —— 把新闻里的热词一一破译        
15 云(cloud):租用别人的电脑 课文 实验 测验 链接
16 人工智能与机器学习(machine learning),不带炒作 课文 实验 测验 链接
17 网站、应用与其他一切 课文 实验 测验 链接
VI 人与职业 🧑‍🤝‍🧑 —— 软件是人做出来的        
18 科技行业里谁在做什么 课文 实验 测验 链接
19 你进入科技行业的路径 课文 实验 测验 链接
🏆 毕业设计(capstone):做一个真实的东西 概览 路线 A:网站 · 路线 B:当产品经理 · 路线 C:自动化 作品展示

📝 测验与实验

🗺️ 全课程参考页

页面 用途
START HERE 如何使用本课程、学习时间表、你需要的三样工具
术语表 课程里的每个技术术语,一句大白话解释
学习路径 各种捷径:周末冲刺、经理路线、只关心人工智能、创始人……
常见问题 诚实的回答:”我是不是太老了?”、”需要数学吗?”、要学多久
写作风格指南 每节课都遵循的写作规则
课程设计笔记 这门课为什么这样设计

🎒 离线使用

克隆(clone)这个仓库(模块 08 会教你怎么做),然后一切 —— 课文、实验、测验 —— 都能作为纯文本离线使用。只有外部链接和浏览器实验才需要联网。

🤝 参与贡献与社区

遇到看不懂的句子?那是我们课程的缺陷,不是你脑子的问题 —— 请提一个 issue,或者直接发一个修改:见 CONTRIBUTING(贡献指南)。翻译是所有贡献中最受欢迎的:见翻译指南。学完的人:把自己加进毕业设计作品展示 —— 这也顺便成为你的第一个 pull request。

📄 许可证

永远对所有人免费 —— 见 LICENSE

**献给这个世界上千千万万聪明的人 —— 软件行业忘了向他们解释自己。** *如果这门课帮到了你,请给仓库点个 ⭐ Star,好让更多人找到它。*