优秀的教学方法-----老师做教练(Being a Coach);
优秀的学习方法-----学生做中学(Learning By Doing)
优秀的教学方法---做教练与做中学
做教练(Being a Coach)
理论来自邹欣老师《现代软件工程讲义》的「课程概述」,课程配套图书《构建之法(电子版)》中也有相关论述。
要体会教练技术,你可以先看看这部展示教练技术的电影《卡特教练》(去这看)。电影里卡特教练除了球技,还教会了球员怎么做人,让他们远离毒品和暴力。看了之后可以深刻体会「教练」如何影响学员的思维,促进学员成为深度学习者。
我认为老师做教练,结合MOOC、翻转课堂,可以从「填鸭式」上课中解放从来。老师可以从花大量时间备课、知识点重复讲解中解放出来,把时间花在了解学生、指导学生、检查学习状况、答疑上,从而体现“学生为主体、老师为主导”,从而做到循序渐进,从而做到因材施教。对学生而言,通过做中学来建构自己的知识。
做中学(Learning By Doing)
有「做中学(Learning By Doing)」的概念,最早可能是知道了Pragmatic的Dave Thomas提出的CodeKata(代码套路)。
套路(Kata)指针对某一种特定技术或技能进行重复性的练习,从而将其熟练掌握。这个概念借鉴于武术,指的是可以独自或多人共同练习的一系列动作、招式。
体育运动的初学者练习时候都需要重复动作,比如「学习打乒乓球时」要练习挥拍,挥拍成千上万遍之后动作就会定型,也就是教练常说的「肌肉有了记忆能力」,以后实战中可以不假思索地做出来。
CodeKata(代码套路)可以说程序员的基本功。
韦钰老师的 做中学”/ “Learning by Doing” 理念, 强调的是儿童和少年时期的学习, 但这种方法对于任何年龄的人都适用。
邹欣老师《现代软件工程讲义》中「的习而学的软件工程教育」说:
我认为给学生具体的, 能实践的, 能马上看到因果关系的教材和练习, 是激发学生兴趣, 好奇心, 求知欲的好方法。 我就是这样学习编程和软件开发的。 所以我对「习而学」的方法很有好感。软件工程有理论的部分, 有工程的部分; 有艺术的部分,有手艺的部分; 在同学们达到理论/艺术的阶段之前, 大量的练习是必须的。
应用心得
我现在上课的主要方法就是做教练。每门课程我都有明确的教学进程,对教材做了详细指导,在学生自学期间进行答疑,开课期间问题不超过24小时会被回答。
我有一些在学习,工作,健身中的实践:
- 做中学(Learning by Doing)之背单词-扇贝网推荐:两年词汇量超过22000.
- 做中学之五笔输入法实践教程:通过一个月的训练学会五笔输入法
- 每天一万步,一周减十斤:通过五个月的训练减肥30斤
- 「做中学(Learning By Doing)」之乒乓球刻意训练一年总结: 通过一年的训练提升乒乓球技能。
这里面有几个要点:
- 学习是要思考的,仅仅实践是不够的:
- 不光会动手,还要理解背后的原理
- 不光会用工具,还要理解支撑的理论
- 技能是分层次的:
- 一项技能的掌握程度分为:新手/高级初学者/合格者/精通/专家
- 对技能要有个期许,不能有了高级初学者的水平就满足了,要有当专家的梦想
- 实践要具备一定的量才能引起质变:
- 学乒乓球,没有10万次的练习掌握不了一个动作
- 学好编程?没有10000行代码的训练量是不够的
- 技能的提升要「刻意训练」
- 低水平重复是不行的,训练时间再长都没用
- 要摆脱「舒适区」,进入「学习区」学习
- 要循序渐进,不能进入「恐慌区」
- 学习提升要有反馈
- 当老师最好的方法是做教练
- 调过程序的都知道,如果知道哪错了,改起来是很容易的,定位错误在很难,这就是老师(教练)的价值
做中学(Learning By Doing)从老师角度讲就是「项目驱动教学法」。学生在实践中发现问题,解决问题,在迭代中提升。
他山之玉
- 北京航空航天大学 的罗杰老师(博客)
- 福州大学的张栋老师(博客)
- 东北师范大学的杨贵福老师(博客)
- 华中科技大学陈冰老师(微博,博客)
- 很多采用邹欣老师(博客,微博,豆瓣)的《构建之法(电子版)》作教材的学校也是实践让学生做中学(Learning By Doing)的。参见现代软件工程讲义 目录
相关课程
1.《Java程序设计》(本科生)
- 课程资料汇总
- 2014-2015-2 《Java程序设计》课程学生博客列表
- 2015-2016-2 《Java程序设计》 学生博客及Git@OSC 链接
- 2015-2016-2 《Java程序设计》课程主页
2.《信息安全系统设计基础》(本科生)
- 《2015-2016-1 《信息安全系统设计基础》课程总结》
- 《2016-2017-1 《信息安全系统设计基础》课程总结》
3.《Linux及安全》(本科生)
- 《2014-2015-2学期教学总结》
4.《网络攻防实践》(研究生)
5.《移动平台应用开发实践》(研究生)
- 2015-2016-1 《移动平台应用开发实践》学生博客列表
6.《Linux内核原理与分析》(研究生)
- 2016-2017-1《Linux内核原理与分析》课程主页
做中学(Learning By Doing)平台
- 实验楼:优秀的虚拟实验室,Linux下学习编程的好去处
- i春秋:信息安全体验实验平台(有免费、有收费,有学习视频...)
- 白帽学院:在线课程,挑战赛,免费
- 网络安全实验室:网络信息安全攻防学习平台(有免费、有收费,有学习,有测试...)
- 实验吧:免费信息安全实验平台(有测试,进阶题目,相对简单)
其他应用实例
- 读写小组
参考资料
- 构建之法(电子版)
- Teaching as a Design Science
- 为什么要练习编码套路(Code Kata)?
- 如何高效的学习掌握新技术
欢迎关注“rocedu”微信公众号(手机上长按二维码)
做中教,做中学,实践中共同进步!
- 原文地址:http://www.cnblogs.com/rocedu/p/4999535.html
- 推荐网站:博客园、新浪微博、扇贝背单词、DKY背单词小组、有道云笔记、豆瓣读书
- 版权声明:自由转载-非商用-非衍生-保持署名| Creative Commons BY-NC-ND 3.0