summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBigCoke233 <hi@guhub.cn>2025-12-25 12:04:04 +0800
committerBigCoke233 <hi@guhub.cn>2025-12-25 12:04:04 +0800
commit57e41e9d9a8e24b225fe67ff99099235753aaff5 (patch)
treecff73dba9d1b6a5e9211539ddd202c1ae433cd5f
parent67de9e9f957da73ceee3d72a6243275b0e6e4dfe (diff)
docs: update markdown files (2025-12-25 12:04:04)
Former-commit-id: 82dac6571770bf129ffeb601acc094728ab4b6bf
-rw-r--r--content/_drafts/教师的傲慢-ii.md126
1 files changed, 126 insertions, 0 deletions
diff --git a/content/_drafts/教师的傲慢-ii.md b/content/_drafts/教师的傲慢-ii.md
new file mode 100644
index 00000000..10d7292b
--- /dev/null
+++ b/content/_drafts/教师的傲慢-ii.md
@@ -0,0 +1,126 @@
+---
+title: 教师的傲慢 II
+subtitle:
+tags:
+categories:
+date:
+draft: true
+toc: true
+---
+
+我在大学的前两年都是个很守纪律的学生,从来没有逃过课。一方面,我不想因为违纪给我带来不必要的麻烦,消耗心力;另一方面,自己毕竟还是学生,在脱离这个身份之前还是得继续做学生应该做的事情;还有一方面,大部分的课程其实还没有到难以忍受的地步。
+
+不过例外总是有的。<!--more-->
+
+## 在老旧的技术栈里坐井观天
+
+专业开设了两门和前端开发相关的课程,一门叫做「Web 前端开发」,授课内容就是 HTML 和 CSS,和 JavaScript 相关的内容很少;另一门叫做「JavaScript 框架和 SPA 技术」,授课内容是 Vue 3 和相关的技术栈(谢天谢地你讲的不是 React)。前者我在初中买过一本书自学过,那本书所属的系列还有一本 JavaScript 和 jQuery 的教程,我也买来读过[^1];后者我在大学期间自学过,不过,就算没有学过 Vue,我对 React 相关的技术栈也比较熟悉。在在我的整个高中生活里,我的周末和夜晚几乎都用来折腾各种前端框架了。
+
+这两门课都是同一个老师教的,学校里显然没有别的会前端的老师了,像其他*目光短浅*的开发者一样,我所在的环境里几乎没有人重视前端开发。课程的内容不是最大的问题(虽然问题也不小),最大的问题是授课的老师对他理应掌握的知识所展现出的*惊人的*匮乏。我从没见过他打开浏览器的开发者工具(也就是按下 Ctrl/Command + Shift + I 或者右键菜单的「审查元素」会打开的面板),他排查问题的方式是用肉眼盯着源代码看,而且是通过右键菜单点开网页的「查看源代码」来排查的——当课程内容转向 Vue,浏览器里的源代码视图只会显示页面基本框架和用于加载 Vue 的 JavaScript 脚本,他也就没办法在浏览器里排查问题了,就只会盯着 VS Code 的界面看,还要学生来提醒他哪里写错了。[^2]
+
+作为开发者,这位老师对命令行工具的使用也不熟悉得令人发指。一般而言,创建一个基于 Vue 的前端项目框架,开发者会使用 `bun create vue`[^3] 这样的命令,拉取到相关的软件包之后,就会出现交互式的终端界面用于配置开发环境。这位老师的「不熟练」体现在两点,当然还有其他尚未发现的。
+
+第一,他教学生不要使用 PowerShell,要使用 `cmd`,还教学生如何在 VS Code 中把终端切换为 `cmd`。即便我是 macOS 用户,我也知道,要运行 Node.js 相关的技术栈,`cmd` 这种老古董是不如 PowerShell 好使的。他这样教学生的理由是(以下是他的原话):「使用 PowerShell 呢,路径会有一些问题」我不知道他说的是什么路径问题,但我肯定那是他自己的无知导致的。
+
+第二,我已经记不清楚他有几次课在课上这样讲到:「首先呢,我们要把 Vue 项目里的示例代码都清除掉。把 `<style>` 里的 CSS 样式都删掉,这样就会变得很干净。然后呢,要…… 这样一来,我们的 Vue 项目就变得很*简约*啦,方便我们在上面进行修改。」
+
+……
+
+请读者稍等我调整一下心情。
+
+![](https://image.guhub.cn/uPic/2025/12/YcZMMS.png "图中被框起来的一个选项,上面写着「Skip all exampple code and start with a blan Vue project?」")
+
+这句过了四级都能读懂的英文,意思是:要跳过示例代码,用一个空白的 Vue 项目开始吗?
+
+这个老师还会教学生删除目录下的 `.git` 目录和 `.gitignore` 文件,因为他认为「Git 很麻烦」。对于教学生不去使用行业内最基础的版本管理工具和协作工具的老师,我不知道该说什么好。我只能想想,他在提交更改和处理冲突的时候,看到终端里弹出来一大堆他看不懂的英文,不清楚自己做错了什么也不知道如何修复,在网络上四处搜索才解决,之后也很快忘记了解决方案,只留下了「Git 很麻烦」的印象。
+
+以及,我从没见过他用过 npm 或者别的什么包管理器添加依赖,在教学生使用 Element Plus 这个 UI 框架的时候,他强调要学生使用它放在 PPT 上的方法引入框架——用 `<script src="">` 和公共 CDN 直接引入。他声称「教材上的方法是有一些问题的」,我没买过什么教材,因为该有的东西都写在官方文档里了。我猜测,他所谓的有问题的引入方法,应该涉及到通过包管理器添加依赖,然后用 ES6 标准的 `import` 关键词引入依赖,但他不会,在尝试这么做的时候得到了他读不懂的英文报错,于是留下的「教材上的方法有问题」的印象。
+
+这个老师是第一个也是目前唯一一个让我产生逃课想法的老师,只可惜,所有**没办法靠自己的教学能力把学生留下**的老师都有一个狡猾的手段——位置签到。学生必须到达教学楼,和一个可疑的软件共享位置信息,在老师发布的限时签到中按下签到按钮,才算出勤。要是缺勤,辅导员回来找我麻烦;要是缺勤三次,按照学校的规定,这门课直接挂科——他也只能用这种手段把我留下来了。
+
+## “学生写不出来这种代码”
+
+这类中老年男人教师有一个很奇怪的习惯,会把已经讲过的事情重复讲好多遍,无论是否重要,比如如何删除 Vue 的示例代码、如何移除 Git,以及关于课程作业中 AI 的使用。我已经记不清楚我有多少次听见他说:「我觉得啊,既然有这个工具,那为什么不用呢?不过啊,同学们至少还是要把 AI 生成的内容看一遍,读懂他是怎么写的,什么原理…… 话说回来啊…… 我们还是要…… 所以啊……」
+
+如果你真的能接受在课程作业里看到 LLM 生成的代码,也就不会把这句话三番五次地拿出来讲了。倒不如坦诚一点,直接把态度挑明。
+
+说起 LLM,我刚读完 Cytrogen 写的《[在 AI 恐慌的时代,熟练度是一种累赘](https://cytrogen.icu/posts/d38e)》和《[I had (maybe) the worst computer class in my life](https://cytrogen.icu/posts/e955)》,他讲述了一个连 HTML 都不懂的 Python 老师如何给他这个本来就已经会写网络爬虫的学生打了 F,因为老师认为他使用了 AI 并且没有披露 AI 使用,因为他用到了上课没有讲过的方法。这个老师竟然意识不到,同样的解决方案不仅可以是 LLM 生成的,还可以来自于用于训练 LLM 的原始数据——官方文档,就是那个所有开发者都应该会读的东西。学不高身不正还带着点傲慢的老师真的是不分国界,无处不在。
+
+自己写的代码被质疑 LLM 辅助,我也感同身受。我本来就对前端很熟悉,于是在第一次提交「Web 前端开发」的作业的时候,我用最基础的 Flex 布局[^4]和卡片样式完成了作业,老师虽然没有直接点我的名字,但他在某次碎碎念的时候明显是在用我作业的例子告诫同学们合理使用 AI。也有其他老师表示:「你一个学生写出来的代码,和熟练的老手写出来的代码肯定是不一样的,看得出来。」
+
+就这样,我不得不装疯卖傻,在作业里提交一些我在正常开发过程中不会写的代码,以迎合这些老师**对学生的想象**——这就是高等教育啊!
+
+## 充满偏见的体系会惩罚所有不像学生的学生
+
+毕竟这篇文章被我归到议论文下,还是不能写得太散,是时候整理一下前文提到的现象了。
+
+### 偏见之一
+
+我认为,以上所有问题,源自于两点:无知和傲慢。无知是可以理解的,就算是老师也自然会有知识盲区;傲慢也是可以理解的,这是人之常情。然而,无知和傲慢放在一起,在我看来,就是缺德了。
+
+只可惜,身份认同(或者说 Entitlement,某种称号)往往会给人带来某种傲慢,教师这个身份亦是如此。当一个人经过体系的认可站上讲台(哪怕是一个有缺陷的体系),他就会认会自己有义务教育台下的人。另一种很容易产生但更不健康的心态是:我比台下的人学识更高,他们不懂我懂的东西。关于这一点,我在与本文同题的《[教师的傲慢](/essays/教师的傲慢/)》中阐述过。
+
+教学体系的评价体系,由「我比台下的人学识更高,他们不懂我懂的东西」这一偏见发展而来,惩罚的对象主要有两者:
+
+1. 他不懂我懂的东西,却不想学我懂的这个东西,他不是个好学生。
+2. 他自以为懂我懂的东西,没有按照我的想法学我懂的东西,他不是个好学生。
+
+简单来说,「不像学生的学生」,而这个「像学生」的标准是极其模糊、极其经验主义、极其不可靠且毫无用处的。教师奖励那些「像学生」的学生,并不会造就优秀的学生。
+
+### 偏见之二
+
+当今大学教育普遍存在的另一个偏见是**对本科教育的不重视**。我得说明,这可能也是我对大学教育的偏见,因为我所接触到的样本是有局限性的,只限于我所在的高校、我从身边人口中听到的他们学校的情况,而且大部分是理工科的样本。我接触到的有相当一部分的老师,并非是真心想要教学生的老师,他们大概可以分为以下几类:
+
+1. 本职工作是科研,学校对他的评价指标是他名下的论文。这类老师更关注研究生,对本科生的关注仅限于日常教学工作以及选拔潜在的研究生。[^5]
+2. 没那么重视科研,但非常重视专业相关竞赛以及有价值的项目成果。这类老师把大部分时间用在带项目组上,对本科教学的关注度并不高。
+3. 的确是讲师,其他工作没有明显地影响他的教学工作,但这类教师教授的往往是学科基础课程而非价值更高的专业课程。
+
+### 偏见之三
+
+第三个偏见和前一个同根同源,却又显得矛盾。大学体系相对而言没那么重视本科教育,但又在规则制度的层面非常重视本科教育,而这种规则制度本身也是偏见的。这种偏见可以理解,但无法原谅,那就是:规则制度更偏向于限制学生的行为,对教师的教学工作以及教学质量并没有那么细致入微的关照。
+
+对学生的严苛体现在对数据以及合规性的重视。
+
+所谓数据,就是出勤率和挂科率。解决出勤率低的方法是上课点名、位置签到、将出勤分计入课程成绩以及对缺勤学生进行处分。解决挂科率的方法是**强迫**老师让成绩「服从正态分布」,老师的评价体系要使得平庸的学生占据大多数——不过我不得不承认挂科率对于学生还是相对宽松的,反倒是老师会担心挂科率太多给自己造成麻烦,降低评价标准,尽可能地把学生的分数捞上去。不过,这难道不也是一种问题吗?
+
+所谓合规性,是在本身就不重视本科教育的情况下,应对本科教育评价等其他针对大学教育的审查。以我所在的学校为例子,他们迎接本科教育评价的方式是:在教室安装新的摄像头和录音设备录制每一堂课,利用 AI 技术分析影响统计课堂的抬头率和前排就座率,并揪出那些在课堂上没有认真听课的学生。大学教育正在逐渐高中化,全国各地都在上演,树老师录过一期相关的播客——[读书不成林《过度自由和过度纪律如何正在让大学教育沦为笑话?》](https://podcasts.apple.com/cn/podcast/%E7%8B%AC%E6%A0%91%E4%B8%8D%E6%88%90%E6%9E%97/id1711052890?l=en-GB&i=1000731210130)。
+
+在非特殊时期(是的,迎接检查当然是特殊时期),学校为了保证合规性,对学生采取的策略是禁止一切会导致难以处理的责任的事情,最常见的例子是对学生宿舍的限制(比如开着摄像机突击检查学生宿舍收缴违禁物品这种骇人听闻的侵犯生活空间的行为)。本质上,这是在规避责任。
+
+> 安全教育,在我看来,规避责任的目的大于真正的教育目的。很多时候,老师会在完成安全教育之后补充一句「别说我没讲过」,同时,这样的安全教育在进行时,会被要求拍照留存证据,证明学校履行了对学生进行安全教育的责任;我在签订走读生管理协议时,协议上也清楚明白地写着「学校有义务对学生进行相关的安全教育」。
+>
+> 当学校被机构化,行政的工作就大于了教育的工作;当生活空间被责任化,保障生活条件的目的就成了一种责任和义务,并且必须制定新的规范来保证不会产生更多麻烦的责任。
+
+{{< right "——《[生活空间中的规则、秩序与责任](/essays/ruled-living-space/)》" >}}
+
+对教师的宽松体现在相关评价体系的不完善。
+
+为了管好学生,学校发明了相当多的指标,诸如挂科率、出勤率、前排就座率、抬头率、第二课堂分数。在双向的教育过程中,对学生的学习有管束是共识,但对老师的讲授就是另一回事了。我遇到的念 PPT 的老师其实很少,但对着 PPT 胡说八道的倒是不少。
+
+> 一个教软件项目管理的老师,在解释一个经济学概念的时候,仅仅是凭借她对术语字面含义的理解在阐述而已,举了一些不恰当的例子。我读过曼昆的《经济学原理》的前几章,那是一个很基本的经济学概念;其他没有这些知识储备的学生,难道不会被她的这种不负责给误导吗?
+
+{{< right "——《[这个世界会累死完美主义者吗?](/posts/exhausted-perfectionist/)》" >}}
+
+还有前面提到的那个不会使用最基本的开发工具的前端老师,我就不重复了。据我所知,不少教育培训机构对于老师都有很严苛的培训和考核流程,而大学老师对自己讲授的知识究竟有多少了解,学校作为用人单位似乎并不会严格把关。这大概也不能责怪他们,毕竟,对于某个具体领域的知识,一个学校里真正掌握的可能也就一两个老师(而且还不一定是专业完全对口的老师)。那位教前端的老师是这样回顾自己的大学生活的(是的,几乎所有中年老男人都有这个毛病,在课堂上随意跑题也是学校不管的),他在大学根本没有学过网页设计相关的课程,他是把前端当作自己的爱好来学的,而自己现在竟然站在台上讲授自己的爱好,人生真的很神奇啊——原来这样就能当上老师讲授某个课程,确实是很神奇了。
+
+针对老师的评价体系,主要体现在可以量化的成果上了(和高中不一样,学生的成绩并不算成果),譬如科研论文、项目成功和竞赛奖项。教师鼓励学生参赛,我想并不完全是为了学生的职业发展考虑,而是为了让自己有拿得出手的成果。
+
+## 体系的缺陷无法被个人力量填补
+
+我很尊敬教我软件需求工程[^6]这门课的老师,从她的谈吐中能感受到她在计算机领域和教学工作中都沉淀了很久。她不会跟那些不认真的学生纠缠,而是把注意力放在讲授内容和帮助愿意得到帮助的学生上,给出的建议都很诚恳,并且是以坦诚、平等的态度与学生交流的。她也不像许多对方法和工具过度执着的老师,要求学生必须使用某个软件完成作业[^7],她只注重学生呈现出来的结果。
+
+讽刺的是,这样的老师反而是最不注重出勤率的(她的原话是:「爱来不来」),对前文所提及的偏见也熟视无睹。
+
+[^1]: 是一本排版和装帧都很紧致的书,放在现在也是名列前茅的,不过我忘记了名字,兴许之后能找到。
+
+[^2]: 他在这方面无知也导致了学生对基本前端开发知识的无知。我在被迫参与小组作业的时候,帮一个组员排查问题。我把他的代码拉下来,在浏览器里打开控制台,报错再明显不过了——他的 AI 删除了一段函数定义,所以代码里有一个不存在的函数引用。谁能怪他呢?没人教他前端也会报错。
+
+[^3]: 我最常用的前端开发工具是 Bun 和 PNPM,所以我不清楚 npm 和 npx 应该怎么写。
+
+[^4]: 顺带一提,这个教前端的老师从来没有教过 Flex,他教的是…… 你猜猜看是什么?没错,是表格布局,也就是基于 `<table>` 元素的布局。
+
+[^5]: 我印象很深的是,我的「大学物理」这门课是我们计算机学院的老师授课的,这名老师经常隔三差五地跟我们宣传读研的好,还找辅导员要学生的成绩,想找优秀的学生来跟着他做项目。
+
+[^6]: 插句题外话,我认为需求工程大概是软件工程中最核心的分支了,尤其是编码过程正在被 LLM 大幅度简化的背景下,需求从未如此重要。
+
+[^7]: 谁懂我必须装一个 Windows 虚拟机在 macOS 上运行 Microsoft Project 这个老古董软件的无奈……