首页 > 范文大全 > 正文

以培养计算思维为核心的C程序设计探讨

开篇:润墨网以专业的文秘视角,为您筛选了一篇以培养计算思维为核心的C程序设计探讨范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:如何培养学生计算思维能力是近年来计算机教育提出的一个重要问题。针对当前c程序设计课程教学中存在的主要问题,分析产生这些问题的主要原因,提出以培养学生计算思维为核心的c程序设计课程的可行方案。

关键词:计算思维;c程序设计;创新能力

0 引言

c语言具有许多优点,如语言简洁紧凑、使用方便灵活、数据结构类型丰富、可移植性强、生成代码质量高等,是当今最为流行的程序设计语言之一。因此c语言程序设计不但成为计算机专业的必修课程,也越来越多地成为了非计算机专业的必修课程。例如,阜阳师范学院的信息与计算科学专业、数学与应用数学专业以及统计学专业,都将该课程作为必修专业基础课开设。通过该课程的学习,学生能够掌握软件开发的基本技能和程序设计方法,培养和提高其分析和解决实际问题的能力,以应对不同的开发环境,并且在遇到新的程序设计语言时能够触类旁通,快速上手,为相关的后继课程如数学实验、数值分析、数据结构等打下基础。该课程作为许多不同专业大学生的首门程序设计课,对后继课程的学习将产生深远影响。近年来,阜阳师范学院各专业学生基本上都很怕学习c程序设计,且不愿意学,缺乏实际程序设计能力,只有少数学生敢报考c语言国家二级考试,其根本原因在于缺乏计算思维。笔者就如何培养和提高学生学习c程序设计的兴趣来培养和提高学生计算思维能力进行初步探讨

1 计算思维

计算思维是由美国卡内基·梅隆大学计算机系主任周以真教授于2006年3月在计算机权威杂志Communications of the ACM上提出。她认为计算思维不仅属于计算机科学家,而且是每个人的基本技能。正如印刷出版促进了阅读、写作和算术的普及,计算和计算机也正反馈地促进计算思维的传播。周教授认为,计算思维是运用计算机科学的基础概念进行问题求解、系统设计,以及人类行为理解,是涵盖计算机科学之广度的一系列思维活动。中国科学院院士、中国科学技术大学陈国良教授认为,计算思维是振兴大学计算机教育的有效途径,能够促使科学与工程领域产生革命性的创新成果;计算思维是每个人为了在现代社会中发挥职能所必须掌握的一种根本技能。目前,许多高校已把计算思维融入到计算机基础教育的课程之中。

因此,作为高等教育的大学教育,必须在计算机类的相关基础课,尤其是程序设计课程中培养和提高学生的计算思维能力。笔者将以c程序设计课程为例来探讨如何培养学生的计算思维能力和创新能力。

2 当前c程序设计课程存在的问题

近年来,人们在不断地改进程序设计类课程,特别是c程序设计课程的教学,这使得学生的实践能力得到了很大提高,但仍存在诸多不足之处。

1)程序设计基础参差不齐,传统教学法难以培养学生的计算思维。

有的学生来自城镇中学,因高考几乎不考程序设计内容,他们几乎不曾接受过计算机基础方面的教育,更不用说程序设计内容了。而城市中学基本都向学生讲授程序设计的基础内容,有些中学还组织学生进行程序设计比赛培训课程。这样就造成学生的程序设计基础参差不齐,传统的教学方法难有作为,导致很多学生缺乏学习程序设计的兴趣,学习的主动性和自觉性下降。同时,当今科技产品尤其是各种智能手机盛行,缺乏学习兴趣后,学生尽管深知下课时手机的电量就是其最终成绩,但在课堂上仍肆无忌惮地用手机聊天、打游戏等。教师需要花很大力气来维持课堂纪律,严重影响了教学效果和质量,更不用说计算思维培养了。

2)“注入式”教学法严重束缚学生计算思维。

目前大部分高校教师对c语言程序设计采用的教学方法多是单一的传统讲授法,再通过上机实践进一步巩固课堂上讲授的内容。这种方法墨守成规,没有创新,偏重于知识的灌输,导致在整个教学过程中学生几乎没有思考的时间和空间,是一种注入式教学方法。如此培养的学生缺乏主动学习精神,实践能力不足,综合分析和解决问题的能力以及创新能力都有所欠缺,严重束缚了学生的计算思维。

3)“重理论,轻实践”教学模式禁锢学生的计算思维。

c程序设计不像其他传统的基础课程那样,早就有个概念在学生的脑海中,教师只需要深度和广度上对其进行扩展。c程序设计对大多数学生来说是从无到有的一个全新概念。目前大多数高校c程序设计课程的整个教学过程都偏重于理论教学,往往都是在课堂上把相关理论部分讲解得一清二楚,演示代码编写,再让学生上机验证,锻炼其动手实践能力。如此一来,该课程的实践教学部分就被学生误解为理论教学后的例题验证和理论教学加深的过程。显然,该教学模式的直接后果是学生的学习兴趣不浓、学习效率不高、实际动手能力不强,而且在很大程度上禁锢了学生的计算思维。

4)以验证为主的实验教学不能培养学生的计算思维。

当代大学生大多缺乏吃苦精神,自我约束能力差,遇困难易退缩,并不同程度地产生畏难心理。c程序设计的实验教学虽然在一定程度上能锻炼和提高学生的动手实践能力,培养学生的计算思维,但该课程的实验教学大都以例题验证为主,学生只需要对照课本或实验指导书将程序敲进电脑,而后编译、调试、执行即可。在实验过程中,即使遇到不懂的问题,查查书本或请教教师,基本都能解决。这样培养出的学生缺乏计算思维、创新意识、创新思维和创新能力。

3 具体教改实践

3.1 以建构主义教学理论为指导培养学生的计算思维

如前所述,传统的c程序设计教学使学生被动地接受知识,难以培养学生的计算思维、创新意识和创新能力。以培养学生计算思维为核心的c程序设计教学,首先需要一种先进的教学理论为指导,把教学目标和培养学生的实践能力及创新能力真正结合起来。

目前,常用的先进教学理论主要有认知教学理论和建构主义教学理论等。而建构主义教学理论源自认知教学理论,又被广泛应用在信息技术和计算机相关专业的教育教学中。自20世纪80年代后期,建构主义兴起并风靡全球。现在该理论以惊人的速度波及各个学科领域,对当代大学生知识体系构建具有深远影响。该理论要求教师在教学过程中充分发挥学生的主动性,充分体现学生的首创精神,使学生能主动在不同的情境下应用所学知识,实现自我反馈。因此,建构主义教学理论要求教师提供多维的教学方法,意在强调当今教学方法的多元性,改变传统单一的教学方法,为学生知识体系的构建提供发展的空间和适宜的环境,将学生传统的被动学习改为建构主义的主动学习,增强学生学习的兴趣和积极性,通过学生自我建构知识来实现教学目标。这种鼓励学生自己思考、动手和创新的教学理念,对于培养和提高学生计算思维、创新精神和创新能力具有强大的推动作用。因此,在c程序设计教学中我们以建构主义教学理论为指导,培养学生的计算思维和创新能力。

3.2 计算思维的培养策略

1)培养兴趣,做好c程序设计的入门教育。

爱因斯坦曾说“兴趣是最好的老师”。为了培养学生的计算思维,在c程序设计的第一堂课,首先向学生展示一些用c语言编写的经典小游戏,如坦克大战、俄罗斯方块等,向学生展示以往学生开发的作品,如勤工助学排班系统等。同时,告诉学生如果c语言学得好,可以参加每年一度的全国信息技术大赛和ACM程序设计大赛等。这些在很大程度上激发了学生学习c程序设计的兴趣。

2)让计算具有思维的品质。

阜阳师范学院各专业都开设数学分析、高等代数、空间解析几何等基础课,这些课程都具有很强的数学功底和计算能力,所欠缺的就是计算思维能力。学生在学习程序设计的过程中,不能将实际问题的求解转化成算法,并通过计算机来求解。因此,对于数学类学生的计算思维能力培养,我们的教改思路是:以c程序设计为载体,重点通过培养学生的5种能力:将实际问题抽象为数学模型的能力,构造算法的能力,编写源代码的能力,调试程序的能力,运行和分析程序结果的能力,从而培养和提高学生的计算思维能力。这样通过算法设计让学生体验问题求解的计算思维过程,训练他们如何将生活算法、数学算法用精确的计算机算法来描述和实现。

3)综合运用多种教学方法,培养学生的计算思维品质。

c程序设计作为大学中的首门程序设计入门课,是一门既有理论又有实践且应用性很强的课程。在建构主义教学理论的指导下,我们灵活运用多种教学方法和手段,调动学生学习该课程的自觉性和主动性,并提高他们的学习兴趣,从而培养学生的计算思维。采用的教学方法有启发式教学、分组讨论、课堂提问、学生试讲等多种授课手段相结合。即便在理论课上也并非只是单纯地讲授理论知识,而是根据课程实际需要,通过PPT经常向学生演示经典算法,用vc++编写、编译、调试以及运行程序的全过程,对运行结果进行详细分析,并在课堂上让学生亲自动手实践,尤其是向学生展示调试中遇到的各种问题,消除学生认为c程序设计难以掌握的心理,树立能够学好c语言程序设计的信心。同样,实验课上,也并非只是让学生把书本上的程序敲进计算机、编译、运行一下,而是让学生带着问题去思考、独立分析实验结果,给学生留出创新思维的空间,强调对实际问题的抽象、建模、算法设计和形式化描述等。因此,多种教学方法的综合运用不但培养了学生的实践能力和创新能力,而且培养和提高了计算思维品质。

3.3 以程序设计竞赛为实践平台,提高计算思维能力

目前,大学生急功近利的思想特别严重,无论哪门课都要知道学了到底有何作用,对将来就业有啥好处,更不用提c程序设计课程了。同时,由于课内的实践教学活动存在着时间不足等种种问题,因此我们在实际教学过程中鼓励学生积极参与不同难度层次的各类程序设计竞赛,以任务驱动方式引导学生掌握分析和解决实际问题的方法。譬如,ACM程序设计竞赛中的竞赛题目一般都融入计算机、逻辑学、数学、物理学等多个相关学科的知识,且都具有一定的实际背景。训练过程中,积极引导学生定期交流、总结、归纳,将相关联的知识汇总升华进一步抽象到规律化、理论化的水平,得出更一般、更普遍的规律。同时,在给予方向性指导的前提下,引导他们进行自主学习,并要求学生定期用PPT汇报所学知识。通过一段时间的训练,学生可以通过对试题背景的理解来判断其归属于哪种类型问题,以及该问题可以使用哪些方法解决,并能够快速选择最适合求解该问题的解决方案。这样每个学生都能够在一定程度上将计算思维很好地运用于c程序设计中。在程序设计竞赛的训练过程中,学生学会了分析问题、寻找途径解决问题直至最终解决问题。这种训练不但可以培养学生的协作能力和领导能力、良好的心理素质和科研能力、就业能力,而且能够使其潜意识地关注计算机相关资讯和技术动态等,激发其对新知识和新技术的求知欲。最重要的是能够培养和提高影响学生一生的计算思维能力。

4 结语

以培养计算思维为核心的c程序设计教改实践,不但能够使学生积极参与到教学过程中,充分调动学生自主学习的积极性,令其体验学习过程中的知识自我构建,并发挥创新精神,而且符合2012年教育部颁发的《全面提高高等教育质量的若干意见》(高教三十条)中提出的坚持内涵式发展和创新人才培养模式。同时,该教学实践也从思维方法的高度提升了学生利用计算思维解决实际问题和创新知识的能力,使其养成良好的自主学习习惯。