论文部分内容阅读
摘要:“嵌入式C语言”是高职计算机嵌入式专业方向的核心课程,该门课程的教学质量直接影响到嵌入式专业的培养目标。结合“嵌入式C语言”教学实践,探索项目教学法在该课程教学中的应用,对促进“嵌入式C语言”课程的教学具有一定的理论意义和实践价值。
关键词:项目学习法;嵌入式C语言;程序设计
作者简介:武斌(1978-),男,安徽肥西人,滁州职业技术学院信息工程系,讲师;贾红雯(1978-),女,山东沂水人,滁州职业技术学院信息工程系,讲师。(安徽 滁州 239000)
基金项目:本文系安徽省职业与成人教育学会2010年度教育科研规划立项课题(课题编号:BCB10019)的研究成果。
中图分类号:G712 文献标识码:A 文章编号:1007-0079(2011)10-0083-02
项目学习(Project-Based Learning)指的是一套能使教师指导学生对真实世界主题进行深入研究的课程活动,具体表现为构想、验证、完善、制造出某种东西。[1]项目学习法主要由内容、活动、情境和结果四大要素组成。[2,3]
项目学习法的内容是指具体的学习主题,它源于人们的生活和生产实践,具有一定的现实意义和理论价值,具有趣味性和可完成性。
项目学习法的活动是指学生借助信息技术和学习技能解决项目实施过程中遇到的困难而采取的学习行动。
项目学习法的情境是为完成项目所设置的学习环境,促进学生之间以及师生之间的合作关系,能使学生减少人际冲突,在诚信合作的环境中,学生对发展自己的能力充满了自信。
项目学习法的结果是项目实施过程中学习到的知识和技能,如学习技能、劳动技能、管理技能等,成果的形式多种多样,内容丰富多彩。
本文对“嵌入式C语言”课程实施项目学习法展开研究。
“嵌入式C语言”课程是嵌入式专业方向的一门基础必修课程,该课程的学习效果直接影响到后继课程的学习,因此,学生学好这门课程对学习以后其他专业课程有很大好处。“嵌入式C语言”也是一门实践性很强的课程,对于高职学生来说,提高动手能力比掌握理论知识更加重要。因此,高职教学和本科教学有所区别,更需要突出和强调学生的动手能力,但是“嵌入式C语言”是学生最先接触的程序设计的入门语言,与其他编程语言如Visual Basic,C#,ASP.Net不一样,所使用的不是图形用户界面,编的程序都是控制台应用程序。因此,实施项目教学有其自身的特色,也有一定的难度。
一、传统“嵌入式C语言”教学方法的弊端
传统“嵌入式C语言”教学方法主要有以下三个弊端。
首先,以教师讲学生听的被动教学模式为主,教学方式呆板。通过多媒体教室传授理论知识,教师先按照教材的章节安排进行理论知识的传授,学生再到机房上机实践,这样就出现理论和实践相脱节,等到学生上机的时候已经忘记理论课上老师所讲授的内容,又需要教师重新讲授一遍,其教学效率极为低下。
其次,按照课本章节组织教学,每个知识点都是孤立的。没有衔接,知识不连贯,学生学了后面的内容,容易忘记前面学的知识。
最后,考核测评方式只注重理论,忽视了实践能力的考查。传统的考核方式是一卷定成绩,误导学生只要死记硬背课本知识,忽视了动手编程的重要性,而对于高职学生,动手能力的考核是非常重要的。
可以说,传统的教学方法存在许多的弊端,不能充分调动学生的学习积极性和主动性,更不能培养他们的发现问题和解决问题的能力。
二、项目学习法在“嵌入式C语言”教学中的实施
1.项目的选择
在项目学习法中,项目的选择非常重要,它直接关系到项目实施的成败。
(1)提高项目的趣味性。兴趣是最好的老师,学生对所开发的项目产生了兴趣,就能专心致志、聚精会神地去完成,能全身心地融入到项目开发的情境中,有了编程的兴趣就有了编程的动力,就能推进项目开发的正常进行。
(2)增强项目的实用性。项目应该来源于学生的生活,贴近学生的生活实际。选择项目时应该考虑到能让学生便于理解,同时项目应可能多地包含课程大纲要求掌握的知识点。选择这样的项目便于项目教学,学生不会纠缠于项目的业务逻辑上,而把重要精力放在编写程序代碼上,有利于学生深入掌握“嵌入式C语言”这门课程的知识点。
(3)保证项目的完整性。C语言和其他程序设计语言不同,教学中不应根据教学目标设计一些分散的案例来教学,分散的案例容易使学生“只见树木,不见森林”,没有深层次理解网站的开发过程。而一个完整的案例贯穿整个教学有利于学生体会到软件开发的全过程,能够深入解教学内容,同时体现知识的连贯性,利于学生把所学知识融会贯通。每一次的迭代开发,对应于一个教学单元的结束,下一个教学单元的开始。[4]项目的功能分成不同的阶段,根据教学目标有选择地通过改进完成软件项目。随着课程的深入,所实现的项目功能也变得越来越强大和智能化,直到课程结束才最后完成系统的开发。
(4)项目的难易度要适中。如果项目的难度太大,学生容易产生畏难情绪,不易于继续学习。假如项目十分容易,学生做起来毫不费力,没有一点挑战,更不会产生成就感。因此需要选择难易度适中的项目。
2.项目学习法的实施过程
(1)分组教学模式,培养团队精神。根据学生对程序设计的兴趣和学习能力,把学生分成若干个小组,每个小组选出一名小组长,小组长由学习能力强和学习态度端正的学生担任,小组内分工明确,各负其责。每个小组的人数要合适,一般4到7人左右,人数太多不利于小组管理和合作,人数太少达不到小组学习的目的。小组长充当企业里的项目经理的角色,教师则充当项目的技术总监。小组里的成员有问题可以组长,组长如不懂请教老师,每组根据老师布置的项目任务制定详细的计划,小组成员之间必须分工合作,开展广泛的讨论和意见的交流。教师对每个小组的完成情况进行监督,同时给予学生启发性的指导意见,避免学生针对某一问题争论不休或偏离主题。
分组能够使学生及早了解企业中项目开发中组内合作和组间竞争之间的关系,体验集体荣誉感和成绩感,培养学生正确处理好沟通协作和竞争之间的关系,以及团队合作精神,有利于学生快速融入到软件企业中去。
(2)以项目为导向,任务驱动的方式进行教学。在项目教学过程中以项目为主线,穿插讲授涉及到的知识,不但可以激发学生的学习兴趣,而且能起到很好的教学效果。如表1所示,整个教学过程中存款计算器和学生成绩管理系统两个项目贯穿始终。
以学生成绩管理系统为例,教授相关的知识点时,使枯燥无味零散的知识变得通俗易懂,教师在讲解项目的同时讲解编码的规范,这样有利于培养学生良好的编程习惯。当项目讲解完成后,同时涉及的知识点也讲完了,为巩固所学内容,教师可以布置一个类似的项目员工工资管理系统,让每个小组在课后完成。
通过任务驱动的方式调动每个小组成员的积极性,有效避免了光看不动手的缺点。项目就像一根绳子把零散的知识点穿在了一起,便于学生整体掌握知识,灵活运用知识解决问题。
(3)迭代式软件开发和分模块的教学方法。如表1所示,学生成绩管理系统由低版本向高版本转变,V1.0涉及到一维数组的知识点,V2.0改进前一版本不能处理复杂数据的缺点,引入结构体概念,这样可以表示学号、姓名、性别等信息。这种版本的递进,正是软件的迭代式开发过程,每一次的迭代,都是从简单到复杂,一个能力模块的结束到另一个能力模块的开始,一个知识点的结束到另一个知识点的开始。循序渐进、由易到难的过程也是学生解决问题的方法。
学生从中不仅学习到了编程知识,同时也从中学到了处理问题的方法。
(4)先教会怎么做,再教为何这么做。先问会了没有,再问懂了没有。这一直是职业教育遵守的教育理念。先让学生模仿老师的操作建立起学生成绩管理系统,做完之后,学生心里肯定会对为何这样做不是很理解,当老师在讲解为何这么编写程序时,学生会带着疑问认真听课,而且假如学生的问题没有解决,他会主动询问组内成员或问老师。这样学生的学习就会由被动的接受知识转变为积极主动地获取知识。
“先教会怎么做,再教为何这么做”摒弃了传统的先讲理论后讲实践的教学模式。从高职学校学生的实际动手能力出发,先教操作后讲理论,使得理论和实践的联系更加紧密。
(5)项目学习法的测评方法。项目化教学就是摒弃传统的课程测评方法,不再以一卷定成绩的方式给学生打分,而是更强调学生的动手,通过小组的方式完成教师布置的项目任务。最后,以小组答辩的方式来为每个小组成员进行评分。
3.实施项目学习法需要注意的几个问题
(1)需要建设与项目学习法相配套的教材和教学资源网站。“嵌入式C语言”的项目学习法配套的教材很少,而教材又是学生在课下进行学习的必要资料。因此编写具有本专业特色的教材是实施项目化教学的重要保障。
教学资源网的建设也是必不可少的,教师把教案和项目上传到教学资源网上,学生可以课后下载学习。这些都能够为项目化教学提供很好的支持。
(2)课程全部机房上课。课时安排尽量紧凑,开发工具使用企业主流开发工具。项目化教学强调的是动手能力,学生上课都是在机房进行教学,教师讲完学生立刻可以动手实践。又由于项目具有连贯性,最好能四节课连在一起上,这样不会因为项目刚好讲一半就下课而导致学生没时间进行训练。
嵌入式C语言的开发工具很多,比较流行的有Turbo C2.0,Borland C++,Visual C++6.0,Visual Studio 2005,Visual Studio 2010等。我们需要选择企业开发主流的工具Visual Studio 2010,这样有利于与企业接轨,让学生尽快掌握主流的开发工具,快速融入到软件开发的角色中去。
(3)项目教学不可能完全覆盖课本的所有知识点,所以需要根据情况选择典型的案例作为项目化教学的有利补充。例如表1中并不包含位运算这一知识点,但位运算在“嵌入式C语言”中又比较重要,所以要选择一些经典的案例进行讲授。
三、项目教学改革的成果
把项目学习法运用在计算机应用专业的“嵌入式C语言”课程教学中,学生反映比传统教学方式更易于掌握知识,知识联系更紧密了。通过期末考试的成绩分布情况可以看出,项目学习法教学效果显著。
总之,根据课程的实际情况,灵活地运用项目学习法会使教学收到意想不到的效果。
参考文献:
[1]夏惠贤.多元智力理论与项目学习[J].课程教材教学研究,2003,(3).
[2]倪冰.基于项目的学习理论在课程教学中应用的研究[D].上海:华东师范大学,2007.
[3]兰英娴.基于项目学习在生物教学中的应用[D].長春:东北师范大学,2008.
[4]张德芬.迭代开发方法应用于案例教学的探索[J].职教论坛,2006,(11).
(责任编辑:刘辉)
关键词:项目学习法;嵌入式C语言;程序设计
作者简介:武斌(1978-),男,安徽肥西人,滁州职业技术学院信息工程系,讲师;贾红雯(1978-),女,山东沂水人,滁州职业技术学院信息工程系,讲师。(安徽 滁州 239000)
基金项目:本文系安徽省职业与成人教育学会2010年度教育科研规划立项课题(课题编号:BCB10019)的研究成果。
中图分类号:G712 文献标识码:A 文章编号:1007-0079(2011)10-0083-02
项目学习(Project-Based Learning)指的是一套能使教师指导学生对真实世界主题进行深入研究的课程活动,具体表现为构想、验证、完善、制造出某种东西。[1]项目学习法主要由内容、活动、情境和结果四大要素组成。[2,3]
项目学习法的内容是指具体的学习主题,它源于人们的生活和生产实践,具有一定的现实意义和理论价值,具有趣味性和可完成性。
项目学习法的活动是指学生借助信息技术和学习技能解决项目实施过程中遇到的困难而采取的学习行动。
项目学习法的情境是为完成项目所设置的学习环境,促进学生之间以及师生之间的合作关系,能使学生减少人际冲突,在诚信合作的环境中,学生对发展自己的能力充满了自信。
项目学习法的结果是项目实施过程中学习到的知识和技能,如学习技能、劳动技能、管理技能等,成果的形式多种多样,内容丰富多彩。
本文对“嵌入式C语言”课程实施项目学习法展开研究。
“嵌入式C语言”课程是嵌入式专业方向的一门基础必修课程,该课程的学习效果直接影响到后继课程的学习,因此,学生学好这门课程对学习以后其他专业课程有很大好处。“嵌入式C语言”也是一门实践性很强的课程,对于高职学生来说,提高动手能力比掌握理论知识更加重要。因此,高职教学和本科教学有所区别,更需要突出和强调学生的动手能力,但是“嵌入式C语言”是学生最先接触的程序设计的入门语言,与其他编程语言如Visual Basic,C#,ASP.Net不一样,所使用的不是图形用户界面,编的程序都是控制台应用程序。因此,实施项目教学有其自身的特色,也有一定的难度。
一、传统“嵌入式C语言”教学方法的弊端
传统“嵌入式C语言”教学方法主要有以下三个弊端。
首先,以教师讲学生听的被动教学模式为主,教学方式呆板。通过多媒体教室传授理论知识,教师先按照教材的章节安排进行理论知识的传授,学生再到机房上机实践,这样就出现理论和实践相脱节,等到学生上机的时候已经忘记理论课上老师所讲授的内容,又需要教师重新讲授一遍,其教学效率极为低下。
其次,按照课本章节组织教学,每个知识点都是孤立的。没有衔接,知识不连贯,学生学了后面的内容,容易忘记前面学的知识。
最后,考核测评方式只注重理论,忽视了实践能力的考查。传统的考核方式是一卷定成绩,误导学生只要死记硬背课本知识,忽视了动手编程的重要性,而对于高职学生,动手能力的考核是非常重要的。
可以说,传统的教学方法存在许多的弊端,不能充分调动学生的学习积极性和主动性,更不能培养他们的发现问题和解决问题的能力。
二、项目学习法在“嵌入式C语言”教学中的实施
1.项目的选择
在项目学习法中,项目的选择非常重要,它直接关系到项目实施的成败。
(1)提高项目的趣味性。兴趣是最好的老师,学生对所开发的项目产生了兴趣,就能专心致志、聚精会神地去完成,能全身心地融入到项目开发的情境中,有了编程的兴趣就有了编程的动力,就能推进项目开发的正常进行。
(2)增强项目的实用性。项目应该来源于学生的生活,贴近学生的生活实际。选择项目时应该考虑到能让学生便于理解,同时项目应可能多地包含课程大纲要求掌握的知识点。选择这样的项目便于项目教学,学生不会纠缠于项目的业务逻辑上,而把重要精力放在编写程序代碼上,有利于学生深入掌握“嵌入式C语言”这门课程的知识点。
(3)保证项目的完整性。C语言和其他程序设计语言不同,教学中不应根据教学目标设计一些分散的案例来教学,分散的案例容易使学生“只见树木,不见森林”,没有深层次理解网站的开发过程。而一个完整的案例贯穿整个教学有利于学生体会到软件开发的全过程,能够深入解教学内容,同时体现知识的连贯性,利于学生把所学知识融会贯通。每一次的迭代开发,对应于一个教学单元的结束,下一个教学单元的开始。[4]项目的功能分成不同的阶段,根据教学目标有选择地通过改进完成软件项目。随着课程的深入,所实现的项目功能也变得越来越强大和智能化,直到课程结束才最后完成系统的开发。
(4)项目的难易度要适中。如果项目的难度太大,学生容易产生畏难情绪,不易于继续学习。假如项目十分容易,学生做起来毫不费力,没有一点挑战,更不会产生成就感。因此需要选择难易度适中的项目。
2.项目学习法的实施过程
(1)分组教学模式,培养团队精神。根据学生对程序设计的兴趣和学习能力,把学生分成若干个小组,每个小组选出一名小组长,小组长由学习能力强和学习态度端正的学生担任,小组内分工明确,各负其责。每个小组的人数要合适,一般4到7人左右,人数太多不利于小组管理和合作,人数太少达不到小组学习的目的。小组长充当企业里的项目经理的角色,教师则充当项目的技术总监。小组里的成员有问题可以组长,组长如不懂请教老师,每组根据老师布置的项目任务制定详细的计划,小组成员之间必须分工合作,开展广泛的讨论和意见的交流。教师对每个小组的完成情况进行监督,同时给予学生启发性的指导意见,避免学生针对某一问题争论不休或偏离主题。
分组能够使学生及早了解企业中项目开发中组内合作和组间竞争之间的关系,体验集体荣誉感和成绩感,培养学生正确处理好沟通协作和竞争之间的关系,以及团队合作精神,有利于学生快速融入到软件企业中去。
(2)以项目为导向,任务驱动的方式进行教学。在项目教学过程中以项目为主线,穿插讲授涉及到的知识,不但可以激发学生的学习兴趣,而且能起到很好的教学效果。如表1所示,整个教学过程中存款计算器和学生成绩管理系统两个项目贯穿始终。
以学生成绩管理系统为例,教授相关的知识点时,使枯燥无味零散的知识变得通俗易懂,教师在讲解项目的同时讲解编码的规范,这样有利于培养学生良好的编程习惯。当项目讲解完成后,同时涉及的知识点也讲完了,为巩固所学内容,教师可以布置一个类似的项目员工工资管理系统,让每个小组在课后完成。
通过任务驱动的方式调动每个小组成员的积极性,有效避免了光看不动手的缺点。项目就像一根绳子把零散的知识点穿在了一起,便于学生整体掌握知识,灵活运用知识解决问题。
(3)迭代式软件开发和分模块的教学方法。如表1所示,学生成绩管理系统由低版本向高版本转变,V1.0涉及到一维数组的知识点,V2.0改进前一版本不能处理复杂数据的缺点,引入结构体概念,这样可以表示学号、姓名、性别等信息。这种版本的递进,正是软件的迭代式开发过程,每一次的迭代,都是从简单到复杂,一个能力模块的结束到另一个能力模块的开始,一个知识点的结束到另一个知识点的开始。循序渐进、由易到难的过程也是学生解决问题的方法。
学生从中不仅学习到了编程知识,同时也从中学到了处理问题的方法。
(4)先教会怎么做,再教为何这么做。先问会了没有,再问懂了没有。这一直是职业教育遵守的教育理念。先让学生模仿老师的操作建立起学生成绩管理系统,做完之后,学生心里肯定会对为何这样做不是很理解,当老师在讲解为何这么编写程序时,学生会带着疑问认真听课,而且假如学生的问题没有解决,他会主动询问组内成员或问老师。这样学生的学习就会由被动的接受知识转变为积极主动地获取知识。
“先教会怎么做,再教为何这么做”摒弃了传统的先讲理论后讲实践的教学模式。从高职学校学生的实际动手能力出发,先教操作后讲理论,使得理论和实践的联系更加紧密。
(5)项目学习法的测评方法。项目化教学就是摒弃传统的课程测评方法,不再以一卷定成绩的方式给学生打分,而是更强调学生的动手,通过小组的方式完成教师布置的项目任务。最后,以小组答辩的方式来为每个小组成员进行评分。
3.实施项目学习法需要注意的几个问题
(1)需要建设与项目学习法相配套的教材和教学资源网站。“嵌入式C语言”的项目学习法配套的教材很少,而教材又是学生在课下进行学习的必要资料。因此编写具有本专业特色的教材是实施项目化教学的重要保障。
教学资源网的建设也是必不可少的,教师把教案和项目上传到教学资源网上,学生可以课后下载学习。这些都能够为项目化教学提供很好的支持。
(2)课程全部机房上课。课时安排尽量紧凑,开发工具使用企业主流开发工具。项目化教学强调的是动手能力,学生上课都是在机房进行教学,教师讲完学生立刻可以动手实践。又由于项目具有连贯性,最好能四节课连在一起上,这样不会因为项目刚好讲一半就下课而导致学生没时间进行训练。
嵌入式C语言的开发工具很多,比较流行的有Turbo C2.0,Borland C++,Visual C++6.0,Visual Studio 2005,Visual Studio 2010等。我们需要选择企业开发主流的工具Visual Studio 2010,这样有利于与企业接轨,让学生尽快掌握主流的开发工具,快速融入到软件开发的角色中去。
(3)项目教学不可能完全覆盖课本的所有知识点,所以需要根据情况选择典型的案例作为项目化教学的有利补充。例如表1中并不包含位运算这一知识点,但位运算在“嵌入式C语言”中又比较重要,所以要选择一些经典的案例进行讲授。
三、项目教学改革的成果
把项目学习法运用在计算机应用专业的“嵌入式C语言”课程教学中,学生反映比传统教学方式更易于掌握知识,知识联系更紧密了。通过期末考试的成绩分布情况可以看出,项目学习法教学效果显著。
总之,根据课程的实际情况,灵活地运用项目学习法会使教学收到意想不到的效果。
参考文献:
[1]夏惠贤.多元智力理论与项目学习[J].课程教材教学研究,2003,(3).
[2]倪冰.基于项目的学习理论在课程教学中应用的研究[D].上海:华东师范大学,2007.
[3]兰英娴.基于项目学习在生物教学中的应用[D].長春:东北师范大学,2008.
[4]张德芬.迭代开发方法应用于案例教学的探索[J].职教论坛,2006,(11).
(责任编辑:刘辉)