论文部分内容阅读
摘要 为提高学生的逻辑思维能力和C语言的实际编程技能,针对高职学生的特点,摸索出一套行之有效的项目递进驱动教学法,实践表明学生参与程度高,整体效果好。
关键词 C语言程序设计;项目驱动;教学设计
C语言程序设计是计算机及相关专业的一门重要专业基础课,是进一步学习后续课程的基础。针对高职学生普遍感到难学、枯燥的状况,通过教学探索与实践,摸索出一套行之有效的项目递进驱动教学法,从宏观教学设计而言,分为编程基础准备、实训项目牵引和课程设计三个阶段,指出每个阶段的宏观任务、教学要求、教学实施方法等。在微观的课堂设计中,主要是通过精心设计实例,两个层面拓展,来实践项目递进驱动教学法,推动课堂教学。
一、项目递进驱动教学法的理论依据和内涵
项目递进驱动教学法的理论依据是建构主义的学习理论,认为学生学习的动力来自生存环境的压力,以建构主义的观点,教学关注的重点在于使学习者达到的程度,教师的职责在于使学习者置身于探索知识之中,为他们提供能够适当的“情境”——在真实世界中需应用知识解决的问题;然后使学生在此情境之下,通过教师的指导,同学的讨论来解决问题,在完成任务的同时,达到最终的教学目的即实现意义建构。项目递进驱动教学法,在整个教学过程中以一个项目的不断拓展和和层层推进来带动课程的学习,在每次的课堂教学中,又以项目的一个实例不断推进驱动课堂教学的开展。由教师引导学生,从一个程序出发,在将这个程序不断改进功能、算法、实现条件或输出内容等过程中,不断地提出任务自然地进行新知识点的学习和操练。将传统的老师满堂灌转变为“学生为主体,教师为主导”的教学模式。在教学过程中,为了充分体现高职教育的特点,实现教师角色的转换,使学生能够参与到程序设计中,要考虑两个方面的问题:一是在学习过程中将学生被动地学转化为主动的有切实可实现目标的学,即教师要有设置情境的意识;二是结合C语言的特点,给学生的学习过程创造一种类似于实际工作中系统开发的环境,通过程序的推进,使学生在完成实训项目的过程中学习有关C语言的程序设计。
二、课程的宏观教学设计
在课程教学中以完成一个个实训项目为主线,在完成项目的过程中引入知识点,操练语法点。整个课程可分为三个阶段:①编程基础准备阶段。内容包括数据类型、运算符与表达式等基础语法以及顺序、选择、循环结构程序设计。目的是学习程序设计的语言表达以及结构设计。方法上主要是加强操练。通过各种书面作业、多重训练和一个问题的多种解法来加强语法知识点的掌握和训练,开阔学生编程的思路。通过学生上机的效果和提交的作业检查本阶段的教学效果;②实训项目牵引阶段。内容包括数组、函数、编译预处理、指针、结构和链表。通过第一阶段的学习,学生已经具备了一些程序设计的基础知识。本阶段实训项目的设计非常重要,原则是既要使学生有切入点能够动手又要使各章的实训项目之间有联系点,还要使其能够最终完成课程设计。教师以“导师”的身份出现,引导学生参与到实训项目中,为学生提供技术支持,侧重检查项目完成情况,并要适时为学生进行归纳,总结编程技巧和语法知识;③课程设计阶段。目标是通过课程设计的完成对整个学习进行一个巩固、测试和验收,新增内容主要是关于文件的操作。本阶段的实施一方面是对C语言程序设计课程的总结提高,另一方面要培养学生项目文档的撰写能力。学习以学生的自主开发为主,学生可以通过各种途径查找资料,促使学生自觉利用互联网和图书馆等来辅助课程的学习。学生应提供完整的项目文档,并对项目进行答辩。通过项目答辩、项目文档和程序实现来检验本阶段的教学效果。
三、C语言程序设计课程的微观课堂设计
精心设计教学实例,实现项目递进驱动。要给学生一个比较实际的切入点,通过老师的演示使学生感觉能够人手,再通过将此例不断修改、扩充,引导学生参与到程序的编制过程中,可将学生所作的程序展示,评判优劣,教学中,有提出问题、解决问题、扩展问题、再解决问题、对解决问题的方法评价、优化设计等几个环节,是一个螺旋式滚动向前的过程,能够非常自然地调动学生的参与,通过问题的不断扩展和一个问题的多种解决方法,有效开阔学生的思维,使得学生在课堂上真正地成为“主体”。教师现场编程,使同学们能够参与到程序调试的过程中,跟老师共同解决问题。通过项目递进驱动,实现两个层面拓展。讲授新内容时,课堂的设计尤为重要,课堂实例要能够体现课程的核心内容,还要有很强的扩展空间。通过程序的层层推进,引入课程内容,容易引起学生的兴趣。堂课中的实例可作横向和纵向扩展。横向扩展将课程中学过的内容联系起来,同时是一个复习过程。纵向扩展目的在于一步步引申和引入新的知识点和能力训练点,引导学生参与到一个实例中。对每一个实例的每一步扩充,教师都给出确切的基本要求,引导学生主动独立完成。每一个新内容都是从一个能够人手完成的例子过渡而来,会使得学生自然地接受课程中的新内容,引导学生自己完成关于新知识的扩充。在完成一系列实际操作之后,再引导学生回答该次课程中的理论或技能知识点,问题均尽可能细化,待学生讨论作答后,老师再进行总结重点、难点等。布置实训项目时,精心设计内容,使每一个实训项目都与课堂上的实例密切相关,确保学生们有一个比较实际的出发点;同时按照课堂上实例步步深入,对一个实训项目提出多个具体的层层递进的要求,更重要的是给出基本要求之外的扩充思路和难点,鼓励学生在完成作业的基础上对其进行拓展。
关键词 C语言程序设计;项目驱动;教学设计
C语言程序设计是计算机及相关专业的一门重要专业基础课,是进一步学习后续课程的基础。针对高职学生普遍感到难学、枯燥的状况,通过教学探索与实践,摸索出一套行之有效的项目递进驱动教学法,从宏观教学设计而言,分为编程基础准备、实训项目牵引和课程设计三个阶段,指出每个阶段的宏观任务、教学要求、教学实施方法等。在微观的课堂设计中,主要是通过精心设计实例,两个层面拓展,来实践项目递进驱动教学法,推动课堂教学。
一、项目递进驱动教学法的理论依据和内涵
项目递进驱动教学法的理论依据是建构主义的学习理论,认为学生学习的动力来自生存环境的压力,以建构主义的观点,教学关注的重点在于使学习者达到的程度,教师的职责在于使学习者置身于探索知识之中,为他们提供能够适当的“情境”——在真实世界中需应用知识解决的问题;然后使学生在此情境之下,通过教师的指导,同学的讨论来解决问题,在完成任务的同时,达到最终的教学目的即实现意义建构。项目递进驱动教学法,在整个教学过程中以一个项目的不断拓展和和层层推进来带动课程的学习,在每次的课堂教学中,又以项目的一个实例不断推进驱动课堂教学的开展。由教师引导学生,从一个程序出发,在将这个程序不断改进功能、算法、实现条件或输出内容等过程中,不断地提出任务自然地进行新知识点的学习和操练。将传统的老师满堂灌转变为“学生为主体,教师为主导”的教学模式。在教学过程中,为了充分体现高职教育的特点,实现教师角色的转换,使学生能够参与到程序设计中,要考虑两个方面的问题:一是在学习过程中将学生被动地学转化为主动的有切实可实现目标的学,即教师要有设置情境的意识;二是结合C语言的特点,给学生的学习过程创造一种类似于实际工作中系统开发的环境,通过程序的推进,使学生在完成实训项目的过程中学习有关C语言的程序设计。
二、课程的宏观教学设计
在课程教学中以完成一个个实训项目为主线,在完成项目的过程中引入知识点,操练语法点。整个课程可分为三个阶段:①编程基础准备阶段。内容包括数据类型、运算符与表达式等基础语法以及顺序、选择、循环结构程序设计。目的是学习程序设计的语言表达以及结构设计。方法上主要是加强操练。通过各种书面作业、多重训练和一个问题的多种解法来加强语法知识点的掌握和训练,开阔学生编程的思路。通过学生上机的效果和提交的作业检查本阶段的教学效果;②实训项目牵引阶段。内容包括数组、函数、编译预处理、指针、结构和链表。通过第一阶段的学习,学生已经具备了一些程序设计的基础知识。本阶段实训项目的设计非常重要,原则是既要使学生有切入点能够动手又要使各章的实训项目之间有联系点,还要使其能够最终完成课程设计。教师以“导师”的身份出现,引导学生参与到实训项目中,为学生提供技术支持,侧重检查项目完成情况,并要适时为学生进行归纳,总结编程技巧和语法知识;③课程设计阶段。目标是通过课程设计的完成对整个学习进行一个巩固、测试和验收,新增内容主要是关于文件的操作。本阶段的实施一方面是对C语言程序设计课程的总结提高,另一方面要培养学生项目文档的撰写能力。学习以学生的自主开发为主,学生可以通过各种途径查找资料,促使学生自觉利用互联网和图书馆等来辅助课程的学习。学生应提供完整的项目文档,并对项目进行答辩。通过项目答辩、项目文档和程序实现来检验本阶段的教学效果。
三、C语言程序设计课程的微观课堂设计
精心设计教学实例,实现项目递进驱动。要给学生一个比较实际的切入点,通过老师的演示使学生感觉能够人手,再通过将此例不断修改、扩充,引导学生参与到程序的编制过程中,可将学生所作的程序展示,评判优劣,教学中,有提出问题、解决问题、扩展问题、再解决问题、对解决问题的方法评价、优化设计等几个环节,是一个螺旋式滚动向前的过程,能够非常自然地调动学生的参与,通过问题的不断扩展和一个问题的多种解决方法,有效开阔学生的思维,使得学生在课堂上真正地成为“主体”。教师现场编程,使同学们能够参与到程序调试的过程中,跟老师共同解决问题。通过项目递进驱动,实现两个层面拓展。讲授新内容时,课堂的设计尤为重要,课堂实例要能够体现课程的核心内容,还要有很强的扩展空间。通过程序的层层推进,引入课程内容,容易引起学生的兴趣。堂课中的实例可作横向和纵向扩展。横向扩展将课程中学过的内容联系起来,同时是一个复习过程。纵向扩展目的在于一步步引申和引入新的知识点和能力训练点,引导学生参与到一个实例中。对每一个实例的每一步扩充,教师都给出确切的基本要求,引导学生主动独立完成。每一个新内容都是从一个能够人手完成的例子过渡而来,会使得学生自然地接受课程中的新内容,引导学生自己完成关于新知识的扩充。在完成一系列实际操作之后,再引导学生回答该次课程中的理论或技能知识点,问题均尽可能细化,待学生讨论作答后,老师再进行总结重点、难点等。布置实训项目时,精心设计内容,使每一个实训项目都与课堂上的实例密切相关,确保学生们有一个比较实际的出发点;同时按照课堂上实例步步深入,对一个实训项目提出多个具体的层层递进的要求,更重要的是给出基本要求之外的扩充思路和难点,鼓励学生在完成作业的基础上对其进行拓展。