螺旋模式下非计算机专业程序设计课程中计算思维的培养

2018-01-04 11:35卢文伟夏其表
计算机时代 2018年11期
关键词:非计算机专业项目设计螺旋式

卢文伟 夏其表

摘 要: 程序设计是大学非计算机专业重要的计算机类课程,其中计算思维的培养是非计算机专业程序设计课程的主要目的。文章针对非计算机专业学生在学习程序设计课程中存在的问题,提出了基于螺旋式的教学模式下,以阶段性项目设计为主体的程序设计课程中计算思维的培养方案。该研究通过对各阶段课堂的合理安排与优化,让学生在掌握编程技能的同时能更好地理解计算思维。

关键词: 程序设计; 计算思维; 非计算机专业; 螺旋式; 项目设计

中图分类号:G642 文献标志码:A 文章编号:1006-8228(2018)11-79-02

Abstract: Program design is an important computer course for non-computer specialty in colleges, and the training of computational thinking is the main purpose of programming courses to non-computer majored student. With the analysis of the problems in learning programming, in this paper, the spiral-model based teaching method is proposed which trains the computational thinking to non-computer majored student by designing projects phase by phase in programming courses. The students can master the programming skill, and meanwhile, understand computational thinking by the reasonable arrangement in each stage of the course.

Key words: program design; computational thinking; non-computer specialty; spiral model; project design

0 引言

计算机程序设计作为大学通识教育的重要课程,其主要目的不仅仅是使得大學生能够掌握计算机的基本知识,熟悉编程技能,更重要的是培养大学生具备计算的思维方式[1]。不同于传统基于逻辑的理论思维和基于实证的实验思维,计算思维以从抽象到设计、从构造到编程实现的计算方式对问题进行基于构造思维的研究[2]。随着计算机科学与技术的不断发展,人们对自然现象与规律的研究越来越依赖于相应的计算模式[3],如:计算物理、计算仿真等等。然而,常规的计算机程序课堂往往只注重于对学生编程技能的培养,特别是在针对非计算机专业的程序设计通识课程中,由于课时紧张,基础相对薄弱,要培养学生的计算思维方式就显得任重道远。

螺旋模式的教学是将整个课程合理地设置为若干个阶段,以特定的学习目标为契机,将每一阶段学习内容与目标建立在另一个阶段的分析与整合之上,从整化零,又由零归整。在简单的学习与复杂的整合间反复进行,前一阶段是后一阶段的基础,后一阶段是前一阶段的发展,螺旋向上,逐步达到既定目标[4]。计算思维的培养无法一蹴而就,也无法通过简单的程序设计案例的教学与实践达到目标,其需要通过对能体现计算思维的问题或项目进行不断分析、整合,在反复向上的学习过程中激发学生兴趣,理解计算思维的含义。在综合分析学生学情与课程现状的基础上,研究在面向非计算机专业的程序设计课程(以c语言为例)中,以项目化、模块化为向导,利用螺旋模式的课程发展方式,层层引导,最终实现对学生计算思维的培养。

1 螺旋模式下的计算思维培养

由于非计算机专业的学生面临所在的专业课程多,程序设计学习时间紧,且学习时间呈现碎片化等问题。在以项目化、模块化为向导,进行螺旋式教学时,项目的设计需要符合学生学习所处阶段的难度,并且模块量不宜太大,以能在3到5次课完成为宜。以下,以程序流程控制的教学阶段为学习目标,设计相关项目及功能模块,对螺旋模式下的计算思维培养课堂方式进行阐述与分析。

1.1 结合计算思维的项目设计与模块分解

在结合计算思维的教学过程中,为充分发挥螺旋式的课程体系与方式,当课程处于程序流程控制的教学阶段时,设计如图1所示项目进行教学与实践。这是一个简单的“猜数字”与“猜大小”的游戏项目,该项目既符合螺旋式的教学方法,也有助于在设计过程中逐步理解计算思维,同时,该项目具备一定的娱乐性和实用性,有助于激发学生的学习兴趣。

在如图1的项目中,为更好实现螺旋式教学,首先,对项目进行功能模块的分解与说明,主要包括如下模块。

⑴ 登录模块:用于用户登录,只有登录成功才能进入功能界面,有3次密码输入机会,如果3次密码输入错误,结束程序。

⑵ 选择模块:给出3个选项,选“1”进入“猜数字”模块,选“2”进入“猜大小”模块,选“3”则“退出程序”,选择其他数字提示“输入错误”并重新输入。

⑶ 猜数字模块:这是一个简单的猜数字游戏,随机产生一个[10,99]之间的整数,用户猜测该数字,共5次机会,每次的猜测会提示“太大”、“太小”或“猜对了”。

⑷ 猜大小模块:随机产生一个[1,6]之间整数,1~3表示“小”,4~6代表“大”,用户猜测随机产生的数为“大”或“小”,并显示结果。

1.2 螺旋式课堂设计与阶段分解

在体现计算思维的螺旋式教学过程中,核心是如何进行课堂的计算思维化设计以及各阶段间的螺旋式关联。针对上述设计的项目及模块,本节进行相关的课堂设计与分析。

如表1所示,该项目的设计是基于流程控制的教学阶段,对于该项目,将其分解为三个课堂子阶段,分别为项目架构及解析、模块分解与实现、项目整合及总结,各子阶段间互为基础与提升,体现螺旋式的课堂方式。

在进行课堂设计时,采用理论与实践的交叉模式,便于学生掌握编程技能的同时,积极探索,主动思考,理解计算思维。在第1个子阶段中,首先对问题进行抽象化,以计算思维方式对项目整体框架和流程进行系统的分析。具体的流程分析如图2所示,将问题进行抽象化处理,并且在功能模块选择中引入if或switch选择语句。该阶段主要以理论分析为主,适当结合实践操作。在第2个子阶段中,将各功能模块单独提取并实现。在各功能模块的实现中会使用选择及循环结构,该阶段以实践为主,其中适当讲解语法。在最后一个子阶段中,结合第1、2个子阶段内容,将已实现的功能模块进行整合,该部分要以实践操作为主;此外,对项目进行总结,主要要求体现计算思维相关内容,该部分以理论为主。

2 总结

在计算机科学与技术全方位普及的时代,计算思维的培养是面向非计算机专业程序设计课堂的主要目标,但是传统的小案例或大项目的教学方式并不能很好的实现计算思维的培养方向。本文的研究中,探索在课程的设计与实施过程中,以螺旋式的教学方法为基础,对各学习阶段的设计,要设计出能较好体现计算思维的项目,并合理设计课堂,优化教学方案。通过对课堂与阶段项目的合理安排,使学生在掌握编程技能的同时理解计算思维。

参考文献(References):

[1] 郑红波,郑浩,秦绪佳.非计算机专业程序设计类课程之计算思维培养[J].中国信息技术教育,2017.8:89-92

[2] Wing JM.Computational Thinking [J].Communications of the ACM,2006.49(3):33-35

[3] 陈杰华.程序设计课程中强化计算思维训练的实践探索[J].计算机教育,2009.20:84-85

[4] 郭艳燕,周世平,贺利坚等.信息化平台下的程序设计课程混合式教学[J].计算机教育,2017.6:74-78

猜你喜欢
非计算机专业项目设计螺旋式
非计算机专业计算机基础教学的总结与思考
高校非计算机专业计算机网络基础教学改革探究
温泉旅游服务区项目规划设计
程序设计课程中计算思维和应用能力培养问题研究
一秒变酷炫!德国摄影师将螺旋式楼梯拍成“盗梦空间”
螺旋式推进
中英语篇结构对比分析
校企协同的材控专业项目设计与实践课程建设与实践
项目驱动式教学法在“网页设计与制作”中的研究与应用
非计算机专业VF课程教学内容与方法探究