掌上单片机实验室 – 单片机课可以这样开(23)

一、背景

        前面系统介绍了基于小车进行单片机学习的示例。之所以做这些,是因为这些年来观察到:一些大学生毕业后面对实际工作,虽说学过单片机,却无从下手;结合我自己的学习体会,想创建一个方便交流的单片机学习硬件平台,像在PC上学习编程一样,可直接运行别人的程序来消化、吸收、提高。

        但只做一个硬件平台,缺乏内容,没有说服力。便做了前述的若干示例性应用,以证明通过小车这样的控制对象,可将单片机应用的多数基本技能贯穿其中,从而使学生可以掌握初步的应用技能,日后在实际工作中再逐步提高。

        在和学生交流时,他们总是说学校教的东西用不上;而和老师交流时,老师们一方面觉得学生不好好学;同时也确实觉得课程设置有点不妥,要教的内容、对应的课时以及学生能力不匹配。

        为何会出现这种状况?我觉得是对教学对象的需求分析不清、课程设置目的不明确所致。

        我所接触的学生中,毕业后能在单片机应用上干点事,能很快进入工作角色,甚至不久即可独挡一面的,多数是有如下经历:

  1. 跟着老师做过项目
  2. 参加过比赛并且承担主要角色
  3. 自己尝试过创业或参与社团相关活动

        总之都曾有过丰富的实践机会;几乎没有是因为课堂学习好、考得好才变得有出息的!

        这说明单片机是门实践性课程,需要的是动手参与,而非单纯课堂听讲。不像物理、化学那类课程,听课是主要的,实验只是帮助理解,验证一下理论。

        单片机课程可以不授课,只要出一些题目,让学生去做,老师只需扮演教练的角色,在学生做的过程中给予及时的指导和纠错即可。

        我在做Lego技术支持时,参与翻译过一本书 —— 《Engineering with LEGO Bricks and Robolab》:

        此书的作者是大学老师,同时是个Lego迷。他想尝试将Lego积木应用于工程教学中,写了此书。书中有几句话我深有感触,大致意思是:

        我们仅能记住别人传授我们的10%,但能记住教给别人的90%。

        引用一句中国谚语:只说给我听,我会忘;做给我看,我能记住;但让我参与,我将真正理解

        基于这样的思路,他将课程设计成了一个个独立的挑战(任务),循序渐进的引入所需的技能。而将课堂教学变成了学生完成这些挑战的过程,老师只是在学生们做的过程中,给予指导,同时让学生相互交流,能者为师。

        作者强调要在课堂上完成,而不是将挑战布置为“家庭”作业,让学生课后完成。

        因为他有个理念:课后学生自己去做,很多时候思路、方法是错的,即便之后老师在课堂上予以纠正,但可能学生对错误的方式、方法记忆更深,因为那是他自己想出来的!

        所以,作者希望通过在课堂上完成作业,以便及时发现、纠正学生的错误,弱化错误记忆,使学生可以掌握更正确的方式、方法,从而提高教学效果。

        对此,当时读后觉得很有道理,尤其是一些工科课程,作业的对错不是那么明显,通常只是好与不好的区别;此时,如果学生不能得到及时的指正,将会导致其将错误的思路应用于日后工作,难有建树。

        本文想基于前面所做的内容,结合上述理念,提出一个单片机课程构想,供有兴趣尝试教学方式改变的老师参考。

三、课程对象需求及目的

        首先界定课程的对象

        本建议是针对那些非计算机(或嵌入式应用)专业课时数在30~50学时的工科学生,通常是“电子技术应用”这类所谓培养“通才”类的专业。

        这类学生的需求并非要深入掌握单片机的原理,重点是会用即可,因为单片机发展到今天,已经和数字电路差不多了,就是一个常见的可编程器件。这么短的学时,根本无法学得那么细致、深入,能做到知其然就不错,知其所以然就不必勉为其难了。

        教学的目的应该是:教会学生使用单片机,能用其解决实际问题,重点在用,放弃对原理的理解(最多作为好学生的附加题)。

        单片机本身就是一门综合性很强的学科,涉及到知识较多,在如此短的学时中,很难深入,与其煮成夹生饭,不如干脆用速食食品,囫囵吞枣,能吃饱就行。

三、课程构想

        基于上述分析,单片机课可以这样开:

  1. 准备一套类似于前述小车的硬件平台,要求是简单、价廉,便于使用,不求性能好,但要体积小,因为在整个课程期间,由学生保管。同时在课堂上练习时可以在课桌上运行,无需为此在教室中设置场地。同时,小车只需通过杜邦线连接任何核心板即可工作,这样学生在练习时可以自己尝试分配单片机资源,而不是被成品PCB所束缚。
  2. 选择一款或多款合适的核心板作为小车控制器,也就是单片机课程内容的载体。根据老师的教学目标及习惯选择。
  3. 基于上述核心板编写一个类似于前述的程序框架,基于RTOS,未来单片机的资源应该都可以运行RTOS,在目前形式下,RT-Thread是一个不错的选择。至于学生是否有能力真正理解RTOS并不重要,能用其解决问题即可。
  4. 基于课程要求及学时情况,设计一些基于小车的任务,如定速、走指定距离等,让学生在上述程序框架下实现,如果以RTOS为教学目的,可以在设计任务是对使用的RTOS功能有所要求,但只是要求会用即可。用任务方式让学生去尝试,遇到问题老师再给予辅导;而不是目前多数课程那样,先教学生内容,再让学生去用,此时学生在听的时候完全所听的东西有何用,自然无法集中注意力,谈何掌握?学生可以2人一组,以便锻炼学生的合作、交流能力。注意:任务的设计必须是叠加性的,任务相互关联,最终所有的任务都共存于自己的程序中;而不是像目前多数实验那样,相互独立,一次编程完成一个,每次实验都是一个全新的开始,这样学出来的编程技能基本无用。
  5. 在课时富裕,且学生们有兴趣时,可以结合学生实践中所遇到的问题,选择一两个有代表性的RTOS功能,深入讲解,从而让学生了解RTOS的理念。
  6. 再配置一些简单、价廉的传感器、通讯模块,作为学生拓展练习的素材,如超声波测距、红外测距、MEMS传感器、蓝牙、wifi等,根据课时数酌情安排。
  7. 以上述传感器、通讯模块为素材,设计相应的小任务,作为课程考核。同时尽量安排课时,可以让每一个(或一组)学生能上台阐述自己设计构思,有老师和其他学生扮演答辩的角色。这样可以避免出现抄袭,更重要的是可以锻炼学生的表达能力,这一点对应工科学生十分重要,因为我们做工程的必须团队合作,无法单打独斗!

四、结语

        30~50学时,也就15~25次课,前面所做的小车内容足以应付,如果再加上几次深度讲解,以及传感器、通讯模块的拓展练习,肯定可以填满所有课时。

        这样构思将实验和教学融为一体,等于是老师带所有学生做了一个项目。

        看上去老师省事了,但实际上对老师提出了更高的要求,因为授课老师是按照自己的想法在执行,而辅导却无法预知学生会遇到什么问题?需要老师有能力应对各种奇思妙想所带来的意外。

        期待有老师愿意尝试,让培养出的学生能有所作为。

————————————

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入之梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值