论文部分内容阅读
摘 要: 程序设计课程是理工科专业很重要的一门基础核心课程,通常也是学生接触计算机程序设计的第一门课程,教学效果往往影响到学生对后续相关课程的学习和计算机应用能力的提高。分析了程序设计课程当前教学中面临的问题,介绍了针对这些问题所做的改革探索、经验和实践结果。
关键词: 程序设计;C语言;教学改革
【中图分类号】 G424.1
【文献标识码】 B
【文章编号】 2236-1879(2017)11-0033-02
1 面临的问题与现象
《程序设计与问题求解》是我校计算机科学与技术、软件工程、网络工程、物联网工程等专业的基础必修课,同时也是我校其他理工科专业的基础必修课。由于该门课程是学生初次接触计算机或程序设计的入门课,因此,该课程的教学效果对学生计算机应用能力或工程素养的培养起到了至关重要的作用。
通过几年的程序设计课程教学实践,发现目前教学中存在一些问题和现象:
1.1 以程序设计思想方法为主线教学与以语言语法为主线教学的矛盾。
目前的程序设计教学主要有以程序设计思想方法为主线教学和以语言自身体系为主线教学两种方式。由于程序设计需借助程序设计语言通过上机实践的方式来学习,所以,程序设计通常都是与某种程序设计语言绑定在一起讲授。通过浏览大量程序设计方面的教材可以发现,这些教材大多数都是围绕程序设计语言自身的体系为脉络进行编排的,按照数据类型、运算符、变量操作等顺序来学习基本知识,按照顺序、分支、循环、数组、函数、结构体、指针等顺序来学习程序结构。教材中包含大量的语法规则,这些规则繁冗复杂,教师在教学中往往不小心就会陷入语法规则的泥潭中。这是以语言自身体系为主线教学存在的问题。另外一种教学是以程序设计思想为主线,教学内容按照程序设计思想方法或问题类型来展开。这种方式的特点是教会学生通过程序设计解决实际问题的思想、方法,淡化程序设计语言的语法规则。难点是如果内容组织不好很难成体系,内容显得凌乱,学生不便于记忆掌握。与此同时,如果语法讲得少,学生看不懂程序代码、不懂语法规则,所写出的程序代码无法上机运行,无法实现程序设计思想,也就根本谈不上解决实际问题。因此,两条教学主线均存在各自的不足,如何取两者的长处,将两者有机地融合在一起是一个值得探索的问题。
1.2 受时间空间限制,课内学时紧与教学要求高的矛盾更加突出。
随着计算机技术的迅猛发展和人才市场的激烈竞争,对教学和人才培养提出了更高要求。由于受到教学计划总学时和教室空间的限制,课内学时数不断减少,使得课内学时少与教学内容多、教学要求高的矛盾更加突出,也直接影响到教学效果。相对而言学生课外时间较多,对于学习主动性差的学生而言,更是不知如何支配时间,学习质量低。应付作業、应付实验、应付考试的现象严重。如何解决学时少与教学内容多的矛盾,真正调动学生学习的主动性,充分利用学生课外的学习时间,将学习效果贯穿于平时的教学过程中,夯实基础知识,切实改变通过考前突击复习获得学分的行为,真正达到提高教学质量的目的,一直是困扰教学多年的突出问题。
1.3 如何培养学生工程化思想和解决实际问题的能力。
工程型人才是工科专业培养的重要目标之一,也是市场对人才的重要需求。在工科专业人才培养的教学环节中,程序设计课程是一门实践性很强的课程,也是工程训练很重要的一个环节,在教学中如何体现工程化思想,将工程化思想渗透到学生的实践能力中,一直是教学中困扰的问题。大部分学生在学习课程之后,不知如何运用所学知识去解决实际问题,更不清楚工程项目、程序设计、语言语法知识三者之间的关系。随着社会经济的快速发展和人才竞争的日趋激烈,这个问题在理工科教学中显得更加突出。
针对以上问题和现象,在《程序设计》课程教学中进行了改革探索与实践。
2 教学改革探索与实践
2.1 探索教学方式新模式。
研究了以程序设计思想方法为主线最大化教学,以程序设计语言为主线最小化教学的双螺旋上升教学方式。形式上似乎以程序设计语言为主线,但内容上是以问题求解为驱动,以程序设计思想和方法带动程序设计语言的讲授,仅仅抓住程序设计这根主线。根据这一教学思想和方式,重新组织了教学内容,修订了教学大纲,编制了经典问题库和例题集等,教学中使学生更清楚地认识到程序设计思想方法是核心,程序设计语言是辅助工具,程序设计就是围绕核心使用辅助工具去解决实际问题。这一模式在2014年、2015年和2017年的教学中进行了实践,从实践效果来看,虽然教学内容较多,学时有限,但教师讲授还是比较从容,课堂上主要以程序设计思想为主,重点讲授问题分析与程序设计思路,关键的语法知识单独强调,大部分的语法知识都由学生在课外通过自学完成,实践显示,这种模式是行之有效的。
2.2 探索教学手段新模式。
课题组研究开发了课外学习资源,辅助学生课外自主学习,有效提高学生学习效率。课外学习资源主要包括微课、Web版课程教学网站和Android 版智能手机教学软件等。目前,几十集微课已上线,教学网站和智能手机教学软件已基本实现课外学习所需功能,内容包括教学信息展示、实践练习等,后续将会进一步完善和扩充功能,以强化学习效果,同时,将录制微课应用篇。
2.3 探索考核方式新模式。
为了加强对学生学习过程的督促和考核,摆脱以往学生在期末考试前突击复习,带来高分低能的假象,引导学生将学习重心转移到平时的学习过程中。课题组研究探索了将单一的期末考试“划整为零”,分散到平时的教学过程中,设计了期中考试、课堂小测、课堂练习等与期末上机考试相结合的综合考核评价新模式。特别是期末上机考试采取分档考试策略,学生可以根据自身情况选择A、B、C不同档次的考试难度,每个档次的考题是随机抽取的。在2014年、2015年和2017年的教学实践中这些模式陆续被应用,从学生试卷成绩和上机考试结果来看,相比未实施这些模式之前,学生对基础知识的掌握更扎实一些,编程能力、调试能力均有较明显的提升,上机考试分档受到学生的欢迎。
2.4 探索教学内容新模式,将工程化思想引入教学中。
为将工程化思想渗透到学生的实践能力中,探索在实验教学中融入工程化思想,研究了实验教学内容的改革,编写了新的实验指导书。在程序设计中,程序调试能力是一项很基本的能力,调试能力强可以很快地发现错误,调试能力差则浪费大量的时间。根据以往教学观察,学生普遍对程序调试不重视,程序调试能力很差。针对这种情况,课题组在实验教学内容中进行了改革,在每个专题实验项目中,都设计了调试题目、编程题目。通过专项系统训练,培养提高学生的编程能力和调试能力。此外,为了使学生及早熟悉工程化思想,在实验内容上,也设计增加了工程化综合项目。在设计上,先将一个大的综合性项目划分为许多小项目,分散安排在各个实验专题中,最后,再将各个小课题组装成一个大的综合项目。在教学中,也不断将界面友好、软件强壮性等理念通过程序设计传递给学生。
通过这样的训练,使学生明白实际工程项目的实现过程,熟悉工程化思想,清楚所学知识如何运用到实际项目中,做到理论联系实际。不过在2014年和2015年的教学实践中,此项改革并不是很成功,由于授课对象是大一新生,许多学生在进校之前从未接触过计算机,对计算机几乎没有认知,计算机操作也非常生疏,大部分学生对综合性实验感到比较吃力,所以,针对这种情况课题组建议学院在2016年的教学计划修订中将《程序设计与问题求解》这门课放在大一第二学期开设,目前该建议已被采纳并实施。同时,课题组亦对实验内容采取分档策略,适当降低必做题目难度,增加选做题目,以适应不同水平学生的需求,达到循序渐进提高实践能力的目标。
3 结束语
四年来,课题组对原来《程序设计与问题求解》教学中存在的问题与现象,在教学方式、教学内容、教学手段、考核方式、实践教学等方面做了大量研究与探索性工作,取得了不少成果并应用到了教学实践中,在教学实践中也积累了大量经验,有成功的也有不成功的,这些经验对于今后《程序设计与问题求解》课程教学和其他类似课程的教学都是非常有益并具有可借鉴意义的。
基金项目:广西高等教育本科教学改革工程項目基金(项目号:2015JGB211)
关键词: 程序设计;C语言;教学改革
【中图分类号】 G424.1
【文献标识码】 B
【文章编号】 2236-1879(2017)11-0033-02
1 面临的问题与现象
《程序设计与问题求解》是我校计算机科学与技术、软件工程、网络工程、物联网工程等专业的基础必修课,同时也是我校其他理工科专业的基础必修课。由于该门课程是学生初次接触计算机或程序设计的入门课,因此,该课程的教学效果对学生计算机应用能力或工程素养的培养起到了至关重要的作用。
通过几年的程序设计课程教学实践,发现目前教学中存在一些问题和现象:
1.1 以程序设计思想方法为主线教学与以语言语法为主线教学的矛盾。
目前的程序设计教学主要有以程序设计思想方法为主线教学和以语言自身体系为主线教学两种方式。由于程序设计需借助程序设计语言通过上机实践的方式来学习,所以,程序设计通常都是与某种程序设计语言绑定在一起讲授。通过浏览大量程序设计方面的教材可以发现,这些教材大多数都是围绕程序设计语言自身的体系为脉络进行编排的,按照数据类型、运算符、变量操作等顺序来学习基本知识,按照顺序、分支、循环、数组、函数、结构体、指针等顺序来学习程序结构。教材中包含大量的语法规则,这些规则繁冗复杂,教师在教学中往往不小心就会陷入语法规则的泥潭中。这是以语言自身体系为主线教学存在的问题。另外一种教学是以程序设计思想为主线,教学内容按照程序设计思想方法或问题类型来展开。这种方式的特点是教会学生通过程序设计解决实际问题的思想、方法,淡化程序设计语言的语法规则。难点是如果内容组织不好很难成体系,内容显得凌乱,学生不便于记忆掌握。与此同时,如果语法讲得少,学生看不懂程序代码、不懂语法规则,所写出的程序代码无法上机运行,无法实现程序设计思想,也就根本谈不上解决实际问题。因此,两条教学主线均存在各自的不足,如何取两者的长处,将两者有机地融合在一起是一个值得探索的问题。
1.2 受时间空间限制,课内学时紧与教学要求高的矛盾更加突出。
随着计算机技术的迅猛发展和人才市场的激烈竞争,对教学和人才培养提出了更高要求。由于受到教学计划总学时和教室空间的限制,课内学时数不断减少,使得课内学时少与教学内容多、教学要求高的矛盾更加突出,也直接影响到教学效果。相对而言学生课外时间较多,对于学习主动性差的学生而言,更是不知如何支配时间,学习质量低。应付作業、应付实验、应付考试的现象严重。如何解决学时少与教学内容多的矛盾,真正调动学生学习的主动性,充分利用学生课外的学习时间,将学习效果贯穿于平时的教学过程中,夯实基础知识,切实改变通过考前突击复习获得学分的行为,真正达到提高教学质量的目的,一直是困扰教学多年的突出问题。
1.3 如何培养学生工程化思想和解决实际问题的能力。
工程型人才是工科专业培养的重要目标之一,也是市场对人才的重要需求。在工科专业人才培养的教学环节中,程序设计课程是一门实践性很强的课程,也是工程训练很重要的一个环节,在教学中如何体现工程化思想,将工程化思想渗透到学生的实践能力中,一直是教学中困扰的问题。大部分学生在学习课程之后,不知如何运用所学知识去解决实际问题,更不清楚工程项目、程序设计、语言语法知识三者之间的关系。随着社会经济的快速发展和人才竞争的日趋激烈,这个问题在理工科教学中显得更加突出。
针对以上问题和现象,在《程序设计》课程教学中进行了改革探索与实践。
2 教学改革探索与实践
2.1 探索教学方式新模式。
研究了以程序设计思想方法为主线最大化教学,以程序设计语言为主线最小化教学的双螺旋上升教学方式。形式上似乎以程序设计语言为主线,但内容上是以问题求解为驱动,以程序设计思想和方法带动程序设计语言的讲授,仅仅抓住程序设计这根主线。根据这一教学思想和方式,重新组织了教学内容,修订了教学大纲,编制了经典问题库和例题集等,教学中使学生更清楚地认识到程序设计思想方法是核心,程序设计语言是辅助工具,程序设计就是围绕核心使用辅助工具去解决实际问题。这一模式在2014年、2015年和2017年的教学中进行了实践,从实践效果来看,虽然教学内容较多,学时有限,但教师讲授还是比较从容,课堂上主要以程序设计思想为主,重点讲授问题分析与程序设计思路,关键的语法知识单独强调,大部分的语法知识都由学生在课外通过自学完成,实践显示,这种模式是行之有效的。
2.2 探索教学手段新模式。
课题组研究开发了课外学习资源,辅助学生课外自主学习,有效提高学生学习效率。课外学习资源主要包括微课、Web版课程教学网站和Android 版智能手机教学软件等。目前,几十集微课已上线,教学网站和智能手机教学软件已基本实现课外学习所需功能,内容包括教学信息展示、实践练习等,后续将会进一步完善和扩充功能,以强化学习效果,同时,将录制微课应用篇。
2.3 探索考核方式新模式。
为了加强对学生学习过程的督促和考核,摆脱以往学生在期末考试前突击复习,带来高分低能的假象,引导学生将学习重心转移到平时的学习过程中。课题组研究探索了将单一的期末考试“划整为零”,分散到平时的教学过程中,设计了期中考试、课堂小测、课堂练习等与期末上机考试相结合的综合考核评价新模式。特别是期末上机考试采取分档考试策略,学生可以根据自身情况选择A、B、C不同档次的考试难度,每个档次的考题是随机抽取的。在2014年、2015年和2017年的教学实践中这些模式陆续被应用,从学生试卷成绩和上机考试结果来看,相比未实施这些模式之前,学生对基础知识的掌握更扎实一些,编程能力、调试能力均有较明显的提升,上机考试分档受到学生的欢迎。
2.4 探索教学内容新模式,将工程化思想引入教学中。
为将工程化思想渗透到学生的实践能力中,探索在实验教学中融入工程化思想,研究了实验教学内容的改革,编写了新的实验指导书。在程序设计中,程序调试能力是一项很基本的能力,调试能力强可以很快地发现错误,调试能力差则浪费大量的时间。根据以往教学观察,学生普遍对程序调试不重视,程序调试能力很差。针对这种情况,课题组在实验教学内容中进行了改革,在每个专题实验项目中,都设计了调试题目、编程题目。通过专项系统训练,培养提高学生的编程能力和调试能力。此外,为了使学生及早熟悉工程化思想,在实验内容上,也设计增加了工程化综合项目。在设计上,先将一个大的综合性项目划分为许多小项目,分散安排在各个实验专题中,最后,再将各个小课题组装成一个大的综合项目。在教学中,也不断将界面友好、软件强壮性等理念通过程序设计传递给学生。
通过这样的训练,使学生明白实际工程项目的实现过程,熟悉工程化思想,清楚所学知识如何运用到实际项目中,做到理论联系实际。不过在2014年和2015年的教学实践中,此项改革并不是很成功,由于授课对象是大一新生,许多学生在进校之前从未接触过计算机,对计算机几乎没有认知,计算机操作也非常生疏,大部分学生对综合性实验感到比较吃力,所以,针对这种情况课题组建议学院在2016年的教学计划修订中将《程序设计与问题求解》这门课放在大一第二学期开设,目前该建议已被采纳并实施。同时,课题组亦对实验内容采取分档策略,适当降低必做题目难度,增加选做题目,以适应不同水平学生的需求,达到循序渐进提高实践能力的目标。
3 结束语
四年来,课题组对原来《程序设计与问题求解》教学中存在的问题与现象,在教学方式、教学内容、教学手段、考核方式、实践教学等方面做了大量研究与探索性工作,取得了不少成果并应用到了教学实践中,在教学实践中也积累了大量经验,有成功的也有不成功的,这些经验对于今后《程序设计与问题求解》课程教学和其他类似课程的教学都是非常有益并具有可借鉴意义的。
基金项目:广西高等教育本科教学改革工程項目基金(项目号:2015JGB211)