李 涛
哈尔滨远东理工学院,黑龙江 哈尔滨 150016
2006 年3 月,美国卡内基·梅隆大学计算机系的主任周以真正式提出计算思维概念。思维的本质就是人们使用经由一系列相关知识所构成的体系来解决问题的一种方式[1]。计算思维和实证思维以及逻辑思维共同组成了人类的思维方式体系,并且更加倾向于使用计算机方面的基础概念去解决遇到的任何问题,同时也会设计出一些与计算机运算相符合的算法以及思考一些和计算机科学相关的具备深度和广度的问题。其本质就是抽象以及自动化,以计算性思考为主。
在当前高等教育的计算机基础教育环节中,计算机程序设计作为其中重要组成部分,却面临着诸如教学学时不长,并且被进一步压缩、教学资源配置不全面、学生频繁逃课等诸多问题。同时有部分教师认为,在中学阶段已经开展了相应的计算机基础教育,因此在大学阶段中的计算机基础教育的学时可以被压缩[2]。最能淋漓尽致体现这种理念的论点就是狭义工具论。狭义工具论认为在计算机的基础教育中只需要传授一些软件使用和简单的程序设计工具使用方式即可。在这种理论的深刻影响之下,部分院校将计算程序设计课程的教学学时予以压缩。
从这种教学的发展现状入手,从2010 年开始教育部下属的高等学校计算机课程教学指导委员会就已经明确提出了需要以计算思维作为导向并进一步推动计算机基础教育课程的改革工作。同时,教育部高教司经过广泛调查研究之后,于2012 年印发实施《关于公布大学计算机课程改革项目名单的通知》,并同时确认了22 个研究项目。这也正是我国以计算思维培养为切入点的大学计算机课程改革正式进入到一个全新的推动阶段,但其中依然存在一些问题急需解决。
目前,虽然我国十分重视计算思维培养下的计算机基础教育课程改革,但是其中依然有两个方面的问题需要解决:第一,计算思维的培养方式匮乏。当前教育领域中十分重视学生计算思维的培养,同时国家教育部门以及其他组织也十分重视计算思维的培养,并逐步将之纳入到相应的课程考核体系之中[3]。但是,当前针对计算思维的培养仍处于一个探索阶段,其培养方式依旧没有形成一套完整的体系。当前教师在培养学生自身计算思维的过程只是一种不自觉的、规模化程度不高的、探索性的教育,缺乏相应的方式体系作为指导。这就导致以计算思维为基础的计算机程序设计课程教学优化始终无法取得相应的成效。第二,计算思维的进一步创新。对于社会、国家还是个人的发展而言,创新才是其源动力,创新中的技术和知识创新也是完全依赖于人类的精神创新、意识和能力创新。并且在国际和国内市场竞争越发激烈的影响下,高校必须注重学生自身创新能力的挖掘和培养。计算思维本身就具备着强大的创新,并且计算思维培养的最终目标就是创新[4]。但是在当前的计算机程序设计课程教育中缺少对应使用计算思维进行创新的方式,导致这方面的工作依旧无法得到合理有效的开展。
计算思维在计算机程序设计这项课程中主要是被应用在思维模式、计算机算法、代码编程、软件开发以及项目设计五个层面上。在计算机程序设计课程教育中需要做到计算思维和实践教学环节的融合,在指导学生进行程序设计的实践活动过程中需要在教学设计环节中将计算思维予以融入,并且强调在计算机程序设计中计算思维应用的重要性,在实践中逐步提升学生在程序设计环节中学习培养计算思维的能力,从而帮助学生学习到真正的计算思维。
例如,在C 语言的教学过程中,需要在前期的理论传授环节将计算思维的内容予以进行重点化的介绍,并且借助合作探究等形式来大幅度强化学生的思维训练,可以借助计算思维体系中的树形分析方式组织学生进行算法的多样化解析。在这个环节中需要注意如下的几点:第一,通过在教学过程中激发学生的学习兴趣,逐步引导学生在强化其计算思维的计算机程序设计环节中,借助课件演示和实际案例教学尽量减少枯燥的理论讲解环节来提升其计算能力[5]。第二,在深入研究学生在接受计算思维培养的过程中出现的各种问题的基础上,探讨并制定出相应的解决方法。第三,在除计算机程序设计之外的课程中尝试引入相应的计算思维。
如今,高速发展的网络技术同样也为计算机程序设计课程中计算思维的引入和培养提供了全新的技术方向,那就是网络课程的设计和应用。就如今的计算机程序设计课程发展现状看来,网络课程的教学内容可以分为以下的模块:第一,教材的网络化。就是将课本中的理论知识以文本、视频、动画等形式予以呈现,便于课前的预习。第二,教学内容的讲授。就是教师自行录制的教学视频,主要是负责基本理论知识的讲解,便于学生的课后复习。第三,教学课件。教师制作的电子版教学课件,学生可以进行下载以便进行课后的复习。第四,上机的实践环节。从“模仿—改进—实践”的教学方式出发,在不同阶段设置对应难度的问题,并且学生在完成之后需要将实验报告和实验结果予以上交。并且将之作为平常考核的内容之一。第五,编程的实践训练。主要分为入门级练习、基础性练习、算法的练习以及算法提升四大模块,并且从做题和解题两个方面提供对应的思路,这一环节主要是为了提升学生的思维及代码编写能力。第六,综合应用。为学生布置一些来源于生活且具备综合性和一定难度的开发项目,并且学生分为多个开发小组,让其以小组形式进行项目开发工作。这个环节主要是为了提升学生综合应用计算思维以及程序设计理论知识的能力。
想要在计算思维的培养中实现计算机程序设计教学的优化,其教材大纲和实验实训内容就需要进行重新编制。在这个过程中,就需要针对现有的教学内容进行相应的提炼,并以此为基础编制出完全符合教学内容的教学大纲,同时需要做好相应的教材编写准备工作和实验内容设定的工作。教材内容中需要将算法内容的比例予以提升,强调通过计算思维方式在全面理解程序设计问题的基础上将问题予以解决。同时程序算法的比例也需要实现进一步的提升,在教材的习题设置中需要做到题型的多样化发展来做到计算思维的训练。除此之外,计算思维相关的实验实训教学内容比例需要进行一定程度的提升,在涉及全新教学内容的时候需要从简单案例入手进行讲解,做到难度的循序渐进,并且因为算法难度呈现出一种梯级式的分布,教师需要通过实例演示以及编程实践来帮助学生深化对于基本理论知识的理解程度。在实际的编程教育中,教师需要做到直观化的向学生们展示编辑过程以及最终的运行结果,并在教学中通过其中关键代码的改写为学生展示出完全不同的运行结果,让学生以一种更为直观的方式对正在学习的全新知识形成一个全面的理解,并从最后的演示结果存在的差异入手将其中涉及的知识点和理论予以提炼。
目前,我国十分注重在计算机教育中融入计算思维,虽然我国的教育部门先后出台了相关规定,对将计算思维融入计算机程序设计课程中做出了更进一步的推动,但是,依然需要面对计算思维的培养方式缺失以及计算思维进一步创新不足的问题。只有通过计算思维和实践教学改革的融合、网络课程资源平台的建设以及教材大纲和实验实训内容的编制才可以更好的做到在计算机程序设计中融入计算思维,并不断提升学生的计算思维。