91学术服务平台

您好,欢迎来到91学术官网!业务合作:91xueshu@sina.com,站长邮箱:91xszz@sina.com

发布论文

论文咨询

论述学生计算思维能力培养模式的应用优势

  2021-05-15    111  上传者:管理员

摘要:计算思维是运用计算机科学的基础概念进行问题求解、系统设计及人类行为理解等一系列的思维活动。计算思维在高中信息技术学科核心素养中处于重要的地位,其相关评价能在一定程度上体现学生的信息技术能力水平。为了培养学生的计算思维能力,本文提出高中生课外研究小组开展计算机学科课题的教学模式。新模式的教学实践表明,学生分析问题、抽象建模和实现编程的能力显著提高,学生在课堂上的思维更加活跃。这说明教师指导学生做课题研究是培养学生计算思维能力的有效途径,是一线学科教学的有益补充。

  • 关键词:
  • C++
  • python
  • 信息技术
  • 程序设计
  • 计算思维
  • 计算机科学
  • 加入收藏

1、引言


计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动[1]。具备计算思维的人,在信息活动中,能通过采用计算机处理的方式来界定问题、抽象特征、建立结构模型和合理组织数据,通过判断、分析与综合各种信息资源,运用合理的算法形成解决问题的方案[2]。计算机程序设计语言是是计算思维的载体。计算思维是模型加算法,在程序设计语言中,把解决的问题抽象成与其相应的模型,然后确定算法,最后编写程序求解问题。

《普通高中信息技术课程标准》(2017年版)中提到的信息意识、计算思维、数字化学习与创新、信息社会责任是高中信息技术学科的四大核心素养。计算思维作为核心素养的关键要素,影响其他三个核心素养发展的质量,在一定程度上决定学科核心素养的优劣。因此,计算思维在信息技术学科核心素养中处于重要的地位,其相关评价能在一定程度上体现学生的信息技术能力水平。

目前国内计算思维的主要研究对象为高校学生[3,4,5],关于中学生的计算思维培养的研究不多[6,7,8]。究其原因在于:在中学阶段,计算机科学教育被简单看成是学会电脑工具的使用,课时经常被别的升学考试科目挤占,因此中学生计算思维的培养遇到很大的现实阻碍。计算机不仅是人类运行应用软件的工具,更蕴含着一种科学的方法论。因此,对于学生计算思维的培养需要上升到和数学、物理、化学、生物等课程同等重要的地位。让青少年从小树立起正确的信息意识、具备良好的计算思维能力,对于学生的培养具有重要的实际意义。


2、以课题研究培养计算思维能力


学生计算思维能力的培养途径有很多种。从学校层面来看,必修课程、校本课程及课外研究小组都可作为培养途径。学校的计算机学科研究小组是高二学生根据学科兴趣自发组成的团体,指导教师为信息技术学科教师,学习宗旨是进行计算机学科的课题研究。这些学生有的同时具备Python和C++语言的基础,有的只有Python语言的基础。他们曾经学习过算法和程序设计语言的基础知识,对算法流程图和程序设计的三种基本结构顺序、选择和循环有所了解,

但分析问题、设计算法和实现编程的能力较弱,缺乏独立解决问题的能力。在了解学情的基础上,教师对研究小组的学期任务进行规划:根据校历时间安排,课题研究时间一共4个月(第5个月复习准备期末考试,故不安排课题研究),每个月完成1个小课题,每个小课题是学生感兴趣或期望解决的学科问题,周一到周五午休时间开放计算机教室供研究小组使用。研究小组分成若干个小组,每组4-5人,实行组长负责制,组长负责小组成员分工协作、进度安排和考勤。指导教师负责指导和答疑,课题结题时要求学生展示本小组课题研究的主要内容、实施过程、收获与反思,各小组之间可以相互研讨交流,最后提交研究报告文档。

现以课题“编程实现将十进制正整数转化成二/八/十六进制数”为例介绍课题研究的实施过程。该课题旨在巩固学生的算法和程序设计知识,通过该课题使学生能够掌握算法流程图的描述方法、程序设计的三种基本结构以及应用程序设计语言实施算法的步骤。具体介绍如下。

教师提出以下5个问题:

问题1:计算机为什么用二进制进行数据的存储和运算?

问题2:八进制和十六进制在计算机系统中有什么应用?

问题3:十进制数转化成二/八/十六进制数的数学原理是什么?

问题4:如何应用算法流程图描述上述转换过程?

问题5:如何采用Python或C++语言编程实现算法?

在课题研究过程中,学生的疑难问题集中在问题3-问题5。教师随机抽取每组的1位学生上台讲解十进制数转化成二/八/十六进制数的数学计算过程,即“除k取余法”的原理。如果学生能清楚讲解,表明他/她已经弄明白该问题。对于问题4,教师要求每个学生用Word或Visio软件画出算法流程图,学生掌握描述流程图的标准符号及使用循环结构表示“除k取余法”的原理。每个小组可以讨论和评价,评选出最佳算法流程图。对于问题5,学生可以选择Python或C++语言进行代码的编写。有的小组仅有Python语言基础,有的小组同时具备Python和C++语言基础。对于后者,鼓励学生应用两种语言编写,比较两种语言的语法规则、执行方式和采用的数据结构。最后,每个小组提交一份软件设计报告并上台展示,各小组之间互评、质疑,教师点评,最后评选出最佳学习小组。


3、课题报告范例展示


编程实现将十进制正整数转化成二/八/十六进制数。

(1)需求分析

十进制数是以10为基础的计数法。而二进制在数学和数字电路中指以2为基数的计数系统,该系统仅用两个不同的符号0和1。任何具有二个不同稳定状态的元件都可用来表示数的某一位,例如开关的“开”和“关”、电压的“高”和“低”、电路中的“有信号”和“无信号”等。现代的计算机设备里都使用二进制进行信息的存储和运算。

八进制是以8为基数的计数法,采用0、1、2、3、4、5、6、7八个数字,逢8进1。八进制数和二进制数可以按位对应:八进制1位对应二进制3位。十六进制在数学中是一种逢16进1的进位制,一般用数字0到9和字母A到F表示(A~F表示10~15)。十六进制数和二进制数可以按位对应:十六进制1位对应二进制4位。八进制和十六进制表示法常用在计算机系统中。本小组由3位同学组成,小组的任务是进行十进制正整数转换二/八/十六进制数的研究。

(2)项目设计

设计思路:从键盘上输入一个十进制正整数和待转换的进制(二/八/十六),屏幕输出显示转换后的进制数。

算法描述:一个十进制正整数转换成k进制数的计算过程是采用“除k取余法”,即将十进制数除以k,然后将商继续除以k,直到商为0停止计算,然后将依次所得的余数倒序排列即可得到k进制数。例如,89转换成二进制数采用“除2取余法”,计算过程如下:89÷2=44余1;44÷2=22余0;22÷2=11余0;11÷2=5余1;5÷2=2余1;2÷2=1余0;1÷2=0余1。然后把余数由下往上排序得到1011001。这样就把89转换为二进制数1011001。

类似的,89转换成对应的八进制数和十六进制数分别为131和59。观察上述计算过程,我们发现,“除k取余法”算法有两个关键步骤:第一,除法操作要在商为0时停止计算,这个过程可以用while循环结构来控制;第二,为了让余数倒序输出显示在屏幕上,可以使用数组这样的数据类型来保存每次除法运算后的余数,将其倒序输出即是转换后的k进制数。需要注意的是,采用“除16取余法”时,余数可能会是0~15之间的数,其中要将余数10~15显示为A~F,该转换过程可以采用多分支语句来实现。十进制正整数转换成二/八/十六进制数的算法流程图如图1所示。

(3)实现过程

算法流程图完成后,小组成员根据自身的程序设计基础,选择C++语言或Python语言进行代码的编写,其中两位同学采用C++语言,另两位同学采用Python语言。C++编程使用了一维数组数据类型、循环结构和多分支选择结构,Python编程使用了列表的定义、逆序和推导式、字典的定义以及join函数。小组成员遇到疑难之处,互相交流或请教老师。C++语言编写的代码和程序运行结果分别如图2和图3所示。

(4)课题研究体会

通过本次课题研究,学生们掌握了十进制正整数与二/八/十六进制数的转换原理,对算法和程序设计语言有了更深的理解。学生之前不知道算法的概念,也不知算法该怎样描述,对程序设计的三种基本结构也不甚了解。通过自学、小组交流、向教师请教的方式,学生们掌握了算法流程图的描述方法,明白了C++语言和Python语言实施算法步骤的异同:Python比C++更加简洁,代码书写较灵活;Python的列表逆序功能很好用,字典功能避开了C++的switch多分支语句的繁琐形式,但是C++语言语法规则严谨,可以培养学生细心的编程风格。

学习C++后,学生们理解了很多计算机的运行原理知识,比如内存空间的分配和释放,为今后更好地学习计算机相关课程打下基础。经历这次课题研究,学生们学会了分析和解决问题的方法,多动脑、多动手、多请教,这对学习知识大有裨益,变被动学习为主动学习,提高了学习效率。Python语言编写的代码和程序运行结果分别如图4和图5所示。


4、结语


计算机学科研究小组在本学期一共完成了4个课题。实践表明,学生分析问题、设计算法和实现编程的能力显著提高,这些学生在课堂上思维更加活跃。面对同样的问题,学生会尝试着实现一题多解的方法,其中能力强的学生还参加了程序设计比赛或机器人竞赛项目。课题研究从一个简单问题出发,学生逐渐找到利用计算机解决问题的“成就感”,最终能够采用合理的算法和程序设计语言实现方案,在课题研究的过程中递进式地培养了计算思维能力。从这个角度来说,教师指导学生做课题研究的教学模式是培养学生计算思维能力的有效途径,是一线学科教学的有益补充。


参考文献:

[2]教育部.普通高中信息技术课程标准.北京:人民教育出版社,2017

[3]张小国,祝雪芬.面向卓越工程师培养的C++教学实践与建议.计算机教育,2018(10):85-88

[4]孔丽英.C++程序设计的教学改革.软件工程,2017,20(7):57-59

[5]王乾,宋立新,等.从计算思维的角度组织C++模板教学.黑龙江科技信息,2016(25):121-122

[6]郭大玮.“身临其境”,培养中学生的计算思维.教育现代化,2018,5(49):380-382

[7]童行.高中信息技术教学中学生计算思维培养的研究.科学咨询,2017(6):125

[8]梁健.程序设计教学中培养中学生计算思维的实践与思考.科技资讯,2015,13(7):175-176


文章出处:朱颖.学生计算思维能力培养模式研究[J].福建电脑,2021,37(05):149-152.

分享:

91学术论文范文

相关论文

推荐期刊

网友评论

加载更多

我要评论

软件学报

期刊名称:软件学报

期刊人气:998

期刊详情

主管单位:中国科学院

主办单位:中国科学院软件研究所

出版地方:北京

专业分类:计算机

国际刊号:1000-9825

国内刊号:11-2560/TP

邮发代号:82-367

创刊时间:1990年

发行周期:月刊

期刊开本:16开

见刊时间:一年半以上

论文导航

查看更多

相关期刊

热门论文

推荐关键词

【91学术】(www.91xueshu.com)属于综合性学术交流平台,信息来自源互联网共享,如有版权协议请告知删除,ICP备案:冀ICP备19018493号

400-069-1609

微信咨询

返回顶部

发布论文

上传文件

发布论文

上传文件

发布论文

您的论文已提交,我们会尽快联系您,请耐心等待!

知 道 了

登录

点击换一张
点击换一张
已经有账号?立即登录
已经有账号?立即登录

找回密码

找回密码

你的密码已发送到您的邮箱,请查看!

确 定