李 凌
(淮北职业技术学院 计算机科学技术系,安徽 淮北 235000)
以学生为中心的高职C语言课程教学改革
李 凌
(淮北职业技术学院 计算机科学技术系,安徽 淮北 235000)
C语言是高职院校计算机专业一门重要的专业基础课,对后续职业技术和职业技能课程的学习有较大影响.C语言课程授课内容枯燥无趣、授课模式单一,高职C语言课程教学的改革,要依据高职学生的认知基础,科学取舍教学内容、采用多种教学方法构建以学生为中心的教学模式、改革考核方法等措施,提高学生的学习兴趣,激发学生的学习潜能,帮助学生建立自信.
授课模式;兴趣;任务驱动
C语言是高职计算机专业一门重要专业基础课程,也是学生最早接触的编程语言. 它在整个编程语言体系中的重要性,决定了它在教学中的重要地位.该课程旨在培养学生结构化的编程思想和技术,为以后学习其他计算机程序设计语言奠定基础. 由于近年来高职学生的整体基础知识薄弱,再加上程序设计的抽象性[1]152-153,以教师为主体、以知识为目标的学科体系的教学模式已经不能适应高职院校的生源现状以及人才培养目标的要求. 如何进行课程教学改革,提高学生的学习兴趣,激发学生的学习潜能,掌握C语言的必备知识和程序设计的基本技能,是高职C语言课程教学改革必须解决的问题.
1.1 授课内容
授课内容枯燥、无趣,大多数学校以语法知识为中心进行课程教学和实践教学,一般从基本语法开始,由浅及深讲授C语言的语法特性.教学内容的安排顺序大致如下:数据类型、表达式、基本的输入输出、分支结构、选择结构、函数、数组、指针、结构体、文件. C语言一般开设在第一学期,这样的教学内容安排,对于初次接触计算机语言,甚至没有一点计算机知识的高职学生而言,最直接的后果就是,大多数的学生对众多的标识符和繁杂概念是一头雾水,不知道这些符号学习了有何用,更谈不上思考如何用,从而对C语言的学习兴趣大大降低,甚至产生厌学和畏学情绪.
1.2 授课模式
在教学过程中,学生是学习的主体,应处于教学的主体地位,而教师应处于教学的主导地位.然而目前的教学过程中,普遍存在教师处于教学的主体地位,教师讲得多,学生练得少,语言知识讲解多,编程技能训练少,忽略了学生的教学中心地位,忽视了学生学习兴趣和学习方法的培养,而只是一味地关注如何把知识讲解的正确、流畅,实验演示的顺畅,把课堂教学过程变成简单的知识灌输,而教师变成了动态的语法说明书,且教学中采用的案例大多数是与数学有关的抽象案例,对于高职学生而言,这样的教学方法,教学效果可想而知,学生学习没有兴趣,学习效果不佳,学习了C语言课程,却不会编写程序解决实际问题,教师对于教学效果也是唠叨满腹.因此改变以教师为主体的教学方法,构建以学生为中心的教学模式势在必行.
2.1 激发学生学习的兴趣
兴趣是最好的老师,在C语言课程教学的初期如何激发学生的学习兴趣,并使学生在整个学习过程中保持浓厚的兴趣,是课程教学是否成功的关键. 在课程教学的第一课,应侧重告诉学生利用C语言能够做什么,并展示已经使用C语言开发成功的、与日常生活联系紧密的实用软件,如:速算器、计算器、打地鼠、音乐程序等;讲述目前使用C语言编程的工作岗位以及工作待遇等;使用事例演示C语言对后续专业知识学习的辅助作用,使学生认识到学习C语言有用、有意思,这样就可以激发学生的学习兴趣.
2.2 教会学生学习计算机语言的方法
计算机语言发展非常快,且种类繁多,并且不同的语言有不同的特色以及适用范围,而C语言仅仅是学生接触的计算机语言之一,在今后的工作以及学习中将会学习并使用其他语言,但是不同的语言的编程思想以及算法设计基本是一样的,所不同的仅仅是语法规则,而语法规则仅仅是功能实现的不同的表现形式.因此,在教学中应把重点放在如何使用计算机解决实际问题,即如何设计算法以及对算法分析、优化上,培养学生分析问题并利用程序解决问题的能力上,为后续的学习和工作奠定基础,不仅授之以鱼,更要授之以渔,不仅传授知识,还要提高素质,更要培养能力,这也正是C语言课程教学改革的终极目标.
2.3 培养良好的编程习惯
培养良好的编程习惯是学好C语言的重要因素. 良好的编程习惯包括清晰的编辑风格、恰当的注释、规范的命名规则、良好的可读性和可移植性,以及程序写到一定阶段进行必要的测试等,良好的编程测试可以减轻测试的工作量,提高调试效率,培养程序调试的能力. 在教学中,教师自己编写的程序应该规范、清晰、可移植性高、实用性强,要求学生做到的,老师一定要做到,而且要做得更好、更规范、更标准,这样对学生会起到潜移默化的熏陶作用. 代码写好、调试通过后,编程工作并没有结束,仍需要对程序进行检查,检查算法的可读性,以及算法是否存在BUG,并进行改进、优化.
3.1 科学取舍教学内容 激发学习兴趣
在实际的教学工作中,应该根据学生的实际,大胆对教材内容进行取舍,本着“深入浅出、突出实用”的原则,对教材内容进行梳理、归纳,分散难点,以达到循序渐进的目的,使学生在程序编写、程序调试的过程中有成就感,使学生相信自己可以学会、学好C语言,从而对C语言产生兴趣.教师不能为讲解知识点而选择、设计案例,而是依据解决问题需要选择、讲授语法知识点,对于涉及高等数学的典型案例,以及在实际编程中很少用到的语法知识,应少讲甚至不讲.另外应该通过实用有趣的项目案例讲解语法知识,并通过项目案例模仿、优化、完善巩固、强化常用的语法知识,避免了单纯的枯燥语法讲授、学习,同时选择、序化教学内容时应注重培养学生良好的算法思维能力,这样一方面可以减轻学生的学习压力,降低学习的难度,激发学生的学习兴趣;另一方面从学生易于接受的角度进行教学,调动学生的主观能动性,提高教学质量.
3.2 构建以学生为中心的教学模式 调动学习积极性
在教学中,学生是学习的主体,教是为学服务的,在教学中只有激发学生的学习潜能,培养学生的学习兴趣,才能实现预期的教学目标;在教学中应根据学生的认知特点,站在学生学的角度,采取有效措施,激发学生的学习热情,提高学生的持续学习能力.
3.2.1 课堂教学
课堂教学效果的优劣不仅仅与教师的学术水平有关,更重要的是教师的授课内容以及授课方法,能否吸引学生的注意力,使学生认为有意义、能学会,这样学生就会积极主动地复习、巩固所学知识. 在课堂教学中应以学生为中心,灵活采用多种有效方法,引导学生主动探索知识和发现知识的心理需求.
1)启发教学方法
高等学校从20世纪90年代起就开设了C语言程序设计这门课程,很多的教育工作者围绕着其语法以及应用设计了很多的例题以及习题,在授课过程中,教师应根据高职学生的认知基础归纳、整理典型的对数学知识要求低的、与实际生活联系密切的例题,在讲授时,不宜采用平铺直叙的方法,而应该采用提出问题,启发学生思考;分析问题,引导学生思考;与学生一起解决问题,吸引学生积极参与,激发学生自主学习;总结优化,分析现有方法的优缺点,进行改进,从而培养学生良好的编程习惯.
2)任务驱动教学方法
任务驱动教学方法是将传统的知识传授为主的教学模式转变为以分析问题、完成任务为主的多维互动式的教学模式[2]122-125,课程的教学内容以及教学目标通过系列任务的完成来实现. 任务驱动教学法不仅可以体现学生的教学主体地位,又可以发挥教师的教学主导作用,有利于培养学生的自主学习能力和创新能力.
传统教学方法一般是由“提出概念、解释概念、举例说明”[3]26-28三部曲组成,而任务驱动教学一般由“设计任务、分析任务、实现任务、评价任务、拓展任务”五重奏组成. 任务设计是实施任务驱动教学的关键环节,在设计任务时,要始终从学生的角度考虑,以激发起学习兴趣为出发点,关注学生的认知能力,注意任务设计的合理性、典型性、覆盖性、层次性和实用性,分散难点、突出重点.任务设计要贴近学生的现实生活,使不同层次的学生都有可以完成的任务,使每个同学都可以在任务的实现过程中找到自信、获得成就感.设计的任务应丰富多样并贯穿教学过程,既有随堂课时任务,又有阶段单元任务,也有学期任务,形成一个从单一到综合、从简单到复杂的任务体系,实现教与学、学与做的有机结合.
分析任务是实施任务驱动教学的重要环节,该环节重在引导学生正确理解任务需求、寻求完成任务的方法上,可通过启发式教学,引导学生利用所学知识寻找解决问题的方法,让学生在任务的引导下积极主动地学习,掌握用计算机解决问题的常用技术以及方法.
任务评价是实施任务驱动教学中不可缺少重要环节. 任务完成后教师要对学生任务完成的情况及时点评,对学生的学习情况进行反馈,要创设一个自主平等的氛围,尊重每一个学生的成果,采用激励的手段,让学生畅所欲言,帮助学生发现问题,使学生在交流和讨论中补差、补缺,学会思考,敢于创新.
3.2.2 实践教学
实践教学在人才培养工作中具有举足轻重的地位,对学生动手能力和创新能力的培养起着至关重要的作用. 计算机语言的学习一方面要理解和掌握基础语法知识,另一方面要通过实践提高程序编写、程序调试的能力.因此,在实践教学内容的设计上要突出学生能力的培养,把培养学生获取知识、解决问题的能力作为教学重点. 实践教学中不仅要设置验证性的内容,而且要增加设计性、综合性的内容,使实践教学与理论教学在时间和内容互上相一致,且实践教学是理论教学的有益补充,通过实践教学一些抽象的理论得到具体化、形象化验证,一些编程技巧和技能得到应用.
3.3 考核模式改革
考核是检查教学效果的重要环节,也是引导教学的一种行之有效的手段,以前采用的“平时出勤+作业+期末考试”的考核形式,已经无法满足实际需要,需要构建由学习过程评价(占30%)、基本知识与基本技能(占30%)以及基本应用能力(占40%)相结合的评价体系,将过程性评价与终结性相结合. 学习过程评价包括日常课堂讨论、日常作业、课程实验等的综合评价,基本知识与基本技能评价以程序阅读、程序改错以及程序完善等题型体现,基本能力评价以小组自主设计程序为主,题目可以在课程题库中选取或者自己拟定,要求具备3~4个功能模块,小组成员自行分工,这种形式可以引导学生将期末的考前突击的学习模式转变为注重平时的知识积累、逐步发展的学习模式,有效促进教学效果,同时使考核机制成为促进学习的有效手段.
针对目前高职学生的知识基础,高职C语言课程教学应从传统的“传授知识”的模式转变到“激发兴趣、培养自信、以学生为中心”的模式,面向每一个学生,大胆抛弃“教师讲、学生听”的传统教学模式,构建以“学生为主体、老师为主导”的课堂教学模式,创造一个良好的、轻松的教学情景,让学生轻轻松松地学习,从而实现学生喜欢学、学的好、用的活的教学目标,为专业素质的提高打下坚实的基础.
[1] 郭红艳,谷保平.“C++程序设计”课程教学现状与改革[J].教育与职业,2013(32).
[2] 吴丽娟,申 海,张浩华.C语言课程设计教学模式的探索与实践[J].沈阳师范大学学报,2012(1).
[3] 李美满,彭国星,陈 莉,等.浅析任务驱动教学法在《C语言程序设计》教学中的应用[J].现代计算机(专业版),2010(11).
[责任编辑 冰 竹]
2015-02-25
安徽省高等学校省级质量工程“卓越技能型网络工程师”(项目编号:2013zjjh049);安徽省高等学校省级质量工程“计算机应用技术专业综合改革试点”(项目编号:2013zy110);淮北职业技术学院质量工程 “软件技术教学团队” (项目编号:2014jxtd_02) 研究成果之一
李 凌(1971- ),女,安徽萧县人,淮北职业技术学院副教授,硕士,主要从事图像处理、信息处理、职业教育研究。
1671-8127(2015)02-0016-03
G712,TP312.1
A