基于计算思维的程序设计类课程的教学研究

2015-09-10 07:22王霞陈艳艳
考试周刊 2015年25期
关键词:计算思维程序设计教学改革

王霞 陈艳艳

摘 要: 计算思维培养是高校计算机基础教学的核心任务。为了增强基于计算思维的程序设计类课程的教学效果,作者首先分析了计算思维在计算机基础教学及程序设计类教学中的重要性,进而分析了当前社会及高校教学中存在的制约大学生计算思维培养的问题,最后探讨了在课堂教学和实践教学方面培养计算思维的可行方法,并给出了具体的示例。

关键词: 计算思维 程序设计 教学改革

目前,计算思维是国际计算机界广为关注的一个概念,也是计算机教育需要重点研究的课题[1]。我国2010年发表了《九校联盟(C9)计算机基础教学发展战略联合声明》,声明的核心要点是:必须正确认识大学计算机基础教学的重要地位,需要把培养学生的“计算思维”能力作为计算机基础教学的核心任务,并由此建设更加完备的计算机基础课程体系和教学内容,进而为全国高校的计算机基础教学改革树立标杆[2]。2011年6月的“以计算思维为导向的计算机基础课程建设”研讨会中,中国科技大学陈国良院士作了题为《计算思维与计算机基础教育》的报告,指出了计算机基础课程作为与数学、英语同等地位的大学基础课程,是培养计算思维能力最好的课程载体[3]。由此可见,基于计算思维的计算机基础教学的重要性,而“程序设计”类课程的一个重要研究内容是以系统化、逻辑化的计算思维方式思考问题和解决问题,着重培养学生的计算思维能力,强化学生工程化、系统化程序设计的观念和能力[4]。因此,基于计算思维的程序设计类课程的教学研究具有极其重要的意义。

1.教学现状

1.1社会对程序设计类课程的重视程度不够

长期以来,计算机科学与技术这门学科被认为是辅助人们工作的,人们普遍认为这是一门专业性很强的“工具”学科。一些高校存在认识上的错误,认为非计算机专业的计算机课程的目的是教授学生怎样使用计算机。程序设计类课程则仅仅作为一门课程,学生得到学分即可。然而,程序设计类课程的目标是使学生掌握基本的程序设计的知识、方法和算法,并培养学生具备利用计算机解决问题的意识、方法和能力[5]。上述目标中培养能力是重点,一些院校没有强调该课程对培养能力及思维方法的重要性。对于高校学生而言程序设计不仅仅是一门课程,更是学习和建立计算思维最有效的渠道。

1.2学生主观认识不准确

学生普遍对程序设计类课程的认识不准确,导致学生学习的兴趣不浓厚,学习意识不强烈。多数计算机专业学生认为毕业后从事编程的机会很少,从而对代码算法等缺少兴趣;而非专业学生一部分认为工作以后几乎不会和程序打交道,对大量的程序代码提不起兴趣,另一部分则只是为了获取计算机等级考试证书而学习程序设计,因此学习过程中只是知其然而不知其所以然。事实上,很少有学生真正意识到程序设计类课程的重要性在于思维方法和解决问题的能力的培养,而这种思维方式及解决问题的能力,无论在任何行业、任何领域都是不可或缺的。

1.3教师教学现状不佳

程序设计课程的目标中培养能力是重点。然而,目前高校程序设计课程的教学中普遍存在以下问题:教师在讲解程序设计课程时只讲解课程本身,不注重计算思维的引入,使学生的学习停留在编程语言的语法、结构等表层知识上而缺乏对于程序设计思想的认识;在程序的讲解过程中大多停留在只讲解某个程序本身,忽略对该程序设计方法的引导;在实践教学过程中出现“重结果、轻过程”的现象,只注重程序运行的结果,忽略问题求解过程的分析,从而忽略思维方式的锻炼。

实际上计算思维即是程序设计的核心思想,是计算机类课程的普遍内涵,从各种教学现状看,基于计算思维的程序设计类课程的教学没有引起足够的重视,需要进行必要的改革。

2.课堂教学研究

基于计算思维的程序设计课程的教学主要着重点在于“方法”随着“思维”的讲解而展开,“思维”随着方法的“贯穿”而形成,“能力”随着“思维”的理解和训练而提高[6]。按照这种思路,可以采取以下方式开展教学。

2.1探究式教学

基于探究式教学的基本环节是:提出问题、分析问题、解决问题、得出结果并总结。在教学过程中采取小组合作交流,能极大地提高学习者快速发现和解决问题的能力。

例如,讲解信息处理的思维过程可以按照如图1所示的方式设计,具体包括以下步骤:

提出问题:利用计算机是为了处理各种信息,如各种信息在计算机中如何存储、处理?

分析问题:信息处理的对象一般包括文字、数值、图像等信息,这些都需要转换成计算机可以识别的信息才可以进行相应的处理,如何转换?转换成何种形式?转换后如何处理?

解决问题:现实信息要根据信息类型表示成不同的类型的数据以变量或者常量的方式存储在计算机中,然后再使用各种控制结构的程序进行相应的处理。

得出结果并总结:当求解一个问题时,首先要问解决这个问题可以用什么方法?怎样才是最佳的解决方法?有时还需要将问题分解为若干小问题来解决。在解决每个问题的过程中达到训练计算思维的目的。

2.2任务驱动式教学

传统教学中,教学者只对学习者完成的任务作评价,对完成任务的过程中采用的方法基本不作要求。而任务驱动教学则需要学习者在完成任务的过程中实施科学思维的方法解决问题。

例如,对于程序设计中常见的排序问题,其任务驱动式教学设计如图2所示。教学中教师可以首先提出具体任务,例如对学生按学号升序排序;接着引导学生提出不同的解决方案,然后教师带领学生对不同的方案进行分析,帮助学生了解方法的思路、执行的效率等,并选择一种方法讲解编程实现的方法,同时要求学生对其他方法进行拓展实现,最后共同进行总结和评价。总结部分主要是总结算法的选择,对数据量较小的情形主要考虑编程工作量,对数据量大的情况首先考虑程序的执行时间;评价部分重点在于评价任务的完成情况,不能只看结果,要注重任务的分析思路,以及任務的合作情况等。

2.3网络自主学习

网络自主学习主要是将教学者的教学指导行为和学习者的自主学习行为结合起来,达到合理利用网络资源,学会自我思维,自我获取有效信息,掌握解决问题的思维方式的目的。教师可以将教学资源发布在网上,供学生课后巩固知识。同时教师也可以为学生布置学习任务,要求学生分组查阅资料,对知识体系进行整理,再选出代表讲解完成任务的思路,最后由教师总结。

3.实践教学研究

3.1上機实验环节

在程序设计教学实践过程中,必须使学生理解计算机解题的工作实质,逐渐培养其具有符合计算机工作的思维模式,以提高其解决问题的能力[7]。目前程序设计实验教学中,从网站下载程序等照搬成果应付上机的情况普遍存在。所以上机实验应要求写出解决问题的思路、步骤等,大力提倡一题多解,特别是实验前,要求学生先写解决问题的步骤、流程图等。在评价实验结果时,应根据实验前的准备工作和完成的程度给予客观评价,对准备工作充分、方法独到、一题多解的进行鼓励。

3.2综合设计环节

程序设计课程每次课的实验都是针对一类知识点的巩固,学生对所学的知识没有一个整体的理解。通过合理设计的综合实验或综合设计将所学的知识贯穿起来,任务的选择要有实际性、趣味性,然后让学生分组讨论完成,一方面可以让他们理解所学知识的作用,另一方面可以提高学习兴趣和团队合作能力。

4.结语

本文根据目前程序设计类课程的教学现状,对基于计算思维的程序设计类课程教学进行初步研究,分别针对课堂教学和实践教学提出可借鉴的教学方法。这些方法在一定程度上可以提高学生的学习兴趣,锻炼学生的计算思维,改变教学现状。然而,虽然目前国内外很重视计算思维在教学方面的研究,但由于研究时间较短,加上计算思维本身的抽象性,研究进展不是很快。因此,计算思维的培养方法论和创新方法论等还需要做更准确的研究,教学改革、教学模式的形成也还需要一个较长的时间进行实践检验。

参考文献:

[1]王荣良.计算思维:一种新的学科思维方式[J].中国信息技术教育,2012(06).

[2]何钦铭,陆汉权,冯博琴.计算机基础教学的核心任务是计算思维能力的培养——《九校联盟(C9)计算机基础教学发展战略联合声明》解读[J].中国大学教学,2010(09).

[3]牟琴.基于计算思维的计算机基础课程教学与学习的模式研究与实践[D].四川师范大学,2012.

[4]陈国良,董荣胜.计算思维与大学计算机基础教育[J].中国大学教学,2011(01).

[5]黄静,高延英,杨宇姝.基于计算思维的程序设计课程教学模式研究[J].计算机教育,2013(05).

[6]董荣胜,古天龙.计算思维与计算机方法论[J].计算机科学,2009,1,VOL36(1).

[7]朱凌云,卢玲,刘恒洋,黄贤英.以“计算思维”驱动的《程序设计基础》实践教学模式研究[J].科技创新导报,2012.26.

猜你喜欢
计算思维程序设计教学改革
基于Visual Studio Code的C语言程序设计实践教学探索
从细节入手,谈PLC程序设计技巧
高职高专院校C语言程序设计教学改革探索
程序设计课程中计算思维和应用能力培养问题研究
民族高校C语言程序设计课程教学改革的研究
算法的案例教学探析
浅谈艺术专业学生计算思维能力的培养
基于人才培养的技工学校德育实效性研究
现代信息技术在高职数学教学改革中的应用研究
以职业技能竞赛为导向的高职单片机实践教学改革研究