李瑞芳 王莉利 刘金月 王跃萍 时贵英
摘 要 在对计算思维、非计算机专业学生的学习特点以及程序设计课程教学特点研究的基础上,提出了“三位一体两重点”的程序设计课程教学模式,旨在帮助学生建立计算机问题求解意识、提高综合应用能力,培养学生的计算思维。
关键词 计算思维 程序设计 计算机基础教育
中图分类号:G424 文献标识码:A DOI:10.16400/j.cnki.kjdkz.2015.06.050
Teaching Mode of Computer Programming Course Based on
Ability Training of Computational Thinking
LI Ruifang, WANG Lili, LIU Jinyue, WANG Yueping, SHI Guiying
(School of Computer & Information Technology, Northeast Petroleum University, Daqing, Heilongjiang 163318)
Abstract Based on the research of computational thinking, learning characteristics of non-computer professional students, and teaching characteristics of computer programing course, the teaching mode of "three aspects-one center-two key" is put forward, which aims to help students to establish the sense of solving problem by computer, improve the comprehensive application ability, and cultivating computational thinking of students.
Key words computational thinking; programming; computer basic education
自2006年3月,卡内基·梅隆大学的周以真教授系统地阐述了计算思维的概念;2010年7月“九校联盟(C9)计算机基础课程研讨会”发表联合声明把“计算思维能力的培养”作为计算机基础教学的核心任务以后,计算思维得到了国内计算机基础教育界的广泛重视。①程序设计课程是我校非计算机专业学生普遍开设的一门必修课和基础课,蒋宗礼教授、龚沛曾教授、何钦铭教授和冯博琴教授一致认为程序设计课程是计算思维能力培养的重要内容,对计算思维能力的培养具有重要作用,是典型的计算思维课程。②③④⑤因此,如何在程序设计课程中培养学生的计算思维能力,帮助学生建立计算机问题求解意识,使程序设计课成为名副其实的传授基本知识、提高应用能力、培养计算思维的大学通识教育课程成为新形势下亟需解决的问题。因此,笔者在对计算思维、非计算机专业学生的学习特点以及程序设计课程教学特点研究的基础上,提出了“三位一体两重点”的程序设计课程教学模式,全面培养学生的计算思维能力。
1 计算思维
计算思维最早是由麻省理工学院的Seymour Papert教授于1996年提出的,而把它提到前台,引起人们广泛关注的是美国卡内基·梅隆大学的周以真教授。⑥2006年3月,周以真教授在ACM会刊《Communications of the ACM》上提出了计算思维的概念。周教授认为,计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。⑦计算思维能力是指人们运用计算思维方法进行思考的能力,通常是通过引导人们学习、掌握这种思维方法,有效地将其用于问题的求解,以达到培养他们的计算思维能力的目的。⑧
2 “三位一体两重点”的教学模式
在对非计算机专业学生的学习特点和需求特点、程序设计课程的教学特点研究的基础上,笔者提出“三位一体两重点”的计算思维能力培养模式,即以学生为主体,着眼于算法思维和系统思维两个重点,从“理论—实践—考核”三个方面,选择正确的教学内容,运用恰当的教学模式与考核方法,将理论与实践紧密结合培养非计算机专业学生的计算思维能力。
2.1 改进课堂教学,推进计算思维能力的培养
针对以往程序设计课程中重语法、轻算法;重基础、轻应用;重统一要求,轻个性发展;学生机械模仿、独立思考和灵活应用能力差等问题,在教学过程中以计算思维中的算法思维和系统思维的培养为契机,对现有教学目标和教学内容进行了重新组织和梳理。算法思维和系统思维是两种重要的计算思维,是利用计算求解具体问题的两大关键点。算法思维的教学重点是设计算法,设计可实现的算法,设计可在有限时间与空间内执行的算法,设计尽可能快速的算法;系统思维的教学重点是设计和实现系统,即系统的构造。⑨在程序设计课堂教学中,强化这两种计算思维,主要包括:
(1)在大一上学期开设的大学计算机基础课程中,对算法的基本概念以及经典的算法策略、算法的评价与分析进行简单讲解,为程序设计课程中讲算法奠定一定的基础。
(2)在程序设计课程的初级阶段,讲课的重点放在分析问题和对问题进行抽象方面。选择一些趣味性强的贴近实际的案例,引导学生体会利用计算机解决问题的思路和方法,着眼于算法,采用案例法、探究法等多种授课模式,培养学生的计算思维和编程兴趣。endprint
(3)在程序设计课程的后期,讲解一些综合性的应用程序。经过前期的学习,学生已经学到了一些零散的基础知识,但对于程序缺乏综合性的感受,“只见树木,不见森林”,因此,课堂上会讲解一些综合性的程序,例如VB程序设计课程可以讲解记事本程序,将菜单、状态栏、通用对话框、文件的读写等知识融合到一体,编写成为一个实用的小程序;同时还可以编写一个画图程序,将图片框、Toolbar、ImageList、画图方法、命令按钮、菜单等融为一体,实现直线、曲线、圆、矩形的动态绘制。逐步培养学生编写综合性应用程序的能力,提高学生的系统思维能力。
2.2 加强实践环节,强化计算思维能力的培养
充分考虑非计算机专业学生的认知能力和习惯,规划上机实践环节的实验流程、实验形式和实验内容。题目先易后难,教师课堂导学和学生自主探索相结合;注重基础同时培养兴趣,必做和选做相结合,使学生通过科学的上机实践环节,体会和理解计算机求解问题的方法和思维模式。
(1)加强学生对上机实验重要性的认识。程序设计课程是一门理论与实践并重,既注重基础知识又需要反复实践的课程。在第一节理论课上,就要和学生讲清楚,程序设计不是听会的,也不是看会的,而是练会的,从而使他们认识到上机实践的重要性,在实践的同时,提高学生发现问题、解决问题的计算思维能力。
(2)精心组织实验内容,强化计算思维。实验内容不仅仅是理论课堂所授知识的简单复习,还要给学生留出创新的空间。所以每节实验课安排7道实验题目,前4道为基础知识,是每个学生必须掌握的内容,旨在使学生通过实验,加强对课堂讲授内容的巩固与理解;后3道为具有一定难度和综合性的题目,旨在让基础较好、能力较强的学生在掌握基础知识的基础上,学会自己分析问题,能灵活地利用所学知识解决相关问题。而且所有的题目都安排了相应的思考题,使学生在解决既有问题的情况下,能举一反三,解决类似的问题,达到知识的活学活用。同时,鼓励学生探索用多种方法解决实验题目,比较优劣,激发学生大胆创新,变被动接受为主动学习,培养学生的计算思维能力。为了提高学生的学习兴趣,还增加了一些学生感兴趣的实际问题,比如在分支程序结构中,安排电话费用计算问题;在循环部分,安排了信息加密、解密的实验内容等。
2.3 完善考核制度,促进计算思维能力的培养
学习考核是检查和评价学生学习效果的重要手段,考核的方式在很大程度上决定了学生的学习态度和学习方法。为了培养学生的计算思维能力的培养,采取了以下措施:
(1)在期末的无纸化考试中,尽量减少对基本概念、语法细节的考核,增加对使用计算机求解问题的思维模式与方法的考核。
(2)增加对学生学习过程中的考核,例如增加现场编程求解问题、课堂问答等考核方式,在潜移默化中培养和提高学生的计算思维能力。
(3)增加小组作业,学生自愿分组、自主选题完成综合性的程序。充分调动学生的主体能动性,培养学生的团队合作能力和综合应用能力。
3 结语
“三位一体两重点”的教学模式,依托学生这一主体,着眼于算法思维和系统思维能力的培养,从“理论—实践—考核”三个方面进行改革,有利于挖掘学生学习的主体能动性,提高学生的学习兴趣,有助于学生体会、理解和领悟计算机求解问题的方法和思维模式,培养学生的计算思维能力。当然,学生计算思维能力的培养不是一门课就能彻底解决的问题,因此,要不断地总结经验,将有效的方法推广到其他的计算机基础课程中,真正地全面提高学生的计算思维能力。
基金项目:黑龙江省高等教育学会“十二五”高等教育科研课题(14Q066)
注释
①②龚沛曾,杨志强.大学计算机基础教学中的计算思维培养[J].中国大学教学,2012(5):51-54.
③⑧蒋宗礼.计算思维之我见[J].中国大学教学,2013(9):5-10.
④ 何钦铭,陆汉权,冯博琴.计算机基础教学的核心任务是计算思维能力的培养——《九校联盟(C9)计算机基础教学发展战略联合声明》解读[J].中国大学教学,2010(9):5-9.
⑤ 冯博琴.对于计算思维能力培养“落地”问题的探讨[J].中国大学教学,2012(9):6-9.
⑥ 李廉.计算思维——概念与挑战[J].中国大学教学,2012(1):7-12.
⑦ 陈玥.基于计算思维的中学信息技术教育的研究[D].扬州大学,2012.
⑨ 聂兰顺,战德臣,宋巧红.计算思维的教学内容与方法研究——以“算法”和“系统”两种问题求解的计算思维为例[J].工业和信息化教育,2013(6):21-27.endprint