论文部分内容阅读
[摘要]教材是体现教学内容和教学方向的知识载体,是提高教学质量的重要前提。针对目前高职C语言教材存在的现状,文章提出了按照项目载体、任务驱动的教学思路,在知识体系重构、案例选取以及知识覆盖面扩展等方面进行教材改革。在教学过程中,有效激发学生的学习积极性,提高学生的实际编程能力。
[关键词]C语言教材 程序设计 项目 任务
[作者简介]马国峰(1973-),男,河南开封人,郑州铁路职业技术学院软件学院院长助理,副教授,硕士,研究方向为计算机应用教学和计算机网络;杨俊红(1970-),女,河南西平人,郑州铁路职业技术学院软件学院,副教授,硕士,研究方向为计算机应用教学和数字视频处理。(河南 郑州 450052)李元臣(1966-),男,河南新蔡人,洛阳师范学院信息技术学院,副教授,硕士,研究方向为网络性能分析、网络管理。(河南 洛阳 471022)
[中图分类号]G714 [文献标识码]A [文章编号]1004-3985(2012)02-0116-02
一、引言
目前,很多高职院校的计算机及其相关专业都选用C语言作为程序设计的指定语言,掌握这种程序设计语言的使用方法,对于训练学生的思维能力和解决实际问题能力的培养具有重要意义。但是,由于C语言涉及的概念多,语法规则复杂,使用比较灵活,学生普遍反映难度较大,学习积极性和主动性不能得到充分发挥,教学效果较差。针对这种情况,我们本着“职业活动导向、任务驱动、项目载体”的教学原则,紧密结合实际,在教学内容、教学方法和考核方式的改革和创新方面进行大胆的尝试,取得了良好的教学效果。在一系列的改革措施中,最基础的工作是教材建设,没有好的教材,提高教学质量只能是一句空话。
二、高职C语言教材现状
近年来,随着C语言教学改革的推进,各类高职C语言教材不断涌现,这些教材从C语言的基本概念、基本理论出发,逐步提出C语言的知识点,同时注重内容的启蒙性和基础性,为学生学习C语言程序设计提供了很好的载体。但是与高职人才培养目标的需求相比,仍然存在一些问题,主要表现为以下几个方面:
1 教材内容注重语法细节词,过于强调学科的完整性,未能与实际应用相结合。现阶段,一些高职C语言程序设计教材,其内容体系基本上是基于学科体系构建的,以传授理论知识为主,偏重知识的系统性和全面性,注重以“提出概念一解释概念—举例说明”的方式组织教材的内容,不能有效地将教学过程中出现的知识、技能与实际软件开发结合起来,造成理论与实际脱节,忽略了给予学生自主学习与探究的机会,忽视了对学生综合素质和创新能力的培养。
2 例题总是围绕一些数学知识,与现实生活联系不紧密,学生很难学以致用。有些高职C语言教材在编写时,把注意力集中在数学领域,在例题和习题的配置上过于数学化,有些数学问题对大多数高职学生来说,理解起来比较吃力,学生难以适应。当然,用c语言编程解决一些有趣的数学问题,是值得肯定与推进的,而一味地让学生编程解决没有吸引力的问题,很难激发学生的学习积极性。所以高职C语言教材中,应去掉一些非必需的高等数学、逻辑推理等方面的内容,尽量选择学生熟悉并感兴趣的问题。
3 编译环境仍用Turbo C,不能适应计算机领域新发展。目前,企业非常流行的c语言编译器包括Windows环境下微软公司的Visual c++,NET,Linux/Unix环境下的Gcc编译器,另外,全国计算机等级考试二级c语言程序设计自2008年也开始以VC++6.0为考试环境,而部分高职院校的C语言教材仍选用Turbo C 2.0作为编译环境。Turbo C 2.0在早期是c语言开发环境中当之无愧的佼佼者。但是,随着计算机技术的发展,无论是在使用的便捷性,还是在对语言标准的支持上,Turbo C 2.0都已经跟不上时代的发展,使用这样的教材所教出来的学生相应也就与社会需求脱节。因此,高职C语言教材的内容切忌老化,应把计算机领域中的新知识、新技术介绍给学生,使学生走上工作岗位后,能够适应社会的最新发展。
三、教材建设的改革措施
高职教育虽然也属于高等教育,但与一般的普通高等教育是有差别的,其培养的目标和对象也不相同。高职教育培养的目标是具有一定理论水平、有较强实际技能的职业性人才,而就读高职的学生大多学习基础较为薄弱。根据高职教育的这个特点,我们以培养学生的实践动手能力为主,编写并出版了《C语言程序设计项目化教程》教材,此书在内容组织、结构安排上与传统教材有很大的不同。
1 项目载体,任务驱动,学用结合。我们在编写C语言教材时,改变传统的偏重知识传授、过于强调学科体系完整性的做法,首先把课程教学内容进行优化整合,提炼出C语言的知识重点,包括数据类型、输入/输出函数、三种程序控制结构、数组、函数、指针、结构体和文件等,并从提高学生实际编程能力的目标出发,精心设计了简易计算器、学生成绩统计和学生信息管理三个项目。项目选取的原则是规模合适,难度适中,基本涵盖C语言的教学知识点,并且是学生熟悉并感兴趣的项目,容易被学生接受。
在介绍每个项目时,均给出了项目功能要求、训练目的、训练知识要点和运行结果界面。具体如下:(1)简易计算器。项目功能描述:实现一个简易计算器,能够完成整型数据和实型数据的加、减、乘、除四则运算。训练知识要点:C语言中的数据与运算、程序控制结构等编程基本要素。训练目的:使学生了解C语言的特点和基本编程方法,并能利用C语言基础知识编写简单的程序,解决日常生活和工作中的小问题。(2)学生成绩统计。项目功能描述:实现学生某门课程成绩的统计。其功能包括:录入和显示学生成绩、统计总分和平均分、统计最高分和最低分、统计各分数段人数。训练知识要点:函数、数组和指针。训练目的:使学生掌握分析问题和解决问题的思路和方法,并能灵活运用函数、数组和指针编写程序,解决科学计算和工程设计中的一般性问题。(3)学生信息管理。项目功能描述:实现对批量学生信息的管理,通过学生信息管理系统能够进行学生信息的增加、浏览、查询、删除、统计等功能,实现学生管理工作的系统化和自动化。训练知识要点:结构体和文件。训练目的:使学生掌握小型系统程序设计的基本方法,能够使用工具进行程序系统调试,培养学生利用C语言知识分析问题、解决问题的能力。
为了便于教学组织,通过功能分析,又将每个项目分解为具有内在关联的若干个“小任务”,“小任务”是结合某个固定知识点,并具有针对性的具体项目。这样以“大项目”为载体,以“小任务”为节点,逐层分解相关知识点,使原先比较琐碎的知识,变得更加系统化、条理化。同时以工作任务为中心组织教学内容,强调任务的目标性和教学情境的创建,通过提出任务、分析任务、引入新知识、实现任务、扩展任务、再分析实现任务、总结提高等几个环节,形成一个螺旋式滚动向前的过程,使学生带着真 实的任务在探索中学习,有利于开阔学生的思维,培养学生的创新能力,达到“学以致用”的目的。
2 采用“分级递进”的思路设计任务,循序渐进,符合学生的认知规律。我们在编写C语言教材时,从学生心理和学习方法出发,注重知识的层次性和技能培养的渐进性,将每个项目所分解的任务采用“分级递进”的思路进行设计。例如,简易计算器项目,共分解为四个任务:第一个任务是项目中数据类型的定义,主要训练学生数据类型、常量与变量、运算符与表达式等方面的知识;第二个任务是项目主菜单的顺序执行,该任务在第一个任务的基础上,增加了pfinff与scanf等基本输入输出函数;第三个任务是项目主菜单的选择执行,重点练习if语句与switch语句;第四任务则要求用while、do-while和for三种循环语句实现项目主菜单的循环执行。在这四个任务中,每个任务不是单独存在的,它们之间构成一个阶梯形的任务链,前一个任务的完成为后一个任务的展开做好铺垫,几个任务由简到繁、由易到难,层层递进,最终完成一个“大项目”。这样的教学内容设计符合学生的认知与学习规律,有效调动了学生的学习积极性,使学生的编程能力在每个任务的实施中逐步得到提高。
3 篇章结合,编排新颖,设计独特。传统的C语言教材按照章节模式编排内容,不断推进学习过程,这虽然在知识传授上具有很好的系统性,但会使一部分学生因知识难度逐渐加深而跟不上教学进度,从而失去学习兴趣,放弃对C语言课程的学习。我们在编写教材时,在保证知识结构前后关联的前提下,以篇章结合的形式组织教学内容。整本书共分基础篇、提高篇和综合应用篇,分别以简易计算器、学生成绩统计和学生信息管理系统三个项目为背景,逐步引入C语言的各个知识点。在每一篇开始,首先结合相关项目提出本篇所要介绍的知识点和培养技能,使学生在每一阶段都很清楚自己的学习内容和目标,学生在学完每一篇后,很快就能看到项目完成的具体效果,使学生在学习C语言的整个过程中始终保持成就感和学习兴趣,增强了不断再上新台阶的信心,达到了事半功倍的效果。
4 基础知识和扩展知识结合,保证知识的覆盖面。教材选用的三个项目包含了c语言的大部分知识点和技能点,对于少部分没有涉及的内容,如位运算、变量的存储类型、函数的嵌套调用和递归调用、共用体和枚举类型等,安排在扩展知识中进行介绍。教师可在教学过程中,充分发挥主观能动性,根据学习者不同专业和层次的需求,因材施教,灵活分配和组织教学内容,让学生在提高编程能力的同时,建构一个系统的、全面的知识框架。
5 精选案例,一题多解,开拓思维。为了进一步加强学生运用所学知识解决实际问题的能力,教材在讲解理论知识时,还精选了大量通俗易懂、实用性强的案例。例如,用字符数组编写一个回显“*”的密码验证程序;用二维数组统计学生总分和平均分;用指针实现学生成绩的统计等。在讲解案例时,给出了解题思路、程序运行结果、程序分析说明和深入思考等几部分内容,并指出学生处理该类题目时容易出现的问题,有些案例还给出了多种解决方法,有利于学生更好地了解和掌握程序开发的灵活性,拓展学生的创造性思维,培养创新能力。
6 改进教学平台,及时适应等级考试新变化。以往学生都是在Turbo C 2.0环境下进行C程序的编写与调试,为了适应大多数人使用鼠标的习惯,并与现在的计算机等级考试环境保持一致,教材采用VC++6.0作为C语言的运行环境,这也有利于学生以后进一步学习面向对象的程序设计。
四、结束语
《C语言程序设计项目化教程》教材在郑州铁路职业技术学院经过一年多的使用,明显激发了学生学习C语言的兴趣和信心,期末考核合格率与往年相比有了大幅度的提高,不少学生还主动提出新的解决问题思路与老师交流。由此可见,在高职C语言教材建设中不断地探索新思路、新方法,在理论适度、技术先进、方法科学、案例实用的前提下,尽可能按实际工作流程或任务驱动方式组织教学内容,对提高学生学习兴趣,培养学生的自主学习能力和创新能力发挥着关键性的作用。
[参考文献]
[1]王晓勇,肖四友,张文祥.基于能力培养的C语言项目化训练教学模式初探[J].计算机教育,2009(10).
[2]游小荣.浅谈高职计算机语言的项目式教学[J].电脑知识与技术,2008(18).
[3]周雅静.C语言程序设计实用教程[M].北京:清华大学出版社,2009.
[4]杨俊红C语言程序设计项目化教程[M].北京:中国水利水电出版社.2010.
[5]罗杰红,胡建荣.基于“四驱式”阶梯递进的《C语言程序设计》课程教学体系设计与实践[J].职业技术教育,2009(17).
[关键词]C语言教材 程序设计 项目 任务
[作者简介]马国峰(1973-),男,河南开封人,郑州铁路职业技术学院软件学院院长助理,副教授,硕士,研究方向为计算机应用教学和计算机网络;杨俊红(1970-),女,河南西平人,郑州铁路职业技术学院软件学院,副教授,硕士,研究方向为计算机应用教学和数字视频处理。(河南 郑州 450052)李元臣(1966-),男,河南新蔡人,洛阳师范学院信息技术学院,副教授,硕士,研究方向为网络性能分析、网络管理。(河南 洛阳 471022)
[中图分类号]G714 [文献标识码]A [文章编号]1004-3985(2012)02-0116-02
一、引言
目前,很多高职院校的计算机及其相关专业都选用C语言作为程序设计的指定语言,掌握这种程序设计语言的使用方法,对于训练学生的思维能力和解决实际问题能力的培养具有重要意义。但是,由于C语言涉及的概念多,语法规则复杂,使用比较灵活,学生普遍反映难度较大,学习积极性和主动性不能得到充分发挥,教学效果较差。针对这种情况,我们本着“职业活动导向、任务驱动、项目载体”的教学原则,紧密结合实际,在教学内容、教学方法和考核方式的改革和创新方面进行大胆的尝试,取得了良好的教学效果。在一系列的改革措施中,最基础的工作是教材建设,没有好的教材,提高教学质量只能是一句空话。
二、高职C语言教材现状
近年来,随着C语言教学改革的推进,各类高职C语言教材不断涌现,这些教材从C语言的基本概念、基本理论出发,逐步提出C语言的知识点,同时注重内容的启蒙性和基础性,为学生学习C语言程序设计提供了很好的载体。但是与高职人才培养目标的需求相比,仍然存在一些问题,主要表现为以下几个方面:
1 教材内容注重语法细节词,过于强调学科的完整性,未能与实际应用相结合。现阶段,一些高职C语言程序设计教材,其内容体系基本上是基于学科体系构建的,以传授理论知识为主,偏重知识的系统性和全面性,注重以“提出概念一解释概念—举例说明”的方式组织教材的内容,不能有效地将教学过程中出现的知识、技能与实际软件开发结合起来,造成理论与实际脱节,忽略了给予学生自主学习与探究的机会,忽视了对学生综合素质和创新能力的培养。
2 例题总是围绕一些数学知识,与现实生活联系不紧密,学生很难学以致用。有些高职C语言教材在编写时,把注意力集中在数学领域,在例题和习题的配置上过于数学化,有些数学问题对大多数高职学生来说,理解起来比较吃力,学生难以适应。当然,用c语言编程解决一些有趣的数学问题,是值得肯定与推进的,而一味地让学生编程解决没有吸引力的问题,很难激发学生的学习积极性。所以高职C语言教材中,应去掉一些非必需的高等数学、逻辑推理等方面的内容,尽量选择学生熟悉并感兴趣的问题。
3 编译环境仍用Turbo C,不能适应计算机领域新发展。目前,企业非常流行的c语言编译器包括Windows环境下微软公司的Visual c++,NET,Linux/Unix环境下的Gcc编译器,另外,全国计算机等级考试二级c语言程序设计自2008年也开始以VC++6.0为考试环境,而部分高职院校的C语言教材仍选用Turbo C 2.0作为编译环境。Turbo C 2.0在早期是c语言开发环境中当之无愧的佼佼者。但是,随着计算机技术的发展,无论是在使用的便捷性,还是在对语言标准的支持上,Turbo C 2.0都已经跟不上时代的发展,使用这样的教材所教出来的学生相应也就与社会需求脱节。因此,高职C语言教材的内容切忌老化,应把计算机领域中的新知识、新技术介绍给学生,使学生走上工作岗位后,能够适应社会的最新发展。
三、教材建设的改革措施
高职教育虽然也属于高等教育,但与一般的普通高等教育是有差别的,其培养的目标和对象也不相同。高职教育培养的目标是具有一定理论水平、有较强实际技能的职业性人才,而就读高职的学生大多学习基础较为薄弱。根据高职教育的这个特点,我们以培养学生的实践动手能力为主,编写并出版了《C语言程序设计项目化教程》教材,此书在内容组织、结构安排上与传统教材有很大的不同。
1 项目载体,任务驱动,学用结合。我们在编写C语言教材时,改变传统的偏重知识传授、过于强调学科体系完整性的做法,首先把课程教学内容进行优化整合,提炼出C语言的知识重点,包括数据类型、输入/输出函数、三种程序控制结构、数组、函数、指针、结构体和文件等,并从提高学生实际编程能力的目标出发,精心设计了简易计算器、学生成绩统计和学生信息管理三个项目。项目选取的原则是规模合适,难度适中,基本涵盖C语言的教学知识点,并且是学生熟悉并感兴趣的项目,容易被学生接受。
在介绍每个项目时,均给出了项目功能要求、训练目的、训练知识要点和运行结果界面。具体如下:(1)简易计算器。项目功能描述:实现一个简易计算器,能够完成整型数据和实型数据的加、减、乘、除四则运算。训练知识要点:C语言中的数据与运算、程序控制结构等编程基本要素。训练目的:使学生了解C语言的特点和基本编程方法,并能利用C语言基础知识编写简单的程序,解决日常生活和工作中的小问题。(2)学生成绩统计。项目功能描述:实现学生某门课程成绩的统计。其功能包括:录入和显示学生成绩、统计总分和平均分、统计最高分和最低分、统计各分数段人数。训练知识要点:函数、数组和指针。训练目的:使学生掌握分析问题和解决问题的思路和方法,并能灵活运用函数、数组和指针编写程序,解决科学计算和工程设计中的一般性问题。(3)学生信息管理。项目功能描述:实现对批量学生信息的管理,通过学生信息管理系统能够进行学生信息的增加、浏览、查询、删除、统计等功能,实现学生管理工作的系统化和自动化。训练知识要点:结构体和文件。训练目的:使学生掌握小型系统程序设计的基本方法,能够使用工具进行程序系统调试,培养学生利用C语言知识分析问题、解决问题的能力。
为了便于教学组织,通过功能分析,又将每个项目分解为具有内在关联的若干个“小任务”,“小任务”是结合某个固定知识点,并具有针对性的具体项目。这样以“大项目”为载体,以“小任务”为节点,逐层分解相关知识点,使原先比较琐碎的知识,变得更加系统化、条理化。同时以工作任务为中心组织教学内容,强调任务的目标性和教学情境的创建,通过提出任务、分析任务、引入新知识、实现任务、扩展任务、再分析实现任务、总结提高等几个环节,形成一个螺旋式滚动向前的过程,使学生带着真 实的任务在探索中学习,有利于开阔学生的思维,培养学生的创新能力,达到“学以致用”的目的。
2 采用“分级递进”的思路设计任务,循序渐进,符合学生的认知规律。我们在编写C语言教材时,从学生心理和学习方法出发,注重知识的层次性和技能培养的渐进性,将每个项目所分解的任务采用“分级递进”的思路进行设计。例如,简易计算器项目,共分解为四个任务:第一个任务是项目中数据类型的定义,主要训练学生数据类型、常量与变量、运算符与表达式等方面的知识;第二个任务是项目主菜单的顺序执行,该任务在第一个任务的基础上,增加了pfinff与scanf等基本输入输出函数;第三个任务是项目主菜单的选择执行,重点练习if语句与switch语句;第四任务则要求用while、do-while和for三种循环语句实现项目主菜单的循环执行。在这四个任务中,每个任务不是单独存在的,它们之间构成一个阶梯形的任务链,前一个任务的完成为后一个任务的展开做好铺垫,几个任务由简到繁、由易到难,层层递进,最终完成一个“大项目”。这样的教学内容设计符合学生的认知与学习规律,有效调动了学生的学习积极性,使学生的编程能力在每个任务的实施中逐步得到提高。
3 篇章结合,编排新颖,设计独特。传统的C语言教材按照章节模式编排内容,不断推进学习过程,这虽然在知识传授上具有很好的系统性,但会使一部分学生因知识难度逐渐加深而跟不上教学进度,从而失去学习兴趣,放弃对C语言课程的学习。我们在编写教材时,在保证知识结构前后关联的前提下,以篇章结合的形式组织教学内容。整本书共分基础篇、提高篇和综合应用篇,分别以简易计算器、学生成绩统计和学生信息管理系统三个项目为背景,逐步引入C语言的各个知识点。在每一篇开始,首先结合相关项目提出本篇所要介绍的知识点和培养技能,使学生在每一阶段都很清楚自己的学习内容和目标,学生在学完每一篇后,很快就能看到项目完成的具体效果,使学生在学习C语言的整个过程中始终保持成就感和学习兴趣,增强了不断再上新台阶的信心,达到了事半功倍的效果。
4 基础知识和扩展知识结合,保证知识的覆盖面。教材选用的三个项目包含了c语言的大部分知识点和技能点,对于少部分没有涉及的内容,如位运算、变量的存储类型、函数的嵌套调用和递归调用、共用体和枚举类型等,安排在扩展知识中进行介绍。教师可在教学过程中,充分发挥主观能动性,根据学习者不同专业和层次的需求,因材施教,灵活分配和组织教学内容,让学生在提高编程能力的同时,建构一个系统的、全面的知识框架。
5 精选案例,一题多解,开拓思维。为了进一步加强学生运用所学知识解决实际问题的能力,教材在讲解理论知识时,还精选了大量通俗易懂、实用性强的案例。例如,用字符数组编写一个回显“*”的密码验证程序;用二维数组统计学生总分和平均分;用指针实现学生成绩的统计等。在讲解案例时,给出了解题思路、程序运行结果、程序分析说明和深入思考等几部分内容,并指出学生处理该类题目时容易出现的问题,有些案例还给出了多种解决方法,有利于学生更好地了解和掌握程序开发的灵活性,拓展学生的创造性思维,培养创新能力。
6 改进教学平台,及时适应等级考试新变化。以往学生都是在Turbo C 2.0环境下进行C程序的编写与调试,为了适应大多数人使用鼠标的习惯,并与现在的计算机等级考试环境保持一致,教材采用VC++6.0作为C语言的运行环境,这也有利于学生以后进一步学习面向对象的程序设计。
四、结束语
《C语言程序设计项目化教程》教材在郑州铁路职业技术学院经过一年多的使用,明显激发了学生学习C语言的兴趣和信心,期末考核合格率与往年相比有了大幅度的提高,不少学生还主动提出新的解决问题思路与老师交流。由此可见,在高职C语言教材建设中不断地探索新思路、新方法,在理论适度、技术先进、方法科学、案例实用的前提下,尽可能按实际工作流程或任务驱动方式组织教学内容,对提高学生学习兴趣,培养学生的自主学习能力和创新能力发挥着关键性的作用。
[参考文献]
[1]王晓勇,肖四友,张文祥.基于能力培养的C语言项目化训练教学模式初探[J].计算机教育,2009(10).
[2]游小荣.浅谈高职计算机语言的项目式教学[J].电脑知识与技术,2008(18).
[3]周雅静.C语言程序设计实用教程[M].北京:清华大学出版社,2009.
[4]杨俊红C语言程序设计项目化教程[M].北京:中国水利水电出版社.2010.
[5]罗杰红,胡建荣.基于“四驱式”阶梯递进的《C语言程序设计》课程教学体系设计与实践[J].职业技术教育,2009(17).