第一篇:ARCS模型在C语言教学设计中的应用
摘 要:凯勒(j.m.keller)提出的arcs动机设计模型认为,影响学习者的动机因素有注意力、相关性、自信心和满足感4类,并提出了激发学习动机的具体策略。本文针对c语言教学中的学生动机不足的问题,讨论了arcs动机设计模式在高校c语言课堂教学中的具体应用。
关键词:arcs动机设计模式;学习动机;c语言教学
引言:
学习动机是推动学生进行学习活动的内在原因,是激励,指引学生学习的强大动力。研究表明,学生学习成绩中16%~20%甚至30%的差异,是由学习动机造成的。因此,对于教师而言,理解动机原理并且积极探索其在实际教学中的应用,能够有效的提高教学的质量。20世纪80年代中期,美国南佛罗里达大学心里学教授凯勒(j.m.keller)提出了arcs动机设计理论,经过大量的应用和验证,到目前为止,该理论仍然是将动机原理整合到教学设计过程中最系统的学说。本文针对c语言教学中存在的学生动机不足问题,举例说明如何利用arcs模型指导c语言教学。1.arcs动机设计模型介绍
凯勒的动机模型综合了许多动机原则,它包括四个要素,注意力([a]ttention)、关联([r]elevence)、信心([c]onfidence),满足感([s]atisfaction),取头字母为arcs动机模型。arcs模型是教学中“动机设计”的一个策略体系。arcs是动机的四个要素,都包含了若干具体策略,凯勒认为,它们能“使教学充满兴趣,富有意义和具有足够的挑战性”。1.1 注意力(attention)
注意力是指人的心理活动指向和集中于某种事物的能力。如何激发学生的注意力是教学过程中的一个核心问题。只有激发和保持注意力,学习者才可以主动参与到知识的建构过程中,从而获得对知识较好的理解达到甚至超过预期的学习结果。所以,学生注意力的激发和维持,不仅是教学设计的起点,也是贯穿于整个教学过程中教师时刻要注意的问题。1.2 相关性(relevance)相关指的是学习内容与学生自我价值之间的相关性。在arcs模式中,学生的注意被吸引后,他们很有可能会提出为什么要学习指定内容及它们和自身的关系。这就是相关性的问题。对这些问题的积极回答有助于激发学生的动机。1.3自信心([c]onfidence)
自信心是指人们自己相信自己,追求自我,实现自我价值积极表现的心理倾向。在学习过程中,自信心使学习者对所学的事物保持正面态度。凯勒认为信心可以影响学生的成就,教师要让学生产生及保持学习动机就必须发展学生的信心 1.4满足感
学习满足感是个体在认识周遭环境过程中所展示的一种愉悦体验,一种对个体心灵状态、学习成效进行自我衡量时所获取的欢愉感受。满足感是动机的基石,因为它确认了个人的努力在整个学习过程中的作用,同时也强化了学习者的经验价值,并赋予学习者未来学习目标崭新的一面。2.c语言教学中的动机问题
作为一所西部山区高校的教师,笔者在2年的c语言教学过程中感受到,让学生学会c语言不容易,让学生学好c语言更加不容易。第一,c语言往往是高校学生接触的第一门程序设计语言,缺乏前序的知识与之关联。因此学生理解起来比较困难,尤其是在笔者所在的山区高校,由于生源问题,此种情况尤为突出。第二,该课程知识量大,教学要求高,而教学课时却并不充裕。所以在课堂上,老师往往以讲述为主,加之现在普遍使用的多媒体教学手段,导致信息量大而课程又有一定难度,学生注意力往往难以维持。第三,能够运用c语言编写程序解决问题,除了要熟悉c语言语法还必须有一定的抽象思维能力,刚接触程序设计的学生在完成课后练习时往往感觉老虎吃天,无法下爪,导致信心不足。也因为此,学生很难体会到独自完成一个有难度的程序后那种成就感和满足感。以上四点直接导致学生在学习过程中往往动力不足,只是在课堂上被动接受,从而导致教学质量无法提高。3.运用arcs模型指导c语言教学
教学是个双向的过程,按照建构主义教学理念,学习最主要的是要靠学生的主动探索,教师只起到引导和激励的作用。所以提高教学质量的核心问题在于如何激发并维持学生的学习动机,促使他们主动参与学习过程。arcs动机模型为此提供了系统有效的理论依据。在实际教学过程中,为了验证arcs动机模型在c语言教学中的有效性,笔者针对自己所带班级,应用该模型各种策略进行了一定的尝试,并取得了良好的效果。下面,笔者仅以c语言教学中的难点”地址和指针”为例,具体说明如何在教学过程中应用arcs模型的各种策略来提高学生学习动机。3.1 教学目标 “地址和指针”是c语言中的难点之一,不掌握指针就是没有掌握c语言的精华。指针是c语言中一个特殊的数据类型,灵活的运用指针可以写出简介、紧凑、高效的程序。但是指针概念比较复杂,运用比较灵活,容易出错所以,针对“地址和指针”的教学目标主要是让学生“真正”理解地址和指针的概念,读懂包含指针操作的程序以及灵活运用指针解决简单基础的实际问题。
第二篇:项目教学法在C语言课程教学中的应用
项目教学法在C语言课程教学中的应用
摘 要:C语言作为目前应用较为广泛且功能较强的一种计算机语言,其表达语句比较丰富,较为功能强大,使用灵活,应用范围广,既有高级语言的优点又有低级语言的许多特点,具有综合性,各种机型都适合C语言程序的开发。研究提高C语言的教学效果就是使用项目教学法。项目教学是指学生在教师的指导下,通过处理一个完整项目的全过程,在这一过程中学习掌握教学计划内的教学内容,以充分发挥学生的创造力和潜力,提高学生的兴趣,培养解决实际问题的综合能力。项目教学法在C语言课程中的应用已经取得了较好的成果。文章对项目教学法做了简单介绍,综述了项目教学法的含义以及项目教学法在C语言课程教学中应用的过程,介绍了项目教学法在C语言教学过程中的注意事项,为推广项目式教学法运用,提供一定的借鉴。
关键词:项目教学法C语言课程教学应用教学方法
一、项目教学法
(一)项目教学法的含义
项目教学法是一种专业教学中将普适功能教育目标,如解决实际问题的综合能力、团队合作意识、独立自主能力等突出表现出来的教学方式。美国项目管理专家约翰·宾认为:“项目是要在一定时间里,在预算范围之内所需达到预定质量水平的一项一次性任务。”它是一种基于完整人格发展的学习方式,旨在使学生在项目运行过程中获得项目所需的职业能力,并将课堂所学的理论知识在实践过程中有效结合起来,充分发挥学生的主观能动性,以提高学生的综合能力,使学生成为一个成熟的社会主体。
在项目教学法在C语言教学实施过程中,首先需要老师将任务以项目形式布置给学生,学生进行小组分工,学生再充分发挥自主性,共同制定计划,进行有计划的活动,共同讨论、解决项目运行过程中出现的问题,最终完成整个项目。项目教学注重的不是最终的结果,而是整个项目运行中的过程,学生在项目中获得与C语言相关的专业知识和实践能力。
(二)项目教学法的特征
项目教学法在国际教育内被广泛应用,作为一种新型教学方式,与传统的教学方式相比有很大的突破:更加注重学生的实际经验而不是课堂的理论知识;更加注重学生主动获取知识能力而不是以教师给予学生被动吸收知识;更加注重项目运行的效益而不是课本知识的效益。项目教学法具有以下几个特征:
1、具有很强的社会关联性和实践性。项目本身“源”于企业,项目的主题与真实社会密切联系,在真实的环境中通过实践来获取实践经验,由浅入深,选择的项目具有实践性、典型性、实用性。项目结果产生的社会关联作用与应用于今后的职业工作的意义,能够发展更高的责任意识。
2、具有自主性。自主是项目运行的内在要素,项目的目标、计划、实施、总结都应该由学生自主制定。
项目教学法给学生提供根据自己的兴趣爱好选择内容和展示形式的决策机会,不仅能让学生能够自主积极地学习, 更加能充分发挥学生的创新意识,培养学生综合能力。
3、具有需求指向性和发展性。项目的制定体现了学生学习需求,在项目运行过程中促使学生学习动力与项目具有认同感。项目运行的运行过程中,长期项目与阶段项目结合,整个过程就属于实现教学目标的认知过程。
4、具有评价灵活性。教师对项目教学的评价更加注重学生在项目活动中能力发展的过程,测评内容包括学生参与项目过程中各环节的表现及总结作业质量,这样就解决了传统的一张试卷定成绩的弊端。测评可以采用多种方式,如自评、小组评、教师综合评等方法。
二、项目教学法在C语言教学过程中的应用
(一)项目教学法在C语言教学中注意的问题
项目教学法在C语言教学过程中的实施,为了更好地开展课程设计教学,经过反复的实践和探索,总结出了学生在项目实施过程中存在着两个问题:第一,在教学内容上,由于教学内容受前导课程的学时限制,导致许多教师对C语言的相关知识、指针、结构体、共用体和文件基本操作的知识传授不够完善、系统,所以就更不可能用实例来论证加深学生理解了。因此,教师的教学应该突出针对性,讲究效率,实施区别式的、辅导性的、实例化教学。第二,学生缺乏项目管理知识,在原有C语言专业知识薄弱的情况下,缺乏项目管理知识。针对此情况,教师应该在增加学时的基础上加强对学生的知识补充,安排曾经做过项目比较有实践经验、且比较突出的学生,辅助介绍项目教学法在C语言教学过程的的注意事项。包括项目准备工作,如何选定课题、如何进行信息检索,查找资料、如何复习C语言知识,加强相关专业知识;项目实施过程中要完成的工作,如何进行市场调研、如何设计问卷、如何做需求规格分析说明书、如何做概要设计说明书、如何做详细设计说明书、如何选择使用代码编码器代码编写注意事项;项目完成总结工作以及作业提交的,包括了如何写程序测试事项、如何写课程设计报告等。在学生介绍自己项目过程,教师可以进行点评讲解,适时给予肯定或指出不足之处,应针对学生发生的问题,给予指导。
(二)项目教学法在C语言教学过程中注意事项
1、项目的设计
(1)精心设计项目,使项目具有层次性,优化项目设计,创造高效学习效果。项目的设计必须有层次性,要充分了解学生的差异性,根据学生不同的兴趣爱好,水平能力设计不同层次的练习,贯穿于整个c语言教学过程当中,以提高学生高效的学习效果。(2)项目设计要有关联性。从C语言的相关知识看,课程内容是紧密联系的,教师在帮助学生弄清相关关系同时,应该设计更多与C语言有关联的项目以便学生在项目运行过程中吸收更多专业知识。
(3)项目设计时还要注意以下几点:项目设计要规模要适宜,项目规模太大会影响项目的完整性, 项目规模太小难以实践性;项目难度要适宜,,既要激发学生学习的兴趣又不能影响学生的自信心。项目要有实用性,如:分支程序设计——计算行李托运费,这种设计既体现了实用性又增添了趣味性,使选学生有更大热情、兴趣投入项目。
2.项目的实施
(1)项目教学的实施要注重小组分工。以小组教学为主,明确分工,加强团队合作意识。注重小组讨论共同解决问题,从而增添乐趣。
(2)依据学生能力进行教学,注重弹性教学管理。例如在“程序循环设计”中,能力相对弱一点的学生只要完成“基本循环语句的运用”,而能力较强一点的学生在此基础上综合运用所学的知识解决各方面的难题。
(3)调整教学方法。在教学过程中,教师采取不同的方法以激发学生的积极性和主动性。可在学生掌握C语言相关理论知识后,完成各模块的结构设计、代码编写、程序调试等工作。
3.项目的评分。项目的评分要有灵活性,前面已经做了简单论述,这里不多做说明。
三、结束语
项目教学法在C语言教学过程中,激发了学生的自信心和积极性,锻炼了学生的程序设计综合能力,为今后较快地参与实际软件项目的开发奠定了坚实的基础。只要在C语言教学过
程中从其教学内容与实际应用相结合出发,精心选定好项目,并在项目过程中逐步完善,会取得事半功倍的效果。
参考文献:
[1]邱建林,C语言程序设计教学的研究与实践.电气电子教学学报,2003.(8).[2]徐永清,C语言程序设计.大连理工大学出版社,2008.(11).
第三篇:项目教学法在C语言课程教学中的应用
项目教学法在C语言课程教学中的应用
摘要:该文主要探讨在高校C语言程序设计课程中引入项目教学法的意义,探索项目教学法的实施步骤,提出在实施该方法时应注意的几个问题。项目教学改变了传统的以讲授知识为主的教学模式,可以充分发挥学生的主观能动性及创造性。让学生通过自己的观察、分析和编程实践,培养提出问题、分析问题、解决问题的能力。
关键词: C程序设计;项目教学;策略
中图分类号:G424文献标识码:A文章编号:1009-3044(2011)29-7210-02
C语言程序设计作为普通高校非计算机专业“大学计算机基础”课程的后续课程,其教学目标是使学生能掌握程序设计的设计方法,具有相应的阅读、理解程序的能力,并能把所学的程序设计思想、方法应用到本专业及相关的领域。
在“C语言程序设计”教学中,传统的讲授法重视语法知识的讲解,学生被动接受教学信息,学习自主性难以培养,学习兴趣难以持久。虽然学生可以较好地掌握C语言的基本语法,教学效率较高,但是学生的实际编程能力难以得到培养和锻炼。常常出现这样一种现象:C语言课程教学结束时,学生却不知道C语言的具体应用和实际价值,不能独立编写程序。
项目教学就是教师与学生通过共同完成一个较完整的项目工作而进行的相关教学活动。在项目教学中,学习过程成为师生共同参与的创造性实践活动,注重完成项目的过程而不是最终的结果[1]。通过项目实践活动,学生们掌握和理解了该门课程要求的技能、知识,培养了他们分析、解决问题的能力。项目教学法的理论依据
建构主义学习理论认为,知识并不是通过教师教授学生而获得的,而是学生自己在一定的环境情景下,借助其他人的帮助,利用相关的学习资料,通过意义建构的方式而获得。
在建构主义学习理论下,当前大致有三种比较成熟的教学方法,分别是支架式教学法、抛锚式教学法和随机进入教学法。
支架式教学法就是为学生提供一个知识框架,把复杂的知识点予以分解,利于去引导学生逐步深入理解。而抛锚式教学法则是用真实案例为基础,让学生在真实事件中去体验、感受,进而获得相关的经验;随机进入教学法就是让学生通过不同途径、方式进入相同的教学内容学习,从而获得对同一问题的多方面的认识、理解[2]。
C语言的知识结构体系完善,教学内容比较多,难度较大。采用支架式教学法较适合学生学习基础语法知识,采用抛锚式教学法可以增强学生的编程体验,调动起学生学习的积极性。C语言项目教学法的原则
C语言项目教学法应遵守如下几项原则:
1)精心选取项目实例
教学法要成功,项目实例的选取非常重要。实例既要包含到所需的知识点,又要能调动学生解决问题的主观能动性。
教师应启发学生主动发现身边的材料,选择合理难度的项目,并由师生共同完成。
2)周密组织项目小组
软件项目的实施离不开团队,单兵作战的手工作坊式生产早已不能适应软件的生产。项目教学应注意培养学生的团队合作意识和协作攻关精神。教师可以参照IT项目的管理思想构建和管理学生的学习和研究小组。由教师、科代表、学研小组和组员构成C语言项目教学的学研机构,明确各自的分工和职责,共同完成C语言的学习和实际编程项目。
3)妥善处理与传统教学模式的关系
高校的C语言程序设计课程一般在大学一年级开设,学生的计算机基础知识还比较薄弱,编程思维还有待启发,项目和工程的意识还处在萌芽之中。因此,项目教学不可能完全脱离传统教学,传统的“讲授法”对于C语言基础知识的学习,具有系统性强、效率高的特点。教师应将项目教学与传统教学有机结合起来,取长补短,发挥二者的优势。
4)完善教学评价体系
积极完善项目教学的评价体系有助于提高学生参与项目教学的积极性[3]。科学的发展性项目教学评价体系包括评价主体、评价指标、权重系数等。
作为项目教学法的干系人的教师、小组、组员,理所当然也是评价的主体,教师应注意进行组织和监控,确保评价的公平、公正性,以激发组员和小组团队的学习兴趣、研究动力和创新活动为目标。学生的成绩评价由教师评定成绩、小组评定成绩和组员自评成绩构成。按指标权重对三项成绩进行加权平均,构成学生的最终成绩[4]。
C语言项目教学法的基本步骤
在C语言程序设计课程中,项目教学法的教学过程一般有如下六步:
1)精心选择与现实相关的项目实例,设计学生所学知识与现实环境相接近的环境。把学生引入解决现实问题的环境中来。
2)围绕所学的知识点,选择相应合理的一些小项目,并且演示完成项目所需要的相关过程。
3)让学生掌握独立思考的能力,对知识点进行理解并消化示范项目的相关解决要点,为练习项目的解决打下基础。
4)项目教学小组通过调查,论证、分析后,在教师指导下确定最终实训项目。
5)小组内部要开展相应的讨论、交流,成员之间分工协作,以共同完成工程项目。
6)以完成工程项目的情况来直接衡量学生学习的效果,由教师评价、学研小组评价以及组员自评三部分构成。
C语言项目教学法应注意的问题
在C语言程序设计课程中开展项目教学,通过项目,培养学生提出问题、分析问题和编程解决实际问题的能力,应注意以下几点:
1)教师自身综合能力的提高
使用项目教学法来进行教学,对教师提出了更高要求。教师不仅是传授知识的老师,也是具有软件项目开发实践经验的工程师,还应是具有丰富管理经验的项目经理。教师应注意自身综合能力的培养,特别应加强项目管理知识的学习和应用实践。
2)学生自身的综合能力的培养
C语言项目教学法要求学生不仅要熟练掌握C语言的语法基础知识,而且要将其运用到项目实践中,对学生的能力要求更高。学生应切实转变传统的被动学习为主动学习和研究性学习,同时还需要与项目小组的其他成员协调和沟通,构建良好的人际关系,加强自身的语言沟通能力、组织协调能力的培养。
3)注意开放实验环境的构建
学研小组需要按照要求独立完成相关的实践项目。需要在教师的指导下,学研小组在开放的计算机实验室进行项目软件的分析、设计和实现。因此,项目教学法的实施,需要计算机实验室构建必要的项目软件分析、设计以及编程实现的相关环境,让学生自主的管理能力得以增强,按照相关项目进度计划完成教学项目、实训项目和扩展性项目。
总结
项目教学法是一种优秀的教学方法,但是同样在实际运用中也会面临各种各样的问题和困难,只要我们能勇于面对问题,去分析、解决问题,就能得到不断提高和进步。
参考文献:
[1] 张绍民.计算机课项目教学法的探索与实践[J].成功(教育),2008(10):198-199.[2] 肖胜阳.在计算机课程教学中开展项目教学法的研究[J].电化教育研究,2003(10):72-76.[3] 崔树银.参与式案例教学在公共管理类课程教学中的应用[J].现代教育科学,2010(7):167-169.[4] 冷淑君.关于项目教学法的探索与实践[J].江西教育科研,2007(7):119-120.[5] 刘志宏,刘舟荷,张雯晖,等.项目教学法在C语言教学中的实践与研究[J].中国成人教育,2010(4):139-140.
第四篇:《C语言》教学设计
《C语言》教学设计
一、教学设计
本课程的教学设计是根据软件人才的培养目标,突出创新型、应用型人才的培养方案而设计的,实行“基础知识+基本技能+项目实践+技术延伸”的教学理念。
基础知识是指涵盖该课程的主要知识点;基本技能是指通过实验案例来训练学生的基本项目开发技能,巩固提高学生对基本知识点的理解;项目实践是指通过项目形式,训练学生的综合能力;技术延伸则是指涵盖相关领域的最新技术发展,属于不断更新的动态模块。
根据本课程的教学设计我们精选C程序设计课程的教学内容,精心设计教学案例和课堂讨论题目,实验类型和实验内容,通过特定的教学方法来予以实现。
二、教学方法
C程序设计课程主要采取案例教学法和实践教学法。本课程主讲教师利用业余时间深入大连高新园区、软件园区和软件行业的大中小型企业,搜集、整理了大量的教学案例,有效地运用于课堂教学。通过案例教学,增强了C程序设计教学的实务性和应用性,提高了学生运用C程序设计解决实际问题的能力。在多年的教学实践中,总结了多种C程序设计的教学方法和软件人才培养模式,并在计算机教育和电脑知识与技术上发表。具体方法如下:
方法之一:实行“1+3案例教学”的教学方法
“1+3案例教学”的教学方法是指针对每一个难懂的问题或概念,都会找三个案例程序。一个是非常易于理解概念的例子;一个是引起学生兴趣的例子;一个是现实当中非常实用的例子。采用这种方法可以使学生容易理解难懂的计算机程序,又能引起学生的学习兴趣,还能让学生了解企业的实际应用。
方法之二:突出讲授C语言程序设计的普遍性和特殊性
程序设计课程可以分不同层次,C语言只是其中的一种,在这门课的讲授中,要突出程序设计方法的讲解,让学生分清哪些是C语言所特有的,哪些是通用程序设计语言所共有的,这样就可避免讲了一种程序设计语言,再讲一种,既不深入也不透彻。当日后学生根据专业的使用情况及学生的具体状况来选择某种高级语言作为实际操作语言时,学生就具有了学习程序设计语言的能力、扩展的能力,而不是就学C语言而学C语言。但不同的专业对该课程的要求可以有所差异,但不论哪种情况,都不能停留在某种高级语言的介绍,而是要突出讲述程序设计方法,正确地选择算法与数据结构,进行正规的程序设计训练,这样才可深入、透彻的了解程序设计语言的真谛。
方法之三:强调“做中学”的教学模式
“做中学”的教学模式是指在实际的教学过程当中,不是按照从基础理论到专业理论,再到实习的路径来展开教学的,而是把教学顺序完全颠倒过来,先从“做”开始,在做的过程中,以任务驱动方式,通过实例讲授程序设计的基本概念和基本方法,重点放在思路上。学生如遇到问题,再以此问题为基点去学习专业理论。这样做不仅有利于学生实践能力的培养,同时也有助于学生自主学习能力和兴趣的提高。
方法之四:采取粗讲和细讲的方法,缓解课程内容多和学时相对少的矛盾
高校计算机教学的特点是:知识更新快,内容范围广,应用要求高。由此带来的问题之一就是课时的相对减少。在实际教学工作中,我体会到,要缓解课程内容多和学时相对少的矛盾,就是要将“粗讲”和“细讲”结合起来,例如,在《C语言程序设计》课的教学中,前面的几章主要是常量、变量、数据类型、运算符和表达式等一系列规则性、语言的语法要求很强且很琐碎的内容,如果一开始就按部就班地一条条给学生讲解这些规则,常常使学生产生“只见树木,不见森林”、茫然不知所措的感觉。所以应该先通过一个简单的C程序实例“细讲”为什么要制定这些规则,使学生清楚这些规则在程序中的用途,然后对于这些规则“是什么”就可有代表性的“粗讲”,甚至有些部分可以不讲,让学生边用边学。
方法之五:突出重点,鼓励和引导探索式学习
《C语言程序设计》这门课授课的原则是要让学生先抓重点而后才是细节,重点放在思路、算法、编程构思和程序实现上。语句只是表达工具,讲一些最主要的,细枝末节的东西根本不讲,让学生自学,动手上机练,计算机是实践性极强的学科,所学的内容和要实践的东西是一个整体,所以学生可以自己动手来学,书上看不懂的在机器上动手试试,往往就弄懂了,因此很多东西完全是可以自学的。教师应引导学生在解题编程的实践中探索其中带规律性的认识,将感性认识升华到理性高度,只有这样,学生才能举一反三。在这一过程中教师起着很大的引导作用,要求学生在课堂上积极思考,尽量当堂学懂,突出上机训练,在编写程序的过程中,使学生提高利用计算机这个智力工具来分析问题和解决问题的能力。
方法之六:选择合适的数据结构,设计满足限定条件的最优算法在C语言程序设计中,用设计程序解决问题时除了认真分析问题之外,最重要的是选择合适的数据结构,并设计满足限制条件的算法或选择最优的算法。因此,要求学生要熟练掌握各种常见的数据结构,深刻理解某些经典算法的原理和时间、空间复杂度,掌握算法设计的一般步骤。
方法之七:养成良好的编程习惯
让学生养成良好的编程习惯是十分重要的。我们在与国内一些软件公司的技术人员座谈时了解到,中国软件之所以上不去的原因之一就有“习惯问题”。印度十个人编程,会编出一样的东西,而我们十个人编程会有十种风格。因为我们忽略了一个重要问题是“顾客”的感受,因为程序的编写是给别人看的,而不是只给我们自己看的,这样才更符合软件规范的要求。鉴于此,在课堂上我们非常注意让学生养成良好的编程习惯,如:强调程序的可读性、规范性;变量必须加注释;程序构思要有说明;学会如何调试程序;尽量使程序优化;还要求对程序的运行结果做正确与否的判断与分析等。
方法之八:强化实践教学模式
对程序设计教学模式进行改革,以强调动手实践、上机编程为切入点;以任务驱动方式,通过实例讲授程序设计的基本概念和基本方法。重点放在思路上,即:在C/C++语言的环境下,针对问题进行分析,构建数学模型,提出算法并编程实现,同时要求养成良好的编程习惯,在此过程中培养学生的思维能力和动手能力,鼓励学生探索、研究和创新。只有让学生动手,才会有成就感,进而对本课程产生兴趣,学起来效果才比较好。因此,我们的基本思想应该是在理论指导下,让学生动手、动脑更多地上机实践。因为学生只有在编写大量程序之后,才能获得真知灼见,感到运用自如。注重学生动手能力的培养是这门课和以往课程最大的不同之处。
三、教学手段
为了实现本课程确立的教学目标,落实教学内容,改革教学方法,提高教学效率,我们利用课程组教师的优势,应用现代教育技术,长期地进行了教学手段的改革和信息化建设,并取得了很好的成果。
(一)多媒体教学
《C程序设计》课程在我校是最先采用了现代信息技术、应用多媒体技术进行课堂教学的课程之一。本课程组的全体教师早已全部掌握了应用多媒体信息技术进行课堂教学,制作了多媒体课件和多媒体教学案例。通过多媒体教学,突破了传统教学手段的时空限制,节省了大量宝贵时间,增加了课堂教学的信息量,使课堂教学形象化、生动化。随着现代信息技术的不断发展,这些多媒体课件在实际应用中也在不断的修改和完善,其质量不断提高,教学效果也非常好,受到了学生的普遍好评。
(二)网络教学
本课程组较早就开始着手进行网络教学系统的开发建设,目前网上教学资源已经十分丰富,极大地方便了教师与学生之间的交流。在网络平台上,学生可以看到与C程序设计课程相关的所有资料。教师给学生布置作业,学生可以在网上直接作答,教师在网上直接批阅。学生在学习中遇到问题,可以在网上直接向教师请教和讨论。通过课内教学与课外研讨相结合的方式,使教与学有机地融合在一起,有利于学生充分消化和理解教学内容。
(三)实验教学
我们在开展案例教学的同时,积极开展实验教学。通过实验教学,指导学生自己动手完成各项业务操作,使学生验证、理解、巩固了所学的计算机知识;指导学生运用所学的知识,分析和解决实际问题,使知识转化为能力。在验证实验和应用实验的基础上,指导学生进行开拓型训练,使学生拓展了思维,增强了创新能力。
在学时安排上,理论教学与上机实践的学时比例基本为1:1。本课程设置“验证型实验教学+设计型实验+综合型实验教学”的实验教学体系,构建递阶型实践教学模式,验证型实验教学是与理论课同时进行的上机实习;设计型实验是与理论课同时进行的学生自行设计的运用理论学习内容进行实际开发的实验;综合型实验教学是理论课讲授完毕后的集中实训,是综合能力的训练。对程序设计教学模式进行改革,强化实践教学,以强调动手实践、上机编程为切入点,是本门课程的特色。
四、教改举措
(一)精选教学内容,改革课程设计,实行“基础知识+基本技能+项目实践+技术延伸”的教学理念
根据软件人才的培养目标,我们精选C程序设计课程的教学内容,精心设计教学案例和课堂讨论题目,突出创新型、应用型人才的培养。
基础知识涵盖该课程的主要知识点;基本技能则通过实验案例来训练学生的基本项目开发技能,巩固提高学生对基本知识点的理解;项目实践通过项目形式,训练学生的综合能力;技术延伸则涵盖相关领域的最新技术发展,属于不断更新的动态模块。
(二)改革教学方法,实行“1+3案例教学”的教学方法
摒弃了过去传统的灌输式教学方式,采用灵活案例式教学方法和实践教学方法。尤其是采用实用、有效的“1+3案例教学”的教学方法。即针对每一个难懂的问题或概念,都会找三个案例程序。一个是非常易于理解概念的例子;一个是引起学生兴趣的例子;一个是现实当中非常实用的例子。采用这种方法可以使学生容易理解难懂的计算机程序,又能引起学生的学习兴趣,还能让学生了解企业的实际应用,提高了学生的实践能力。
(三)改革作业形式
布置的作业题侧重于应用性,训练学生应用能力。在作业的布置和批改上,均通过网上进行。
(四)改革实验形式
为强调“以学生为中心”的实验教学模式,自主开发了“C 程序设计网络化实验教学平台”。
(五)改革考试形式
为辅助教师加强对学生实践环节的考核,自主开发了“C 程序设计网络化考试软件”,以保证实验教学的质量。
(六)改革教学模式,强调“做中学”
“做中学”的教学模式是指在实际的教学过程当中,不是按照从基础理论到专业理论,再到实习的路径来展开教学的,而是把教学顺序完全颠倒过来,先从“做”开始,在做的过程中,以任务驱动方式,通过实例讲授程序设计的基本概念和基本方法,重点放在思路上。学生如遇到问题,再以此问题为基点去学习专业理论。这样做不仅有利于学生实践能力的培养,同时也有助于学生自主学习能力和兴趣的提高。
第五篇:微课在C语言公共课中的应用
微课在C语言公共课中的应用
摘要:针对C语言公共课教学面临的问题,以一个知识点(递归函数)教学为案例,展示了微课的完整应用。从学生的角度去设计和制作微课,体现了以学生为本的教学思想,在一定程度上解决了传统C语言公共课学生缺乏兴趣、注意力不集中、学习效果差等问题。针对非计算机专业学生学习C语言较困难的现象,微课从贴近生活的实例寻找解决问题的方法。在制作微视频时,将教师讲课和课件屏幕分开制作,通过抠频再合成,解决了现有微视频中教师和课件不能同时清晰显示的问题。
关键词:微课;C语言;教学改革
DOIDOI:10.11907/rjdk.161014
中图分类号:G433
文献标识码:A 文章编号:1672-7800(2016)005-0221-02
0 引言
微课是信息技术与学科教学融合的产物,也是近几年教学改革的热门话题。随着高校微课教学比赛、中国微课大赛等赛事活动的开展,微课迅速升温。
中文“微课”一词在2011年10月由广东省佛山市教育局胡铁生[1]提出,他定义的微课是:按照新课程标准及教学实践要求,以教学视频为主要载体,记录教师在课堂教学中针对某个知识点或教学环节所需各种教学资源的有机结合体。
在近几年国内的一些学术期刊中,对微课内涵的探讨主要有3种典型观点:①微讲座(Micro-lecture),即微课是一种教学视频资源。2008年秋,出现了一种只有一分钟的“微讲座”,由戴维?彭罗斯[2](David Penrose)首次提出。戴维?彭罗斯被称为美国新墨西哥州圣胡安学院的“一分钟教授”,他认为,一分钟讲座将产生与传统的长时间授课相同的效果;②微课程(Micro-lesson或Mini-course),即微课是以微视频为中心的资源包。每一个微视频围绕一个知识点展开,与第一种微课不同的是,微课程为了支撑整个学习过程,必须有测验、作业和讨论。将教学包上传到网上,学生可以随时随地上网观看视频,自主学习并进行单元测验;③微课教学(Micro-teaching),即微课是一种微型的教学活动。主要包括两种形态:微课形式教学和微课资源教学。以英国纳皮尔大学T.P.Kee教授为代表的微课,由学生进行一分钟演讲。微课资源教学,主要是教师播放相关的微视频辅助讲解,阐述教学中的知识点、重点和难点[3]。本文讨论的微课主要是指第二种。
微课是一种创新性教育形式,具备形式多样、主题突出、短小精趣等特点。微课的形式多样,主要是指微课视频的制作方式多样,有软件合成式,还有较为流行的摄制型、录屏型以及混合式;主题突出体现在一个微课只围绕一个知识点展开,主题明确;微课的教学视频一般为5-15分钟。微课以其“短、小、精、趣”的特征,迎合了时代的要求和大众的心理[4]。C语言公共课教学存在的问题
以笔者学校开设的C语言公共课为例,教学中面临的主要问题有:①对于非计算机专业的学生来说,程序设计很枯燥,普遍的感受是计算机语言离自己的现实生活较远,没有学习的兴趣;②C语言公共课课时较少,教师为了完成教学任务,往往满堂灌,学生难以成为学习的主体;③C语言程序设计知识点较为抽象、连贯性强,一旦前一个知识点没有掌握,后面的知识点就很难理解,学生会产生厌学情绪。
C语言微课教学中的问题有:①举例知识扩展较广,不太适合非计算机专业的学生学习;②C语言微课视频,有的只有课件录屏,没有教师形象,即使有教师,由于光线原因,教师形象和课件屏幕不能同时清晰显示。微课在C语言公共课中的实施
微课不能单纯地将传统课堂教学实录切片加工成短视频,应该在受限的时长内,重新组织教学信息,精心进行教学设计。要研究授课对象,对教材作知识点划分。本文将以C语言程序设计公共课中的一个知识点(递归函数)教学为案例,阐述微课教学的设计与应用。
2.1 微课教学目标设定
《C语言程序设计》是面向非计算机专业理工类学生的公共基础课,教学目的是掌握程序设计的思路与基本方法,利用程序来解决专业或学习生活中的一些基本问题,培养学生的计算思维能力[5]。针对C语言公共课学生为非计算机专业的特殊性,本微课定位递归函数的教学目标为:认识递归现象,领悟递归现象的本质,能针对简答问题写出算法和递归程序。
2.2 微课教学内容选取
C语言公共课的教学内容前后联系紧密。针对每个章节选取的知识点必须清晰且具备连贯性。选取的知识点可以是关键概念、难点突破或题型精讲等。本文选取的递归函数知识地位突出,教学难度较大,先修知识是函数的嵌套,因此它既是关键概念,又是函数嵌套中的难点突破。
2.3 微课教学内容处理
微课教学内容确定后,就可根据微课时长进行内容加工和微处理,时长控制在15分钟。
片头:递归函数。
导入方式众多,可以开门见山、提出一个疑问或与生活息息相关的现象或复习回顾等方式。无论采取什么方法,都必须吸引学生的注意力,能切入知识点。本文针对递归函数的导入设计是基于“程序来源于生活,映射生活,作用于生活”,所以从生活中找到递归的现象引入,能更好地提高学生的学习兴趣。本文设计的递归实例为镜子中的镜子、画中的画等德罗斯特效应。
正文知识点的讲授,要求线索清晰、语言精炼,并结合一定的手势和表情。在微课的讲授中,尽量围绕一条线索展开,并且该条线索应该能够覆盖本次微课的知识点,能体现教学的重点和难点。在讲授重点内容时,要求解释准、精、简,论据充分。本文设计的递归函数微课围绕汉诺塔游戏这一线索进行,师生共玩3个盘的汉诺塔游戏,逐步总结出游戏的规律。具体步骤如下:
(1)进行以下3个步骤:①将A塔上的n-1个盘子借助C移至B上;②将A上剩下的一个盘子移至C上;③将B上n-1个盘子借助A移至C上。
(2)引导学生发现第①步和第③步是同一个问题,都是将n-1个盘子借助一个空塔移动到另一个塔上,该操作用一个递归函数hanoi()来实现。
(3)引出递归的相关概念。若是10个盘子,需移动1 023次,若是64个盘子,需移动约1 844亿亿次,按每次耗时1ms计算,完成64个盘子的移动需60万年!如此复杂操作的递归函数代码竟然不到10行,由此引出递归的概念、递归的条件和递归的两个要素。
(4)从生活中选取一个递归现象,引导学生判断是否符合递归条件,是否具备递归的两个要素。设计选取的实例为经典的“你几岁?”问题。先建立年龄递归模型,编写对应的递归函数。
(5)在上述问题的解决过程中引导学生自主发现难点。在递归调用的操作过程中,形参和变量的取值容易混淆,是难点所在,只要牢牢把握递归就是嵌套这一本质就不容易出错。接下来播放递归调用的操作过程动画。整个演示过程清晰、明了,不会产生任何混淆。
课程小结部分要求快捷,起到提纲挈领的作用,加深对所学内容的印象。本文递归函数的课程小结借助了图灵奖获得者Niklaus Wirth的话――利用递归解决问题,允许用户用有限的语句描述无限的对象,从而让程序代码变得精简,提高编程效率。
课后练习部分,让学生解决有趣的分书递归问题。
2.4 微课教学媒体设计
微课视频的媒体呈现形式多样,设计步骤如下:
(1)准备好素材,制作好PPT课件。PPT的制作尽量少用文字,因为文字表达的效果有限,文字的表达不如表格,表格不如图像,图像不如动画,在PPT中尽量使用后者。
(2)将讲授过程录像。一般是教师讲课的同时进行录像,这种方式的优点是教师讲课很自然,缺点是由于光线原因,教师的形象和课件屏幕不清晰。针对上述问题,将教师讲课和课件演示分开录制,后期再进行合成。教师讲课直接对着摄像头,讲课过程中没有学生。课件演示的录屏软件选择Camtasia Studio。在录制过程中一边录像,一边配合鼠标的移动和课件进行切换。教师讲课时主光一个、侧光两个,拍摄的时候还在主机位提供专用提词器,场景布置如图1所示。
(3)将教师讲课的录像和课件演示的录屏合成。讲课录制好以后,将教师的形象从视频中抠出来,抠频工具有Adobe After Effects。将录屏和录像合成,使用软件Adobe Premiere。后期合成后,教师形象和课件屏幕画面都非常清晰。
(4)为合成的视频添加字幕。外挂字幕编辑软件很多,本文选择SrtEdit。本微课通过视频+文字+图片+动画,全面深入地表达知识点。
2.5 微课教学资源设计
微课教学资源除了上述的微视频外,还包括教案、课件、过关测试及答案、学习资料及素材、作业及答案、评分标准,甚至还包括教师的教学反思等,所有这些都围绕一个知识点,构成一个主题鲜明的微课教学资源包。本文设计的递归函数教学资源主要包括:课件PPT和过关测试。过关测试主要是客观题,以选择和填空的形式出现。在微课视频制作完毕后,将所有教学资源一并上传。结语
本文以递归函数为例,对微课应用于C语言公共课教学进行了探讨。制作的微视频从生活中的德罗斯特效应、递归故事等现象出发,拉近了程序设计与学生之间的距离,利用师生共玩“汉诺塔”游戏来获得感性认识,激发学生的学习兴趣;通过问题“你几岁?”来具体讲解递归函数的分析、设计、执行过程;对于递归函数调用执行过程不容易把握这一难点,精心制作动画,巧妙展示程序控制的流程转向等;总结时用图灵奖获得者Niklaus Wirth的话给出递归的本质。整个微课设计合理,达到了该知识点教学目的。
参考文献:
[1]胡铁生.区域教育信息资源发展的新趋势[J].电化教育研究,2011(10):61-65.[2]黄建军,郭绍青.论微课程的设计与开发[J].现代教育技术,2013(5):31-35.[3]教育部全国高校教师网络培训中心.中国高校微课研究报告[EB/OL].[2014-07-10].http://weike.enetedu.com/report/.[4]鲁庆.微课在程序设计课程中的应用[J].柳州职业技术学院学报,2014(6):71-72.[5]唐大仕.“递归算法”微课教学设计――以“文科计算机基础(下)”为例[J].计算机教育,2013(17):5-7.(责任编辑:杜能钢)