news 2026/8/25 14:01:22

【信奥教练心得】代码不只是用来刷题的——我给学生做了个打字练习网站

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【信奥教练心得】代码不只是用来刷题的——我给学生做了个打字练习网站

【信奥教练心得】代码不只是用来刷题的——我给学生做了个打字练习网站

摘要:带信奥班这些年,我发现一个普遍现象:很多孩子学了一两年 C++,算法题刷了几百道,但你问他"除了刷题,代码还能做什么",他答不上来。于是我做了一个 C++ 关键字打字练习网站。这篇文章不只是分享工具,更想聊聊背后的教学思考——为什么让学生"看见创造的样子"很重要、打字练习为什么能提升编程表现、AI 时代为什么"自己做一遍"反而更关键。全文共分六层:从两个具体痛点出发,到六个功能的教学设计,再到三套教育学理论的支撑(建构主义、认知负荷、刻意练习),然后是利弊辩证分析,最后落到 AI 时代的深层命题。Papert 的建构主义、Gaweda 等人(2020)的打字练习实证研究、Bastani 等人(2025)的 AI 教育研究——每一层设计都不是拍脑袋的,是有研究依据的。

目录

  • 📖 引言:学了一年C++,不知道代码能做什么
  • ⌨️ 痛点:两个问题,一个答案
  • 💡 解法:与其抱怨,不如自己做一个
  • 🎯 功能设计:六个功能,每一个都有教育学依据
  • 🧠 理论支撑:为什么这种教学方式有效——三套框架
  • ⚖️ 利弊辩证:它不是万能药,用不好也可能走偏
  • 🌟 更深一层:AI时代,为什么"自己做一遍"更重要了
  • 🤔 同行分享:给信奥老师的三条实践建议
  • 🌉 结语:编程的路,不该只有刷题一条

📖 引言:学了一年C++,不知道代码能做什么

去年年底,我在提高班做了一次非正式的小调查。

我问了一个很简单的问题:“你学了一年多 C++,除了刷题,有没有想过用代码做点别的?”

三十多个孩子,答案出奇地一致:

“还能做什么?不就是刷题吗?”
“做游戏?那要学 Unity 吧,跟我们学的 C++ 不是一回事。”
“做网站?那是 JavaScript,不是 C++。”
“老师,学 C++ 不就是为了打比赛吗?”

我站在讲台上,愣了几秒。

这些孩子,有的能熟练写出线段树,有的能独立切掉紫题,有的 GESP 已经考到了六级。但他们中的大多数,对编程的认知就停留在"刷题"这一件事上。

他们每天都在写代码,但他们从来没有体验过——用代码做一个自己想用的东西,是什么感觉。

这让我想起了西摩·佩珀特(Seymour Papert)—— 建构主义(Constructionism)学习理论的提出者,Logo 语言的发明者 —— 在《Mindstorms》里写的一句话:

“孩子不应该是被编程的,而应该是去编程的。”
—— Seymour Papert, 19801

Papert 的意思是:最好的学习方式,不是被动接收知识,而是主动建构一个有意义、可分享的东西——可能是一个程序、一个机器人、一个网站。在"做"的过程中,知识自然就内化了。1

而我们的信奥教育,似乎走在了另一条路上:刷题、提交、AC/WA、下一题。孩子成了"被编程的"那个 —— 题是别人出的,答案是固定的,任务是把它做对。

我不是说刷题不对。刷题当然重要,算法能力是信奥的根本,这个不能丢。

但我想说的是:刷题不该是编程的全部。

于是我决定,自己动手做一个小东西,一个他们能直接用上、能摸到、能感受到"代码还能做这个"的东西。

就是这个网站 —— C++ 关键字打字练习。

👉在线体验:https://www.hugostudio.com.cn/keywords/

说起来也巧,做这个网站的初衷,其实是为了解决两个看起来毫不相关的小问题。


⌨️ 痛点:两个问题,一个答案

痛点一:关键字总是拼不对

带过竞赛的老师都懂,有种错误最让人可惜 —— 思路全对,算法也对,但就是关键字拼错了,编译不过,全场零分。

我见过太多次了:

// 学生写的static_asert(n<=1000,"too big");// static_assert 少了个 sconstexpintMAXN=1e5+5;// constexpr 少了个 rreinterpert_cast<int*>(p);// reinterpret_cast 漏了个 t

constexprreinterpret_castthread_localpriority_queue…… 这些词说长不长,说短不短,但就是很容易写错一个字母。赛场上一分钟的手滑,可能就是一年的努力白费。

我跟学生说:“关键字要多写多练,形成肌肉记忆。”

但怎么练?抄书?太枯燥了。用普通打字网站?练的都是 “The quick brown fox”,跟 C++ 半毛钱关系没有。

痛点二:打字速度太慢

NOIP 提高组 3.5 小时 3 道题,时间有多紧,打过比赛的都知道。

我有个学生,思路特别灵,每次模拟赛都能想出正解,但就是代码写得慢。我观察过他打字 —— 标准的"二指禅",眼睛盯着键盘找字母,敲一个const_iterator要五秒钟。

每次都是最后十分钟急得满头汗,还是没调完。

“老师,我也想练打字,但那些打字网站太无聊了。打英文文章有什么意思?”

是啊。对于学信息学的孩子来说,打 “The quick brown fox jumps over the lazy dog” 有什么意思呢?

如果打的就是他们天天要写的关键字呢?如果一边打字还能一边学东西呢?

两个痛点,指向同一个解决方案。


💡 解法:与其抱怨,不如自己做一个

说干就干。我利用晚上和周末的时间,花了大概两三周,做了这个 C++ 关键字打字练习网站。

技术上其实不难,就是个纯前端的小东西:

  • Tailwind CSS 写界面
  • 原生 JS 写逻辑
  • GSAP 做点动画
  • 全部打包在一个 HTML 文件里,丢到服务器上就能跑

难的不是技术,是想清楚每个功能怎么设计,才能让学生真的愿意用、用了真的有收获

毕竟,如果只是把关键字列出来让学生敲,那跟抄书有什么区别?


🎯 功能设计:六个功能,每一个都有教育学依据

🎬完整使用视频

typing_keywords

点击观看完整使用演示,了解所有功能的操作方式。


1. 分类练习:从入门到进阶,循序渐进

我把 C++ 的关键字分成了19 个类别,一共572 个关键字:

分类适合阶段举例
基本数据类型入门int、double、char、bool
流程控制入门if、for、while、break
面向对象基础提高class、struct、virtual、friend
模板与概念提高+template、concept、requires
协程C++20co_await、co_yield、co_return
模块C++20import、module、export
………………

教学上的考虑

  • 新生从「基本数据类型」和「流程控制」开始,不贪多
  • 学完 OOP 的学生,加上「面向对象基础」「访问控制」
  • 备战省选的选手,可以挑战「模板与概念」「协程」「编译期常量」

每个孩子选适合自己水平的分类,练熟一个再往下走。不求快,但求扎实。

这里其实用到了刻意练习(Deliberate Practice)的思想 —— Ericsson 强调,有效的练习不是简单重复已经掌握的内容,而是在略高于当前能力的区域训练,有明确的目标和即时的反馈。2

分类练习就是给不同水平的学生划定"跳一跳够得着"的区域。


2. 关键字详解:打字是手段,理解才是目的

这是我最花心思的一个功能。

打字不只是手指的机械运动。每打一个关键字,旁边就会显示它的详细解释

  • 一句话概括:这个关键字是干嘛的
  • 代码案例:直接看用法
  • 详细解释:深入理解原理
  • 使用注意:容易踩的坑
  • 取值范围:数值类型的范围
  • 举个例子:更多示例代码

比如打int的时候,学生不只是在敲 i-n-t 三个字母,他还能看到:

一句话概括:整数类型,用于存储整数值。

代码案例int count = 42;

详细解释:int 是 C++ 中最常用的整数类型,通常占用 4 个字节(32 位)……

使用注意:C++ 标准只保证 int 至少为 16 位,需要精确宽度时用 int32_t……

Ctrl + Space可以随时展开/收起示例。

我的想法很简单:手指记住了,脑子也得跟上。打字练习顺便把知识点也过一遍,一举两得。

这背后是**认知负荷理论(Cognitive Load Theory)**的考虑:如果打字本身需要消耗大量注意力(比如盯着键盘找字母),那么留给理解和思考的认知资源就少了。反过来,当键盘操作逐渐自动化,学生就能把更多工作记忆用在理解概念上。3


3. 虚拟键盘:从"二指禅"到盲打


页面底部有个虚拟键盘,当前需要按的键会实时高亮。

这个功能对入门的孩子特别有用。很多孩子刚学编程时指法不对,盯着键盘一个一个找字母,速度上不去还容易错。有了虚拟键盘的提示:

  • 不用低头看键盘了
  • 慢慢就能记住每个键的位置
  • 指法纠正了,速度自然就上来了

不只是练关键字,顺便把打字也练了,一箭双雕。

从认知科学的角度说,打字技能属于程序性记忆(Procedural Memory)—— 也就是"知道怎么做"的记忆,和"知道是什么"的陈述性记忆不同。程序性记忆的形成需要反复练习,但一旦形成,就非常稳定,几乎不需要意识参与。4

键盘操作越自动化,留给算法思考的空间就越大。

我班上那个"二指禅"的孩子,练了一周,打字速度从每分钟 15 个词冲到了 40+,准确率稳定在 95% 以上。他特别兴奋地跑过来跟我说:“老师你看我进步多大!”

那种眼睛发亮的样子,我觉得比拿个奖还珍贵。


4. 自定义导入:想用什么练,就用什么练

内置的关键字只是基础。我特意做了个自定义单词导入功能。

打开左侧抽屉,打开「导入单词」开关,输入你想练习的内容 —— 空格、逗号、换行分隔都行。

几个教学场景

  • 赛前复习 STL:导入vectormapsetpriority_queuelower_bound……
  • 学完图论:导入dijkstraspfafloydkruskal……(虽然不是关键字,但函数名也得会写啊)
  • 某个孩子总写错的单词:单独拿出来针对性练习

这个功能还有另一层用意 —— 我想告诉学生:工具是死的,人是活的。你可以用它来做你自己想做的事。

这里其实也融入了**交错练习(Interleaved Practice)**的理念。教育心理学研究表明,混合练习不同类型的内容,虽然练习时感觉更难,但长期记忆和迁移效果显著更好。Taylor & Rohrer (2010) 的研究中,交错练习组在一周后的延迟测试中成绩是 63% vs 20%,效应量高达 d = 1.34。5

自定义导入让学生可以自己组合练习内容,实现天然的交错练习。


5. 实时统计 + 结果分析:数据驱动进步

顶部实时显示 WPM、准确率、进度、用时。打完一组之后还有详细的统计报告:

  • 最快 WPM、平均速度
  • 错误最多的键位
  • 错误最多的单词
  • 连对记录
  • 综合评级

孩子们都好胜心强,看到自己 WPM 一天比一天高,错误率一天比一天低,那种成就感是刷题刷不出来的。

而且这个统计数据,我也会用来做教学参考 —— 哪个键位全班错得最多?哪个关键字大家总拼不对?下次课就重点讲。

即时反馈是刻意练习的核心要素之一。Ericsson 的研究强调,没有反馈的练习是盲目的 —— 你不知道自己做得对不对,就无法调整和进步。2


6. 多主题 + 双语:好看也是一种态度

我做了 4 套主题:

  • Midnight—— 深色终端风,写代码的感觉
  • Solarized—— 经典暖色,护眼
  • Synthwave—— 霓虹赛博朋克,孩子们最爱这个
  • Zen—— 极简纸质风,清新

中英文双语支持,顺便熟悉一下英文术语。

为什么这么在意外观?因为我想让学生们知道:做东西不只是"能用"就行,“好用”、“好看”、“让人喜欢用”,也是创造的一部分。

细节里藏着态度。你对一件事用不用心,用户是能感觉到的。


🧠 理论支撑:为什么这种教学方式有效——三套框架

做这个网站的时候,我其实没有刻意去套什么教育理论。但做完之后回头看,发现它无意中暗合了好几套学习理论。


理论一:建构主义 —— Papert 的"用物思维"

Seymour Papert 在 1980 年出版的《Mindstorms》中提出了建构主义学习理论,核心观点是:

人们在建构有意义、可分享的外部对象时,学习效果最好。这些对象可以是物理的(沙堡、机器人),也可以是数字的(程序、动画、网站)。1

Papert 把这叫做"用物思维"(Objects-to-think-with)—— 当你亲手做出一个东西的时候,你不只是在做那个东西本身,你还在用它来思考,用它来检验自己的理解,用它来和别人交流。

这个打字网站,对我来说就是一个"用物思维"的实践 —— 我有一个教学上的痛点,我用代码把它解决了,做出了一个真实可用的东西。

而对学生来说,当他们看到"老师用代码做了一个我正在用的工具"的时候,他们对编程的认知就变了 —— 编程不再只是刷 OJ 的手段,它还是一种解决真实问题、创造有用东西的能力

这就是 Papert 说的:从"消费者"到"创造者"的范式转变。1

Kafai & Burke (2016) 对 55 项游戏制作与学习研究的综述也支持这一点:制作游戏等实践不仅教授编码知识,更重要的是支持身份建构和计算思维实践的发展。6


理论二:认知负荷理论 —— 先把基础技能自动化

认知负荷理论(Cognitive Load Theory)认为,人的工作记忆容量是有限的。如果低层次的机械操作占用了太多认知资源,留给高阶思维(理解、推理、问题解决)的资源就不够了。3

打字练习的价值就在这里 —— 它把关键字输入、符号输入这些低层次技能训练到自动化的程度,从而释放出更多工作记忆给算法设计、逻辑推理这些更高阶的任务。

Gaweda 等人 2020 年在 SIGCSE 上发表的研究提供了直接的实证支持:他们在北卡罗来纳州立大学的 627 名 CS 学生中测试了一个叫 TYPOS 的打字练习平台,发现定期完成打字练习的学生编译错误更少,课程成绩更高7

当然,这个研究也提醒我们:打字练习是低层次技能训练,不能替代真正的编程实践。它的定位应该是"热身"和"基础能力补强",而不是主线。


理论三:刻意练习 —— 质量比数量重要

Ericsson 的刻意练习理论告诉我们,专家水平不是靠单纯积累小时数得来的,而是靠高质量、结构化、有反馈的训练2

刻意练习的四个核心要素:

  1. 明确具体的目标—— 不是"练打字",而是"今天把constexprreinterpret_cast这几个总写错的词练熟"
  2. 全神贯注—— 练习时不摸鱼、不分心
  3. 即时反馈—— 打对打错立刻知道
  4. 突破舒适区—— 练那些还没掌握的,而不是反复打已经会的

这个打字网站的设计,其实就是在刻意练习框架下做的:分类练习对应"明确目标",实时高亮和统计对应"即时反馈",自定义导入对应"突破舒适区"。


⚖️ 利弊辩证:它不是万能药,用不好也可能走偏

说了这么多好处,我也得客观地说说 —— 这种教学方式不是万能的,用不好也可能出问题。

结合教育学研究和我自己的实践,我总结了一下利弊:


利:四个经过研究验证的好处

1. 提升动机和参与度

建构主义和创客教育的大量研究表明,当学生在做"自己的东西"时,动机和参与度显著更高。Resnick & Yoon (2008) 对 Computer Clubhouse 的研究发现,青少年在没有正式教学的情况下,也能持续自主地探索编程概念。8

我自己的课堂观察也验证了这一点 —— 有孩子每天主动练 15 分钟,完全不需要我催。

2. 建立创造者身份认同

Martin (2015) 提出,创客教育的核心价值不只是技能培养,更是**“创客心态”(maker mindset)**的建立 —— 一种以好奇心、自主性、实验意愿和从错误中学习为特征的思维方式。9

当学生从"用别人做的工具"变成"我也能做工具给别人用",这种身份认同的转变,比任何知识点都重要。

3. 促进深度学习和高阶思维

项目式学习(PBL)在 STEM 教育中的有效性已经被大量研究证实。一项涵盖 66 项研究、跨度 20 年的综述显示,PBL 有助于提升学术成就、情感态度和高阶思维技能。10

做一个完整的工具,需要综合运用编程、设计、用户体验等多方面知识,这是刷题刷不出来的。

4. 跨学科整合

Papert 的建构主义强调,编程天然地连接了数学、逻辑、艺术、语言等多个学科。1做网站不只是写代码,还要考虑配色、排版、交互、用户心理 —— 这些都是信奥课堂上不会教但很重要的能力。


弊:四个需要警惕的坑

1. 结构性支持不足 = 放羊

建构主义不是放任自流。研究反复提醒我们,仅仅提供工具或空间是不够的 —— 如果没有教师的引导、结构化的反思和明确的学习目标,学生可能只是"玩得开心"但学不到东西。Leonard 等人 (2022) 的研究明确指出,创客空间需要与课程目标、反思和实践设计紧密结合,才能实现其教育潜力。11

换句话说:工具只是载体,教学设计才是核心。

2. 基础概念掌握不均衡

Scratch 相关研究显示,学生在某些容易"玩出来"的概念上(如交互、循环)表现较好,但在变量、初始化、并发等较难"撞见"的概念上存在困难,需要有意识的教学设计来补充。12

打字练习也是一样 —— 它能练熟关键字和打字,但教不了算法思维、数据结构和问题建模。这些还得靠系统的课程。

3. 评估困难

建构主义活动的学习成果评估一直是个难题 —— 你怎么衡量"创造力"、“创客心态”、"身份认同"这些东西?Ioannou & Makridou (2018) 的研究也强调,教育机器人和计算思维活动的评价方法需要更系统化。13

对我来说,这个打字网站的价值,很多是没法用量化数据衡量的 —— 比如"一个孩子因为这个网站对前端产生了兴趣",这件事怎么评估?

4. 资源不平等

创客教育和建构主义方法通常依赖设备、网络、软件工具等资源支持。Papert 关于"每个孩子都有一台电脑"的愿景,在资源不均的环境中仍然面临挑战。14

好在打字网站是纯网页的,只要有浏览器就能用,门槛已经很低了。但如果想让学生也动手做,那就需要更多的资源支持了。


🌟 更深一层:AI时代,为什么"自己做一遍"更重要了

说到这里,我想聊一个更大的话题 —— 在 AI 都能写代码的今天,我们的学生到底需要学什么?

这是我最近一直在想的问题。

2025 年 PNAS 上发表了一项研究,Bastani 等人研究了 GPT-4 对高中生数学学习的影响,结果发现:无防护的 AI 访问导致学生成绩下降了 17%。学生把 AI 当"拐杖"用,结果独立答题能力反而下降了。15

这不是个例。2025 年发表在Information上的一项元分析(涵盖 35 项研究)也得出了类似结论:AI 辅助确实能提高任务完成效率和表面表现,但在概念理解和深层学习方面,AI 辅助组与对照组没有统计学显著差异。16

换句话说:AI 能帮你更快地"做出来",但未必能帮你更好地"学进去"。

这让我想起了 2011 年 Sparrow 等人在Science上发表的经典研究 —— “Google 效应”:当人们知道信息可以随时搜到的时候,他们对信息本身的记忆就变差了,但对"去哪里找信息"的记忆变强了。17

以前我们有 Google 效应,现在有 AI 效应 —— 以前是"反正搜得到,不用记",现在是"反正 AI 能写,不用学"。

但问题来了:如果你自己脑子里没有知识结构,你连 AI 写的对不对都看不出来。就像一个外科医生可以用机器人做手术,但他脑子里必须有完整的解剖学知识 —— 哪根血管在哪、哪条神经不能碰 —— 否则他连机器人做得对不对都判断不了。

这就是为什么,在 AI 越来越强的今天,"自己亲手做一遍"反而更重要了

不是因为 AI 做不好,而是因为:

  1. 你需要建立内部知识结构,才能判断 AI 输出的质量
  2. 你需要体验创造的过程,才能理解 AI 生成的东西到底是怎么来的
  3. 你需要培养创造者的心态,而不只是一个 AI 的"使用者"

我做这个打字网站,也是想给学生传递一个信号:

AI 能写代码没错。

但你也能。

而且你写出来的东西,是属于你的。

这种"我做了一个东西"的感觉,是 AI 给不了你的。


🤔 同行分享:给信奥老师的三条实践建议

如果你也是信奥教练,或者计算机老师,也想在教学中融入一些"创造"的元素,我想分享三个我自己摸索出来的心得。


建议一:工具要小,但意义要大

别一上来就想做个大平台、大系统。一个小工具,解决一个小问题,让学生用起来,比什么都强。

这个打字网站,技术上没什么难度,一个稍有基础的高中生学半年前端也能做出来。但它的价值不在于技术有多难,而在于 ——它让学生看到了"我学的东西能用来做什么"。

小工具,大意义。这就够了。


建议二:让学生成为创造者,而不只是使用者

我在班上展示这个网站的时候,故意轻描淡写地说了一句:“这个网站嘛,技术含量不高,你们以后学了前端也能做出来。”

我看到好几个孩子眼睛亮了一下。

那一瞬间,他们看这个网站的眼神就变了 —— 不再是"老师做的一个工具",而是"我以后也能做出来的东西"。

从"使用者"到"创造者"的心态转变,比任何知识点都重要。

Kafai & Burke (2016) 对 55 项游戏制作与学习研究的综述也强调了这一点:制作游戏等实践不仅教授编码知识,更重要的是支持身份建构和计算思维实践的发展。6


建议三:反思是关键 —— 做了之后要"想明白"

Bevan、Brady 和 Petrich (2018) 的研究发现,在创客教育中,辅导者是否提出反思性问题,对学习效果有重大影响。18

光做不够,做完了还得想:

  • 你做这个东西的时候,遇到了什么困难?
  • 你是怎么解决的?
  • 如果重新做一遍,你会怎么改进?
  • 你从中学到了什么?

结构化反思是把"做了"转化为"学到了"的关键一步。


🌉 结语:编程的路,不该只有刷题一条

回顾这个工具的设计:

层次功能教学目标理论支撑
分类练习19个分类,572个关键字分阶段进阶,突破舒适区刻意练习(Ericsson)
关键字详解每个关键字配6种解释打字+理解双轨并进认知负荷理论
虚拟键盘实时高亮当前按键纠正指法,形成程序性记忆程序性记忆(Hong et al., 2019)
自定义导入自由导入练习内容交错练习,因材施教交错练习(Taylor & Rohrer, 2010, d=1.34)
实时统计WPM/准确率/错误分析即时反馈,数据驱动进步刻意练习四要素
多主题+双语4套主题,中英切换提升动机,细节态度建构主义(Papert, 1980)

从打字速度到知识理解,从机械记忆到创造者身份 —— 每一层设计都不是随意的,是有递进关系的。打字速度提升是最表层的收益,关键字理解是中间层,最深层的价值是让学生看见:原来代码不只是用来刷题的,还能创造有用的东西。

做这个网站花了我不少业余时间,但每次看到学生们用着它,看到他们打字速度一点点进步,看到他们因为"原来代码还能做这个"而眼睛发亮 —— 我觉得值。

信息学奥赛的路很苦。刷题、调 bug、比赛失利、再刷题…… 很多孩子学着学着就倦怠了。

我希望这个小小的工具,能让他们偶尔想起:

哦,原来我学的这些东西,不只是用来刷题的。

原来我也可以用代码,创造出属于自己的东西。

原来创造,是这么有意思的一件事。

编程的世界那么大,不该只有 OJ 上那一个黑框框。

作为老师,我们的责任不只是把孩子送进赛场。我们还应该帮他们推开一扇窗 —— 让他们看看,窗外的世界有多大、多精彩。

至于他们要不要走出去、走哪条路,那是他们自己的选择。

但至少,他们得先知道,窗外有路。


📚 专栏回顾

  • 第一篇:《从语法讲解到思维锻造:我的信奥教学实战总结》——教材设计、认知难点、表格追踪法
  • 第二篇:《信息学学习之乐:思维、工具与自我对话》——计算思维、数学英语、自检习惯
  • 第三篇:《从"无从下手"到"拿下大题"——一套完整的解题教学闭环》——五步闭环法、警惕答案记忆、学会提问、可视化演算
  • 第四篇:《比方法更重要的,是找到适合他的节奏》——学生分类、年龄段差异、认知架构、可持续精力管理
  • 第五篇:《让学生把"思考的路"走完,比走对更重要》——完成感、温故知新、先走完再优化
  • 第六篇:《"懂了"是最危险的信号》——能力错觉、双重检测、脚手架微操、证明错误法、自我验证闭环
  • 第七篇:《AI靠"思考链"解题,学生做编程题也该如此——一道题改了四遍才过的四步》——读题复述、I/O优先、分阶段调试、错误回顾、认知学徒制、教师脆弱性、有效失败、元认知训练
  • 第八篇:《AI替你思考,但替不了你记住——让学生上黑板画知识图谱》——认知外包、GESP知识图谱、数字校验、组块压缩、生成效应、合意困难、自我调节学习、检索提取、知识结构化、错误点整理
  • 第九篇:《从《模仿游戏》到黑框框放烟花——信奥教学中两个阶段的兴趣激活》——教学哲学、情境兴趣、信息差距理论、生产性困惑、诱惑性细节效应、CMD粒子动画、双缓冲渲染、键盘位置映射、沉积系统、崩塌喷发、知识图谱扫描陌生代码、I/O本质
  • 第十篇:《拆主机、手写题、抢答验证——十人小班的参与式课堂》——具身认知、主动学习、认知冲突、概念改变、支架式教学、拼图法、Kolb经验学习循环、纠正性反馈、参与式教学六层设计
  • 第十一篇(本文):《代码不只是用来刷题的——我给学生做了个打字练习网站》——建构主义、认知负荷理论、刻意练习、程序性记忆、交错练习、创客教育、创造者身份、AI认知外包、Google效应

如果这篇文章对你有帮助,欢迎点赞、收藏、转发。👍

你也做过类似的教学工具吗?你是怎么让学生感受创造的魅力的?评论区聊聊。💬


📑 参考文献

[1] 建构主义学习理论
Papert (1980) 在《Mindstorms》中提出建构主义核心观点——人们在建构有意义、可分享的外部对象时学习效果最好。MIT Media Lab 纪念文章。
原文链接

[2] 刻意练习理论
Ericsson 提出的刻意练习框架——明确目标、全神贯注、即时反馈、突破舒适区。
原文链接

[3] 认知负荷理论在CS教育中的应用
ACM Computing Surveys 综述文章,系统介绍认知负荷理论及其在计算机科学教育中的应用。
原文链接

[4] 程序性记忆与打字技能
Hong et al. (2019) 用手指打字任务研究程序性学习阶段,支持打字作为程序性记忆形成的有效训练方式。
原文链接

[5] 交错练习研究
Taylor & Rohrer (2010) 发现交错练习在延迟测试中显著优于集中练习(63% vs 20%, d=1.34)。
原文链接

[6] 游戏制作与学习综述
Kafai & Burke (2016) 综述55项研究,探讨建构主义游戏制作的教育价值与身份建构。
原文链接

[7] 打字练习与编程表现研究
Gaweda et al. (2020) 在 SIGCSE 发表研究,627名学生参与,发现定期打字练习减少编译错误、提高课程成绩。
原文链接

[8] Scratch自主编程学习研究
Resnick & Yoon (2008) 对 Computer Clubhouse 的研究,青少年在无正式教学下自主探索编程概念。
原文链接

[9] 创客教育与创造者身份
Frontiers in Education 2025年研究,探讨创客空间、性别与STEM技能的关系,Martin (2015) 提出创客心态概念。
原文链接

[10] 项目式学习有效性综述
涵盖66项研究、跨度20年的综述显示,PBL有助于提升STEM学术成就、情感态度和高阶思维技能。
原文链接

[11] 创客空间与课程整合
Leonard et al. (2022) 研究指出,创客空间需与课程目标、反思和实践设计紧密结合才能实现教育潜力。
原文链接

[12] Scratch学习概念掌握研究
Meerbaum-Salant et al. 研究发现,学生在交互、循环等概念上表现较好,但变量、初始化、并发等概念存在困难。
原文链接

[13] 计算思维活动评估研究
Ioannou & Makridou (2018) 强调教育机器人和计算思维活动的评价方法需要更系统化。
原文链接

[14] 建构主义与数字鸿沟
建构主义方法在资源不均环境中面临的挑战,Papert 每个孩子一台电脑愿景的现实限制。
原文链接

[15] AI对学习影响的最新研究
Bastani et al. (2025) 在《PNAS》发表研究,发现无防护的GPT-4访问使高中生数学成绩下降17%。
原文链接

[16] AI编程教育元分析
Information (2025) 发表系统综述与元分析(35项研究),发现AI辅助提升执行效率但未必促进深层理解。
原文链接

[17] Google效应研究
Sparrow et al. (2011) 在《Science》发表经典研究,发现人们将互联网作为交互记忆系统,降低对信息本身的记忆。
原文链接

[18] 创客教育反思性提问研究
Bevan、Brady 和 Petrich (2018) 的研究发现,辅导者提出反思性问题对创客学习效果有重大影响。
原文链接


关于作者

一名在信息学奥赛一线教学多年的教练。专注于C++编程教学、编程思维训练与教学策略研究。专栏「信奥教学手记」持续更新中,分享真实课堂案例与教学方法沉淀。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/25 14:00:55

2026 脚踏滑板车品牌排行如何参考浙江工厂采购要点?

当下室内外游乐空间行业的竞争逻辑已经彻底迭代&#xff0c;早已跳出单纯的设备采购比价维度&#xff0c;迈入全链条交付能力、安全合规体系、商业落地回报的综合比拼阶段。对于项目投资方与运营方而言&#xff0c;核心难题不再是“采购什么游乐设备”&#xff0c;而是“如何让…

作者头像 李华
网站建设 2026/8/25 13:59:30

基于SpringBoot的二手车交易平台系统(源码+lw+部署文档+讲解等)

温馨提示&#xff1a;本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;本人主页置顶文章(点我)开头有 CSDN 平台…

作者头像 李华
网站建设 2026/8/25 13:57:46

OCR多语言识别怎么评估?中文、英文、日韩文及小语种的真实挑战

关键词&#xff1a;多语言OCR、英文OCR、日文OCR、韩文OCR、小语种OCR、OCR识别图&#xff1a;多语言OCR的真正难点全球化业务中&#xff0c;多语言OCR识别越来越常见。外贸单据、护照、物流标签、海外合同、产品说明书和历史档案&#xff0c;都可能同时包含中文、英文、日文、…

作者头像 李华
网站建设 2026/8/25 13:48:36

Modbus TCP实战:端口502、MBAP、并发,这些坎儿一个个过

Modbus TCP这事儿&#xff0c;看着比RTU简单——不用算CRC&#xff0c;不用管3.5字符间隔&#xff0c;网线一插就能通。但真到现场跑起来&#xff0c;坑一点不比串口少。从PLC到DCS&#xff0c;从网关到边缘控制器&#xff0c;这些年用TCP跟各种设备打过架&#xff0c;今天把心…

作者头像 李华
网站建设 2026/8/25 13:47:43

大模型量化与部署完整指南

一、量化技术详解 1.1 什么是量化&#xff1f; 量化&#xff08;Quantization&#xff09;是将深度学习模型的权重从高精度浮点数转换为低精度数字的表示过程&#xff0c;从而减少内存使用、提高推理速度。 1.1.1 为什么需要量化&#xff1f; 传统训练精度&#xff08;FP32&…

作者头像 李华