融入计算思维的高职院校C语言程序设计课程改革
2018-01-04纪绪
纪绪
摘要:该文针对目前高职院校“C语言程序设计”课程教学中存在的问题,对在课程设计理念、教学内容与教学方法,考核方式等几个方面融入计算思维能力的培养进行研究,从而提高教学质量。
关键词:计算思维;C语言程序设计;教学改革
中图分类号:G64 文献标识码:A 文章编号:1009-3044(2018)29-0177-02
1 什么是计算思维
2006年3月,美国卡内基梅隆大学计算机科学系主任周以真教授在在美国计算机权威期刊《Communications of the ACM》杂志上提出了计算思维的概念,引起了计算机界与计算机教育界的广泛关注,近年来计算思维在国内外的研究热度也随之逐年增加。
周以真教授对计算思维进行如下定义:计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学领域的一系列思维活动。即指通过化简、嵌入、转化和仿真等方法,把一个困难的问题阐释成如何求解它的思维方法。总的来说,周教授认为计算机科学不仅仅是进行编程,一个优秀的计算机人才除了具备编程能力之外,还要具备抽象的逻辑思维能力。计算思维强调的并不是简单的机械重复能力,而是人的思维能力的体现。
在此之前,很多人将计算机科学等同于计算机编程,认为主修计算机专业的学生面临的是一个很狭窄的就业范围。而实际上,计算思维应当是每个人的基本技能,而不仅仅属于计算机科学家。我们应当使每个学生在培养解析能力时不仅掌握阅读、写作和算术(Reading, wRiting, and aRithmetic——3R),还要学会计算思维。这就对国内计算机教育界提出了新的要求,在高校中如何推进计算思维能力的培养成为计算机教育界的热点话题。
2 高职院校C语言程序设计教学中存在的问题
C语言程序设计是计算机专业一门重要的专业基础课,作为一门长盛不衰的程序设计语言,C语言简洁紧凑,灵活方便,运算符和数据类型丰富,表达方式灵活实用,程序执行效率高,可移植性好,既可以用来开发系统软件,又可以用来编写应用软件,而且比较易于理解,因此成为很多高校计算机及相关专业首选的程序设计语言。目前,各高校中c语言程序设计的教学普遍采用按教材顺序依次讲解c语言中的主要知识点,之后布置学生做练习来巩固所学内容的传统教学方式。然而,这种教学方式往往会使得学生过于关注语法规则的细枝末节而忽略了编程的本质,不利于学生计算思维能力的培养。特别是对高职院校的学生来说,在传统C语言教学中所采用的纯数学的抽象案例,如求最大值、求和、对数值排序等等,会感觉抽象、枯燥,难以理解和接受,进而影响到学生的学习积极性,不能达到预期的教学效果。具体来看问题主要体现在以下几个方面:
(1)学生学习积极性不高
传统教学模式虽然可以让学生对所学知识点具有比较全面的理解,但是这种教学方式没有体现出程序设计的思想,没有体现出任务的分解与模块化,没有体现出团队的协作,也不利于学生计算思维能力的培养和独立自主思考问题的习惯养成。久而久之容易使得学生只关注c语言的语法细节,而忽视了程序设计的本质,不能充分调动学生的学习积极性,就会导致学生听课没有兴趣,缺乏主动性,教学效果不理想。
(2)理论与实践脱节
在传统的C语言教学中采用的主要是一些数学的抽象案例。比如求最大值,求平均值,排序,求累加和,斐波那契数列等。这些案例对于高职学生缺乏吸引力,与实际应用的需求往往并不一致。随着课程的深入,学习难度也在不断增加。此时在教学内容设置上缺乏实用性与趣味性的问题就会很突出,影响教学实际效果。
(3)考核模式单一
目前,很多高职院校在考核方式上与一般的本科院校相同。主要通过试卷考核学生对知识点的掌握情况。而这些知识点的考核很大程度上是对语法规则进行考核,这种考核方法无法体现出学生的思考问题与解决问题的能力,也容易误导学生对编程本质的理解。
綜上所述,在高职院校中进行c语言程序设计教学不能照搬传统的本科教学方式,在教学中强调计算思维能力的培养、引导学生在各个层面进行计算思维的习惯、培养学生分析问题与解决问题的能力是非常重要的。
3 将计算思维能力的培养融入到c语言程序设计教学中
针对以上存在的问题,本人对C语言教学改革有以下几点认识:
(1)在课程设计理念中融入计算思维能力的培养
打破以知识传授为主要特征的传统课程教学模式,转变为基于工作过程的项目课程开发与设计,以工作任务为中心、项目课程为主体,让学生在完成具体项目的过程中来构建相关理论知识,并发展职业能力。
① 以能力为基础教育、工学交替、工学结合为模式:着重培养学生能力;工作任务与学习任务交替进行,学生在工作中学习理论知识,在学习中完成工作任务,体现“教、学、做”一体化。
② 以岗位需求为依据:依据程序设计员国家职业标准、工矿企业和软件行业对计算机信息管理应用软件开发人员的实践能力要求,设置课程内容,实现课程内容和职业岗位需求紧密结合。
③ 以工作过程为基础:学习以工作过程性知识为主、陈述性知识为辅;按照工作过程中活动与知识的关系来设计课程,突出工作过程在课程框架中的主线地位,按照工作过程的需要来选择知识,以工作任务为中心整合理论与实践,培养学生关注工作任务完成,而不是关注知识记忆的习惯,并为学生提供体验完整工作过程的学习机会。
④ 以工作结构为框架:不仅要给学生具体知识,更要给学生知识结构。结构是影响职业能力形成的重要变量,只有当学生的知识结构与工作中的知识结构相吻合时,才能最大限度地培养学生的职业能力。
⑤ 以职业能力为主线:真正以“能力”为主线来设计课程。要按照工作的相关性,而不是知识的相关性来确定课程设置。同时要避免把“职业能力”简单地理解为重复的、刚性的操作技能,注重职业情境中实践智慧的培养,开发学生在复杂的工作关系中做出判断并采取行动的能力。
⑥ 以工作情境为支撑:在真实的工作环境中,结合企业的真实项目,学生分别担任不同的职业角色,在工作情境中学习知识、培养能力、锻炼素质。
(2)在教学内容与教学方法中融入计算思维能力的培养
在教学内容的组织上需要强化学生的自主学习能力和协助学习能力,在选择项目时考虑到实用性与趣味性。因此,教学过程中应采用多个与真实生活场景密切相关的项目,如猜数游戏、成绩管理系统、投票系统等多个项目,帮助学生理解问题的思维过程,并用学到的编程技能解决问题。而整个课程又以学生成绩管理系统的设计为主线,通过从项目需求分析到代码的编写与调试,到文档的编写,在完成项目的整个过程中构建学生的理论知识体系。
在教学方法上,注重引导学生主动思考解决问题,在完成任务的过程中培养学生的计算思维能力。比如在“循环程序设计”学习情境中,要求某个学生找出坐在第一排的所有同学中最高的一位同学。通过完成这样一个任务,学生会更有兴趣进行思考,对循环程序的理解也会更加深刻了。再比如讲解“数组”学习情境时,可以以实现一个投票系统为任务要求学生对几位候选人进行投票。通过完成这样的任务过程,有利于学生理解数组所处理的是连续型数据,而不是离散型数据,对数组会有更深刻的理解。总之,在教学方法上以任务驱动法为主线,针对不同的学习情境,结合案例教学法,分组教学法,演示法等多种教学方法,培养学生的计算思维能力,提升教学效果。
(3)考核方式上强调计算思维能力的考核
教学评价是教学过程中非常重要的一个方面,学生可以通过教学评价对自己的学习情况有清楚的认知并在今后的学习中改进提高;教师则可以全面了解学生的学习效果。因此在课程考核方式上采用过程考核与结果考核并重的方式。同时更加注重实训与项目完成情况,强调学生在分析问题与解决问题中思维能力的考核,避免了传统教学中单一的考核评价方式。学生在整个课程过程中都要有积极主动的态度才能获得好成績,真正实现从被动学习到主动学习的质变。
4 结束语
计算思维能力的培养是计算机教育界面临的新课题,在高职院校的程序设计类课程教学中不能再照搬传统的教学方式。融入计算思维能力的培养可以达到更好的教学效果,培养出更加优秀的计算机程序设计人才。
参考文献:
[1] 周以真.计算思维[J].中国计算机学会通讯,2007,3(11).
[2] 康苇苇.基于计算思维的C语言教学模式分析与案例设计[D].重庆师范大学 2015.
[3] 徐新海,林宇斐.注重计算思维的启发式C语言语法教学[J].计算机教育,2014.
[4] 陈国良,董荣胜.计算思维与大学计算机基础教育[J].中国大学教学,2011.
[5] 张敏.以计算思维为导向的C语言程序设计课程案例教学法研究[J].微型电脑应用,2015.
【通联编辑:王力】