标题 | 计算机类课程微模块任务驱动教学模式研究 |
范文 | 蒋宗华 摘要:一些计算机类课程涉及协议等复杂内容,即使是一个功能模块,也难以在一次教学中完成原理的讲解和项目的开发。该文提出了微模块的方法,通过从模块中凝练出一些微模块,基于微模块进行任务驱动式教学。由于微模块的工作量合适,大多数同学在教师讲解基本原理后能完成开发,能及时巩固相关知识、提高学习兴趣和创新能力。教师给出微模块的功能要求,提供底层函数、帧结构、寄存器说明等,提高学生的开发效率。该文给出了微模块的具体实施方法和案例,该方法能适合涉及内容较复杂的课程的教学。 关键词:模块;微模块;任务驱动教学;教学模式;计算机网络;物联网 中图分类号:G642. 0 文献标识码:A 文章编号:1009-3044(2018)19-0135-03 Abstract: Some computer courses involve complex content such as protocol, even if it is a functional module, it is difficult to complete the explanation of the principle and the development of the project in one teaching. In this paper, a method of micro module is proposed, some micro modules can be extracted from the module and task driven teaching can be carried on based on those micro ones. Because the workload of the micro module is suitable, most of the students can complete the development after the teachers explain the basic principles. It can consolidate the relevant knowledge, improve the learning interest and innovation ability in time. The teacher gives the functional requirements of the micro module, and provides the bottom function, frame structure and register instructions, so as to improve the development efficiency of students. This paper gives specific implementation methods and a case of micro module, which is suitable for teaching courses with complicated contents. Key words: module; micro module; task driving teaching; teaching mode; computer network; Internet of things 1 引言 在计算机类课程的教学过程中,基于模块的任务驱动教学法通过让学生实现功能模块来驱动学习,任务明确,能激发学生的学习兴趣,发挥学习的主动性,有利于提高学生的创新能力[1][2]。 然而隨着计算机技术,特别是计算机网络、物联网的发展[3][4],软件编程有的需要基于相关协议、器件说明文档等,涉及内容多,在一次课堂教学或实验教学中,学生难以编写完一个任务模块,而课后的模块设计和编写由于缺少教师的指导,学习效率低。如何在一次教学中,在教师的指导下,让学生高效地完成一个模块的理论学习、软件编写和调试、体验软件运行效果,对提高学生的学习自信、学习兴趣和学习效果有比较重要的作用。 基于微模块的任务驱动能较好地适合课堂教学和实验教学,一个微模块对应的代码较少,可能只有几行或几十行,但会涉及较多的理论和协议等,需要教师讲解相关理论和技术并整理,作为注释或附加文档,学生在此基础上设计和编写软件。通过模块的微型化,并且提供相关底层函数、相关寄存器的概要说明等,使学生能在一次教学活动中较独立地完成整个过程,及时巩固相关理论和技术。同时通过提供除该微模块外的完整软件,让微模块能在整个系统中运行,有助于学生掌握该模块和其他模块的关系和在整个系统中的作用,同时能获得成功的体验,提升学习兴趣。学生通过综合相关知识积极参与微模块开发,能提高学生自主学习能力和自主开发能力,提升创新思维和创新能力。 2 微模块任务驱动教学模式 2.1 微模块任务驱动教学模式的优点 2.1.1 充分发挥学生学习的主体性 在微模块任务的开发中,教师指导处辅助地位,学生开发处主体地位,从而能充分调动学生的积极性[5]。在开发过程中,学生会认真研究微模块中给出的相关知识和基本函数,有时会进一步查阅相关知识和文档、主动和同学讨论和向教师提问,不但巩固了相关知识、提高了开发能力,同时也逐渐养成研究型学习方式,培养了学生的创新能力。 2.1.2 工作量合适,能及时巩固相关知识、提高学生的学习兴趣和创新能力 如果学习较多的基本知识后再进行模块或项目的开发,这些基本知识往往没能及时得到巩固,难以使用它们进行较为深入的开发。另外,涉及知识较多时也会快速提高软件开发的复杂度,对一个较大的功能,学生可能不知道运用那些知识去设计软件。 微模块任务驱动能在短时间内完成基本知识的讲解、给出微模块的条件和任务并让学生完成开发。微模块软件开发所用知识集中在当时讲解的基本知识,覆盖性好,学生印象深。由于知识较为集中,降低了开发难度,学生有可能对该微模块进行较为深入的开发。 由于设计的微模块会使多数同学能在规定时间内完成开发,剩下的少数学生在同学或教师的少量帮助下,也基本上能完成开发任务,从而克服了学生对复杂程序的畏难情绪。将微模块放到教师提供的系统软件中,整个系统能运行起来,学生的短时间开发就能让整个系统运行起来,这进一步提升了学生的成就感和学习兴趣,他们甚至会急与开发下一个微模块。在整个系统的运行过程中,较容易找出微模块隐藏的错误,通过纠错,能帮助学生理解本微模块的原理和在整个系统中的作用,不但对从微观上对微模块有比较深入的理解,也从宏观上对模块之间的关系和整个系统也有较全面的了解。 2.1.3 充分发挥教师的主导性,提高学习效率 由于模块的编写涉及的知识较多,到了程序设计环节,学生查找相关文档要花费较多时间,程序设计难度大,耗时多。对于微模块,如果教师在知识讲解后,再把该微模块需要的相关知识凝练出来,一方面能重点突出,同时能加快学生的开发速度,大大提高学生的开发效率。通过提供除该微模块外的整个系统软件,学生设计的微模块能在系统中运行,学生更容易发现设计错误,提高了软件调试效率。 2.1.4 目标明确,易于评价 由于微模块功能较为简单,目标明确,一般能现场完成,容易形成较客观评价标准,方便了教师对学生的评价,使得平时成绩的考核更具有可操作性。对知识点的掌握程度将直接影响微模块的开发,并且能得到及时评价,从而促进了学生积极学习、积极实践,形成良好的学习氛围。 2.2 微模块的构建 2.2.1 项目整体功能的设计 根据教学内容,设计出能较好地涵盖相关章节知识,开发难度和开发时间合适的项目,一般每个章节或内聚性较强的几个章节设计一个项目。选取的项目注重结合新技术,注重能较好地培养学生的创新能力,减少验证性内容,增加学生自主设计的内容。精心选取相关讲解内容,注重启发学生思考,在基本知识学习时就强调学生学习的主体性,通过讨论等方式促进学生主动学习,努力培养学生自主学习、研究性学习的能力,使得学生在基本知识学习时就”跃跃欲试”想进行相关模块的开发。 给出项目的目的、主要知识点、整体功能、模块划分以及和其他项目的关系等。教师课前进行项目的设计、编写和调试,形成经过反复测试的项目的源代码。通过项目的开发,教师更加熟悉开发过程中的常见问题,在知识讲解时能重点加强,同时当学生开发时遇到问题也能快速解决。教师开完成项目设计后再次评估开发难度和开发时间,并对项目的设计进行必要的调整。 2.2.2 微模块的提取 將项目的模块进行进一步划分,精心选取和设计一些微模块,这些微模块应该能较好地覆盖相关知识点,重点突出,代码量合适,在学生的能力范围内,大多数学生在课堂上能够完成。并不需要将一个功能模块划分成多个微模块,只要选取和设计较少的几个微模块即可,模块的其他部分将提供给学生测试用,只要学生将微模块的代码加入则整个模块便可以运行。微模块主要对应关键原理和方法,同时微模块的设计应该能较好地培养学生的创新思维和创新能力。微模块要和相关文档结合起来,培养学生阅读相关原理和协议的文档的能力,这对创新能力的培养是非常重要的,相关文档由教师给出或提供相关主题由学生通过网络或图书馆获取。教师给出微模块的功能、它在模块中的作用以及和其他模块的关系,形成较为明确的规格说明。 2.2.3 微模块的基础知识注释 课堂学习时间短,学生难以在短时间内完全掌握相关原理和协议,难以快速界定微模块所需知识并在文档中找到对应知识点。对微模块,教师整理出相关基础知识,包括原理、算法、协议的数据区等相关区域的值对应的含义、协议区的计算方法等,便于同学提高开发效率。对于有些较长或需要详细了解的知识点,可以指出相关参考文档的页码。根据微模块的难度,教师给出不同层次的微模块流程图,有的只给主流程图,有的给出部分子流程图,有的只给出功能需求说明和原理,不给流程图。在开发时间可控的前提下,尽量提高学生自主开发的比例。 2.2.4 采用合作开发等方法提高学习效果 根据微模块的难度和学生的开发能力,决定让学生独立开发还是独立开发和小组开发相结合。对于代码较少的微模块,提倡学生独立开发从而提高独立开发能力,对难度较大的微模块采用独立开发和小组开发相结合,可以让能力强一些的同学帮助弱一些的同学,同时能提高同学的协作开发能力。鼓励同学讨论,包括设计过程中的讨论和纠错过程中的讨论,很多问题会随着学生一边开发一边讨论而逐渐明晰。 除了在一个模块中选取较少的微模块外,另一种方法是对模块选取较多的微模块,将学生分成学习小组[6],小组内结对开发,每两名学生开发一个微模块,小组共同完成一个模块的开发,充分发挥两人合作学习以及小组合作学习的优势。在微模块的调试和运行方面,首先将微模块代码加到教师给出的模块中调试,各微模块调试成功后,小组成员介绍各自微模块的功能和主要开发过程,再将小组的各微模块和成一个模块,进行集成测试,小组成员共同调试和讨论,从而能让学生接触更多微模块的开发,提高学习效率,发挥团队合作优势。 2.2.5 微模块开发经典方法和反例的整理 学生开发后,教师对该微模块的经典开发方法进行点评,对常见的反例,特别是班级学生犯的较多的错误进行讲解,分析出错的原因,包括基本理论错、算法错、协议错、编程错等。对微模块开发经典方法的点评和反例的讲解一般分为开发中期和后期两个阶段,其中以开发中期为主,可以较好地提高后期的开发效率,使得大多数同学能完成开发、提高开发的质量并在开发中能更好地巩固知识点。教师对学生开发中遇到的常见困难和反例等进行积累和整理,提高对学生的开发过程的预见性,调整教学方法和教学内容的时间分配,快速解决学生开发过程中的问题,同时对学生的开发过程进行预见性指导。 2.2.6 全功能运行和体验 指导学生将微模块加入整个模块或项目中,观察运行效果、理解程序功能,分析该微模块所起的作用,分析和理解相关模块的功能以及和本微模块的关系,在全功能背景下理解各模块、微模块的功能关系,理解项目的总体功能的设计和微模块的设计,理解相关微模块的设计使用了哪些知识点,提高对相关理论和技术的理解深度。项目的全功能运行能提高学生的学习兴趣,并对后继章节的知识和功能模块起到了预习的作用。 2.3 微模块任务驱动案例 2.3.1 微模块名称 通过射频识别读写芯片RC522读卡序列号(防冲突阶段)。 2.3.2 提供函数 1) 读RC522寄存器。输入:寄存器地址,输出:寄存器值。 2) 写RC522寄存器。输入:寄存器地址、待写入值。 3) 通过空中接口发送和接收数据。输入:待发送数据、发送数据长度(以字节为单位)。 2.3.3 输出 卡序列号、序列号位长度(以位为单位),函数返回0表示正确接收到数据。 2.3.4相关寄存器[7] 1) Status2Reg:状态寄存器2,地址08h,默认值00h。 位3(MFCrypto1On),该位设为1将使得所有和Mifare卡的通讯被加密,仅在成功执行MfAuthent(认证)时被置位,应该通过软件清零。 2) FramingReg:面向位的帧寄存器,地址0Dh , 默认值 00h。 位7(startsend),置为1将发送输入输出缓冲区的数据。 位6-位5(RxAlign),定义接收到的第一位放在输入输出缓冲区中的什么位置。 位2-位0(TxLastBits),定义最后一个字节发送多少位,0代表最后一个字节都发送。 3) CollReg:冲突寄存器,地址0Eh , 默认值不定。 位 7(ValueAfterColl),置为0则当发生冲突时,正在接收的所有位将被清零。该位仅在106kb/s防冲突阶段使用,否则应该置1。 2.3.4 流程[8] 设置好相关寄存器后,在RC522输入输出缓冲区填入防冲突命令字(93h)和发送数据字节数(20h,表示发送2个字节,即命令字和字节数,没有发送卡序列号的任何部分),通过空中接口发送后,如果近场有卡并无冲突,接收到的卡序列号(4个字节)将存在输入输出缓冲区中,读取出该序列号并保存到数组cardSerialNO中,供以后各阶段用。 2.3.5 相关微模块 前驱微模块:卡请求,如果近场有卡将返回卡的类型。 后继微模块:选择卡、认证、读卡数据等。 3 结论 微模块目标明确,规模合适,对一些涉及内容较复杂的计算机类课程,微模块任务驱动教学能在一次教学中高效完成原理讲解和微模块开发,提升学生的学习兴趣和创新能力。给出了微模块的具体实施方法和案例,下一步在更多的课程教学中实施并改进。 参考文献: [1] 李蕾,方明科.任务驱动教学法在计算机网络课程教学中的应用[J].电脑知识与技术,2015,11(25):75-76. [2] 郭银章,王丽芳. 基于项目任务驱动的C语言程序设计课程教学[J].改革与实践计算机教育,2017(2):41-44. [3] 谢希仁.计算机网络(第六版)[M].北京:电子工业出版社, 2013. [4] 高建良,賀建飚. 物联网RFID原理与技术[M].北京:电子工业出版社,2017. [5] 杨斌,等.美国大学IPSP 课程混合式翻转课堂分析与启示[J].中国电化教育,2015(337):118-122, 128. [6] 曲凌.任务驱动的小组教学法在实践教学中应用[J].实验室研究与探索,2014,33(6):200-203. [7] NXP. MFRC522 datasheet[EB/OL]. https://www.nxp.com/docs/en/data-sheet/MFRC522.pdf?fsrch=1&sr;=2&pageNum;=1. [8] 王爱英.智能卡技术(第四版)——IC卡、RFID标签与物联网[M].北京:清华大学出版社,2015. |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。