双藤爸爸的教育笔记 - 第 13 篇

拆掉难题的“四块积木”

抽象的目标是焦虑的温床,具体的可执行项才是行动的开始

计算思维听起来很“工程师”,其实它就藏在一件每个家庭都会做的事里——安排一次全家出游。

计算思维包含四块内容:问题分解、模式识别、抽象、算法设计。我用一件每个家庭都会做的事——规划一次三天两夜的全家出游,把这四块讲具体。

第一,问题分解。把“安排一次三天两夜的家庭出游”这个大事,拆成“交通”“住宿”“每天的行程”“三餐”“备选方案”“预算”几块。每块再继续,“住宿”拆成“位置/价格/亲子设施”;“每天的行程”拆成“必去的地方/可选的地方/孩子最想去的地方”。拆到能直接动手订、直接打电话问的程度,这件事才算落地。抽象的目标是焦虑的温床,具体的可执行项才是行动的开始。

第二,模式识别。在一堆信息里,看出哪些是“反复出现”的。比如查机票,多次比对之后会发现工作日早班便宜、周五晚上贵;查酒店,靠近地铁的总比偏一公里的贵30%。如果只看个别事件,看到的全是“偶然”;学会看模式,看到的就是“规律”。就像孩子每次月考都在某一类题上失分,是模式;他每周三晚上情绪都不太好,也是模式。生活里的模式识别,比刷一千道题更值钱。

第三,抽象。其实就是从一大堆具体信息里,提炼出“真正重要的那一两件”。规划出游里,“出去玩”这件事抽象之后其实只有两条主线:一是“全家都开心”,二是“不要太累”。掌握了这两条主线,你就不会在每一个小决策上纠结。回到家庭教育里,“孩子写作业拖拉”抽象出来可能是“任务颗粒度太粗,他不知道从哪儿开始下手”;“孩子做错三道相似的几何题”抽象出来其实是“辅助线这种思维方法不熟”。抽象做得好的家长,能用一句话讲清楚孩子真正缺的是什么;抽象做得不好的家长,会被一堆具体错误淹没。

第四,算法设计。其实就是把前面拆完、识别、抽象出的关键点,变成一连串可执行的小步骤,明确什么时候做、做什么、做多久、用什么衡量做得好不好。一次出游的算法可能是:周五18点出发→周六上午博物馆→中午吃当地小吃→下午公园→晚上回酒店写旅行日记→周日上午自由活动→下午4点返程。算法一旦落到纸上,心里就不焦虑了。

这四块基本功合在一起,就是计算思维。它不依赖编程,但它非常深地渗透在编程的学习过程里。所以就如大家所见,学过编程的人,往往不知不觉在用这套思维处理生活中大大小小的事。