张巍娜
摘要:针对应用型本科院校,校企合作专业特点,对C语言课程内容、特点、课程定位、作用进行分析,探讨课程主要内容和课程资源的特点,以该校学生为例对学情进行分析,分析学生学习基础、学习特点,以近三年采取的教学方法改革为例,对教学过程的探索实践进行分析总结,最后提出新的教学改革方案。
关键词:C语言;应用型本科院校;教学
中图分类号:G642 文献标识码:A 文章编号:1009-3044(2018)26-0090-02
1 背景
C语言程序设计作为一门重要的学科基础课,特别是新生进入大学校门的第一门程序设计类专业课程,在计算机专业教学体系中举足轻重。其重要性不但体现在与后续的课程联系非常紧密,而且编程能力的高低也是应用型人才培养成效的重要体现。因此,C语言是专业学习的一个起点,C语言课程教学不应局限于使学生掌握C语言的基本语法规范,而更应该激发学生的学习兴趣、学习热情,要致力于培养学生运用C语言解决实际问题的编程能力,要引导学生实现问题求解思维方式的转换——即培养学生的计算思维能力。
2 课程分析
2.1 课程内容
应用型本科院校的校企合作专业C语言课程的主要内容,与普通高等院校计算机相关专业的内容要求存在一定差异。校企合作相关专业的课程内容深度、广度偏小,注重实效、侧重应用需求,比如对指针、链表等内容不做硬性要求。以赤峰學院校企合作相关专业为例,C语言程序设计课程的主要内容有三种基本结构、数组、函数的使用,难点内容有循环嵌套、二维数组、字符数组、递归、函数的使用。但在教学过程中,考虑到与后续课程的衔接,也对原有的大纲做了一些调整,增加了递归、指针等内容。
2.2 课程实验
C语言是一门实践性非常强的课程,实验是本课程的重要组成部分。因此,在每一轮的教学过程中都需要对各个章节原有的实验练习进行不断的增加、和修订。目前该专业的C语言课程小型实验项目有70项左右,主要设计的是一些贴近生活的实验项目。比如,在学习到顺序结构部分,要设计实现一个存款、贷款利率计算器;在选择结构部分要设计实现一个身高预测小程序,根据父母身高,及是否锻炼身体,饮食习惯等进行身高测算;在循环结构部分,设计实现一个青年歌手大赛评分程序;在数组部分设计一个以柱状图为餐饮业打分的小程序;还有后期的综合应用项目中的ATM模拟系统等等。这些项目能够让学生体会到迎接挑战的乐趣和解决实际问题的成就感,成效良好。
总体来看,在学习过程中,比起枯燥的理论学生们还是比较喜欢实验操作的。经过不断的尝试,程序调试成功,运行出了结果,每个学生都喜欢这种成功的喜悦,而失败的实验也迫使学生会回头反思在知识点上的疏漏,好的实验设计是教学效果的有力保障。
2.3 课程资源
课程资源主要体现在教材、教参方面。该校的校企合作专业C语言教材选用的是十二五规划教材,北京航空航天大学出版社《C语言程序设计基础》及其配套实验指导。这套书的优点是比较简单明了,实验指导里还有配套的用来强化知识点的练习题目,难度层次适合该专业生源,但缺点除了有少量错误外,练习册上个别笔试题目意义不大。在教学过程中主要采用的参考资料为哈尔滨工业大学苏小红教授的《C语言程序设计》,哈工大的C语言课是国家级精品课,在精品课网站上有一套完整的免费的网络学习资源,同时这门课也在中国大学慕课网站上开设了慕课课程,可以手机下载app免费参加学习。在教学过程中,这些精品资源也都推荐给了学生,但这个资源对于该校校企合作相关专业学生来说存在的主要问题是,课程内容比该专业大纲更多、更深,有些内容部分学生不容易理解掌握,学习上的困难在一定程度上影响了部分学生的学习积极性。
3 学情分析
随着计算机在生活中的普遍应用,新生百分之百接触过计算机,但大多数学生在专业学习开始之前,对计算机的使用主要以娱乐,如游戏、通信、购物等为主,基本上没有接触过程序设计,当然这种情况在不久的将来可能会发生变化,南方已经有若干省市逐步要把信息技术相关内容纳入高考,还有很多面向中学生的编程竞赛等等,都在悄悄的改变着学生们的学习基础。
C语言课程作为新生的第一门专业课,担负着激发学生学习兴趣的重任,因此在C语言的第一次课上,本人一般都会讲一些关于C语言的有趣故事,比如C语言之父丹尼斯·里奇和肯·汤普森的故事。这些生动有趣的故事即能激发学生的好奇心,又传递给学生这些大家们的极富钻研精神,勇于挑战技术极限,又乐于分享的可贵精神!最主要的还是让学生对程序设计觉得很新鲜有兴趣。当然,不同的学生学习能力、基础有差异,教学中需要因材施教,对于厌学的学生最重要的是扎实其理论基础,提高解决问题的能力,对于乐于学习的,重要的则是知识转换和能力培养,切实提高应用能力、综合能力。大多数学生的根据现有知识,解决实际问题的能力相对较弱,而这种能力正是需要不断的学习、训练以待学生重点掌握的。
4 教学设计及教学方法
C语言在教学中特别要注重教学设计,同时根据教学设计采用合适的教学方法。通常,教学中主要采用多媒体教学结合现场编程演示的方法,在需要的时候也会结合板书,这种方式信息量大,直观,通过对程序的分析设计、编辑、链接、运行、调试整个过程的演示,增强学生的感性认识,避免纸上谈兵。同时还会根据内容需要采用任务驱动(提出明确的任务目标,引导学生实现任务,在实现任务的过程中学习知识点),案例驱动(通过具体案例来揭示知识点与实际问题之间的关系),分组协作(以小组为单位完成实验项目)等诸多方式方法。
以讲授循环嵌套的教学设计及教学方法为例,主体采用的是任务驱动法,提出输出一行9颗星号后换行的任务,这个要求学生们都能做到,当然会有学生不用循环而直接输出9颗星号,这时候就可以把任务变成在9后面添加两个0,即任务要求变为输出900个星号,学生将不得不选择用循环来实现了。接下来任务升级,要求把这行星号输出9次,或者说输出9行,这就引出了循环嵌套的概念,而后任务继续升级把星号替换为数字,进而再变换输出的数字形式,最后任务升级为输出九九乘法表。在执行任务的过程中配合分析讲解,有了99乘法表这个循环嵌套的案例,再以此案例为基础,提出下一个任务,模拟电子时钟。这样的教学设计前后任务环环相扣,使得随着任务的螺旋提升学生的认知在启发中不断被强化。
5 教学过程
5.1 五步学习法
在C语言教学过程中一般会遵循提出问题、分析问题、解决问题、问题扩展,再次解决,对解决方案进行师生评价,进一步对解决方案进行优化改进,这样一个不断向前推进的过程。在这个过程中,学生的学习热情、学习兴趣会得到调动,并且通过对问题的不断深入和扩展,开阔学生的思维,使得学生在课堂上真正地成为“主体”,教师扮演“主导”角色。并且,在此过程中去实现听、看、抄、改、写这样的一个由积累到质变的过程。这里的“听、看、抄、改、写”的五步学习法,一直是相关合作企业非常推荐的,也在实践中证明了行之有效的程序设计类课程学习方法。
5.2 理论实践相结合
在这里特别要强调的是,C语言的教学过程从来都是理论与实践不分家的。任何知识点的学习、问题的解决都是通过实际应用,在编程实践中来掌握的。这样的一个教学过程,也是一个对学生进行编程训练的过程,使学生明白程序设计的第一步是分析也就是需求分析,弄清楚要让计算机做什么。第二步是设计,搞明白计算机该怎么做这件事。这里就包括两个方面,一方面是用数学的方法对问题进行求解,也就是设计算法、数学建模,另一方面设计程序代码结构,使程序易于修正、扩充、维护。当然,不是所有的数学模型都能用程序高效的实现,而有些数学中难以处理的问题,却可以利用计算机的特点巧妙地解决,计算思维就体现在这个部分。第三步才是把设计的结果变成一行行的代码输入到编辑器里。第四步是调试程序把源代码变成可执行的程序,运行,看看是否满足第一步的要求,不满足就要查找问题,修改再编译运行。在教学中对学生会提出课后还会总结的要求,前面章节先一般是由老师进行总结,到后期,就会要求学生,自己来进行知识点的总结,一方面锻炼了学生的归纳总结能力,另一方面也是对知识体系的再次巩固。
5.3 考核评价
在教学评价方面,不是一张考卷定成绩,而是采用多样化的考核方式,过程化考核和结果考核相结合,理论考核和实践考核相结合的方式。同时在新学期,计划采用考试系统全面代替纸质试卷进行各阶段考核。
6 教学探索
鉴于学生普遍存在的解决实际问题能力弱,理论理解和实践动手不能很好的结合的些突出问题,如果能把课上的宝贵时间更多的利用在前面说的编程训练中而不是把大把的课堂时间放在知识点的传授上,合理利用碎片化的时间,来掌握一些易学易会的知识点,那么教学效果应该会有很大的提升。因此本人做了这样一些教学探索,把近些年比较热门的慕课教学应用到了C语言教学中。以本院15级对口班为例,参考的是中国大学慕课的“C语言程序设计精髓”哈尔滨工业大学的慕课课程。面对这样一套慕课精品,在应用中还是存在问题,主要是这套慕课深度、难度不适合我们的学生,基本没有学生能全面完成慕课任务。所以在本院16级普本班的教学中,改为采用合作企业青软码课学院的一套C语言实训的慕课内容。该项目为ATM模拟系统,教学具体实施方案为要求学生课下进行慕课课程碎片化学习,课上集中验证、解决疑难问题、调试程序。这个慕课和课堂相结合的效果还是不错的。使用之后也对学生做了问卷调查,对课堂教学结合慕课的教学形式,做了总结。
7 结束语
通过以上教学改革探索,进行教学反思,存在如下问题:首先目前的教学过程,实际上还是老师教得多,学生自主的少,在学生创新能力的培养上还不够。因此在一轮一轮的教学过程中,针对不同的教学内容,就要不断调整探索更好的教学设计,好的教学设计可以使学生真正的变成课堂上的主体,而教师成为主导,按照学生的学来设计组织教师的教,启发引导,精讲多练,理论与实践相结合。具体的启发引导的方式还要不断的探索更新。其次,要在现有课时、硬件设备条件的约束下继续探索课堂教学和慕课学习形式的更好的结合方式,以进一步提高教学效果。
参考文献:
[1] 蘇小红, 王宇颖, 孙志岗. C 语言程序设计[M].3版. 北京: 高等教育出版社, 2015: 1-273.
[2] 苟燕. 多平台融合有效实施 MPOC 教学[J]. 内蒙古师范大学学报: 教育科学版, 2017(30):145-147.
[3] 侯欣舒, 赵希武, 苟燕. 基于 MOOC的翻转课堂教学模式实践应用情况调查分析[J]. 内蒙古师范大学学报: 教育科学版, 2016(9):80-82.
[通联编辑:谢媛媛]