摘要:文章从文化基础、自主发展、社会参与三个方面阐述了计算机程序设计与学生核心素养之间的关系,并基于维果茨基的社会文化历史理论,提出了基于学生核心素养培育的高校计算机程序设计教学策略,旨在为新一轮计算机通识课程改革提供思路。

关键词:核心素养;计算机程序设计;维果茨基

学生发展核心素养是回答“培养什么样人”的问题。计算机程序设计有助于人们具备基本的信息素养、逻辑推理能力和计算思维[1],是“怎样培养人”。因此,在高校人才培养中,此类课程一直都是理、工、管等专业的通识课程。然而,结合学生发展核心素养的计算机程序设计教学研究相对较少,现有文献大都侧重个别素养,不够深入和系统[2-3]。如何真正从学生自身的发展出发,最大程度地发掘计算机程序设计课程促进学生发展核心素养,是该类课程改革的重要方向。

一、计算机程序设计教学与学生核心素养的关系

根据《中国学生发展核心素养》的阐述,以培养“全面发展的人”为核心。核心素养分为文化基础、自主发展与社会参与三个方面,综合表现为人文底蕴、科学精神、学会学习、健康生活、责任担当、实践创新六大素养,具体细化为国家认同等十八个基本要点[4]。计算机程序设计能够培养学生的逻辑推理、计算思维和语言表达等方面的能力,它是重要的基础科学和思维科学,其思想方法具有一定代表性[5]。因而,此类课程与学生发展核心素养所包括的文化基础、自主发展与社会参与这三个方面均具有直接的联系。

(一)计算机程序设计与学生核心素养之文化基础。文化基础,重在强调能习得人文、科学等各领域的知识和技能,掌握和运用人类优秀智慧成果,涵养内在精神,追求真善美的统一,发展成为有宽厚文化基础,有更高精神追求的人[6]。文化基础要求学生具备基本的人文底蕴和科学精神。成功的程序设计作品往往蕴含着宽厚的文化基础。例如微软的操作系统、谷歌搜索引擎,简洁交互界面的设计融合了艺术学、美学和心理学等多种文化元素,而背后是算法赖以支撑的数学。另一个典型的例子是ACM国际大学生程序设计大赛。该大赛要求学生运用计算机、程序设计语言、数学、物理等学科知识和技能,结合程序设计解决实际问题。竞赛中时刻要求学生保持理性思维、批判质疑、勇于探究等科学精神的基本要点。既然成功的程序设计作品蕴含着宽厚的文化基础,那么,教授学生学习程序设计,就是利用计算机程序设计语言,综合其他学科知识,解决实际问题,培育学生宽厚的文化基础。有力的证明如广受中小学学生喜爱的Scrath编程工具,其发明团队领袖、麻省理工学院MitchelResnick教授一直倡导“编程化学习”,即把程序创造性地作为学习工具去承载丰富多彩的内容。例如,把它当作工具载体传授数学知识和讲解自然科学等。这种转变将对学生的核心素养培养起到重要作用。

(二)计算机程序设计与学生核心素养之自主发展。自主发展,重在强调学生能有效管理自己的学习和生活,认识和发现自我价值,发掘自身潜力,有效应对复杂多变的环境,成就出彩人生,发展成有明确人生方向、有生活品质的人。自主发展包括学会学习和健康生活两大素养。计算机程序设计语言发展至今已有几十种,且新的程序设计语言还在不断地涌现。教师不可能将所有程序设计语言教授给学生,而绝大部分学生后续课程和工作的内容都不是当前学习的程序设计语言。这就要求教师在计算机程序设计课程的教学过程中,要培养学生的理论基础、学习习惯、研究方法和独立思考、解决问题的能力,强化学生的自主学习能力。学生应从学习模式、时间管理和学习规划技巧等方面针对自身特点采取一系列学习活动。例如,许多大学生在学习期间没有给自己设定明确的目标,就可能容易沉迷于网络游戏中,甚至自身的性格也会变得沉默寡言。通过程序设计课程,学生将理解一个基本原理:一切网络游戏、智能手机应用的背后都是程序员所编写的代码。大学生不应该受程序控制,应有自己的人生规划,要能自我管理,健康生活。笔者的一名学生,在学习改革后的计算机程序设计课程时,就培养了非常强的自律意识和自我管理能力,并针对学生长时间玩游戏的问题,开发了一款屏幕自锁程序,提醒大家不要长时间沉溺于网络游戏。

(三)计算机程序设计与学生核心素养之社会参与。社会参与,重在强调能处理好自我与社会的关系,养成现代公民所必须遵守和履行的道德准则和行为规范,增强社会责任感,提升创新精神和实践能力,促进个人价值实现,推动社会发展进步,发展成为有理想信念、敢于担当的人。社会参与涵盖了担当责任和实践创新两大素养。当代社会,隐私保护和信息安全越来越重要。因此,程序设计课程不仅应教授学生如何设计程序,同时也应树立他们的信息社会责任,即不能编写计算机程序窃取他人的个人信息和隐私,不能散布和传播危害国家、社会安定的言论和病毒,不能参与和组织网络盗取、诈骗他人财务等行为和活动。另外,计算机程序设计是一项思维创新的实践活动,此类课程一般遵循由简单到复杂的循序渐进式教学,逐步强调在动手实践、不断挑战中培养实践创新能力,以解决人们社会生活、生产中的实际问题为教学目的。

二、基于核心素养的计算机程序设计教学策略

著名心理学家和教育学家维果茨基所创立的社会文化历史理论对世界心理学和教育学产生了深远的影响。他的社会文化历史理论包括“人是社会历史产物”和“最近发展区”两大重要概念。

(一)人是社会历史产物与“分享—交流—互助”学习社区。维果茨基在其社会文化历史理论中指出“人从出生起就是一个社会实体,是社会历史产物”,学习行为是在人际交往活动中产生和发展起来的。在学生学习过程中,教师和同伴是学生学习的促进者,而合作学习对学生的认知发展具有重要的促进意义。在课程教学实践过程中,我们建设“分享—交流—互助”的学习社区,为学生搭建分享与交流学习过程和程序设计作品的互动平台。例如,在新一轮课程改革中,我们搭建了有助于学习程序设计的网络互动平台,并逐步发展结合线上、线下的程序设计学习社区,为学生学习程序设计提供了学习资源分享、互商互助的学习环境,以及程序设计作品展示和评价和交流的平台。线上社区的建立可以依托博客、微信群、QQ群等软件工具。此外,线上平台的建立使师生之间、生生之间在课下也可以不受时空限制地相互学习和相互启发,尝试解疑。因此,通过“分享—交流—互助”的方法,也有助于培养学生社会参与的意识和能力。

(二)最近发展区与“使用—修改—创作”教学方法。“最近发展区”是维果茨基理论体系中影响最深远的概念之一。“最近发展区”中明确阐释了教学与学生发展之间的关系是“良好的教学走在发展前面并引导之”。教学应该落在学生的最近发展区内,这样才能最大限度地发挥教学对学生发展的促进作用。在教学实践中,我们采用“使用—修改一创作”的教学方法,循序渐进地帮助学生从了解和掌握知识,到自主创新。例如,在新一轮课程改革中,我们让学生从使用、修改他人的程序设计作品中学习程序设计,了解并掌握程序设计的基本原理和概念,也帮助他们从中发现一些疑问,以供后期自主学习和创新。以教授“排序”算法的课程内容为例,笔者在介绍了排序的概念和常用的选择排序算法后,把完整程序共享在交流平台上,让学生参与排序算法的“再创作”。在这一过程中,一些学生发现选择排序算法对大多数杂乱无序的序列进行排序时,由于时间复杂度不高,算法性能较好;但对极端序列排序时,时间复杂度就高了,算法的收敛性就差。对此,他们改进了选择排序算法并把程序代码编写出来,从“使用”和“修改”过渡到了“创作”。“使用—修改一创作”的教学过程还有助于促进学生培养自主学习的能力。仍然以“排序”算法为例,一些学生课后自主探究了其他排序算法,例如冒泡排序、快速排序、希尔排序和堆排序等,其中有些学生在理解了这些排序算法的原理后,自行设计程序并制作了微课视频和大家共享。

三、结论

本文从文化基础、自主发展和社会参与三个方面论述了计算机程序设计课程与学生发展核心素养之间的关系。以维果茨基的社会文化历史理论为指导,鼓励学生采用“使用—修改—创作”的方法,并依托“分享—交流—互助”的学习社区模式,发展学生的核心素养。计算机程序设计课程与学生发展核心素养相结合的改革之路,为走出灌输模式的知识教育,提供了可行的实践方法。

作者:王红梅 黄霞 单位:江苏科技大学江苏科技大学

计算机素养的论文,核心素养下计算机程序设计教学探索相关推荐

  1. 关于计算机科学与技术专业的摘要,计算机科学技术专业论文摘要怎么写 计算机科学技术专业论文摘要范文参考...

    [100篇]免费计算机科学技术专业论文摘要范文均为免费优秀学术论文摘要范文,可用于相关摘要写作参考,为您写相关硕士毕业论文和本科毕业论文和职称论文提供论文摘要范文格式模板,[快快阅读吧!] 第一篇论文 ...

  2. 与计算机图形学相关的研究论文,计算机图形学相关论文范文数据库,与计算机图形学的相关技术与相关专科毕业论文范文...

    计算机图形学相关论文范文数据库,与计算机图形学的相关技术与相关专科毕业论文范文 关于计算机图形学及计算机及计算机动画方面的免费优秀学术论文范文,计算机图形学相关本科毕业论文,关于计算机图形学的相关技术 ...

  3. 现代电子技术与计算机应用分析的论文提纲,计算机及应用论文提纲范文大全 计算机及应用论文提纲如何写...

    精选了[100个]关于计算机及应用论文提纲范文大全供您后续的写作参考,在写计算机及应用论文之前,很多大学生总是被计算机及应用论文提纲如何写难倒怎么办?请阅读本文! 五.项目教学在中职计算机专业课中的应 ...

  4. 计算机专业知识更新速度快,[计算机专业知识]计算机基础知识论文:医学专业计算机基础教...

    随着高等职业教育的蓬勃发展,培养大量高素质的技能型人才是我国国民经济发展的迫切需要,是高等教育大众化的要求,是促进就业.构建和谐社会的有效措施.下面是答 案 网 ZqNF.Com小编为大家整理的计算机 ...

  5. 小学计算机核心素养题,基于核心素养的小学信息技术教学

    朱丽晖 [摘 要]新课程标准的要求下,在各个学科的教育教学过程中,素质教育都得到了全新的重视.核心素养作为一个人的修养中最关键不可或缺的部分,更是在教学当中要引导培养的重点.创新素养.信息素养.人文素 ...

  6. 如何在计算机课堂中培养核心素养,如何在信息技术教学中培养学生的核心素养...

    张军 如何在新课程理念下进行课堂教学,是当前每位老师最为关心的问题.近些年,随着课程改革的不断深入,新课程的很多理念已悄然进入我们的课堂,影响着我们的教学模式.从双基到三维目标再到核心素养,其变迁基本 ...

  7. 如何在计算机课堂中培养核心素养,利用信息技术培养学生学科核心素养的尝试...

    济宁市永丰街中心小学  翟海峰 学校教育是面向未来的事业,课堂教学是培养学科核心素养的主阵地,信息技术是现代课堂教学重要组成部分,在信息技术发展与核心素养培养的新视域,有效利用信息技术推进学科核心素养 ...

  8. 如何在计算机课堂中培养核心素养,例谈核心素养培养在初中信息技术教学中的落实...

    热点解读 例谈核心素养培养在初中信息技术教学中的落实 ■吴少敏 摘 要:核心素养在教学中已经成为热门话题,在核心素 养的视野下,初中信息技术课程教学越发注重学生核心素养的 培养,科学合理地借助有效的教 ...

  9. 如何在计算机课堂中培养核心素养,如何在信息技术中培养学生的核心素养

    作业内容 信息意识从何而来,信息能力如何培养,怎样提高学生的信息道德水平,是将信息素养的培养落实到课堂教学中的三个关键问题.我认为,大多数教师感觉很难在课堂上解决这些问题,一个主要原因是当前的信息技术 ...

最新文章

  1. Android 应用性能优化-StrictMode(严格模式)
  2. SAP PP COR2下达工单系统报错说-系统状态APNG是激活的- 分析第二篇
  3. 具有趣味性的c语言项目,一个有趣的小程序
  4. 为SSIS编写自定义数据流组件(DataFlow Component)之进阶篇:自定义编辑器
  5. 学习SQL数据更新,这一篇就够了!
  6. html富文本编辑器插件_vue中使用vuequilleditor富文本编辑器
  7. java 输出字符集合里的字_Java基础 -- 字符串(格式化输出、正则表达式)(示例代码)...
  8. Python学习入门基础教程(learning Python)--5.1 Python下文件处理基本过程
  9. idea生成类注释和方法注释的方法
  10. 在centos 7.0上利用yum一键安装mono
  11. win7发现不了无线网络_Win7笔记本怎么设置wifi热点 Win7笔记本设置wifi热点方法【详解】...
  12. 入华五周年,微软亮AI、云计算成绩,制定“二五”新战略...
  13. CAN总线技术2--CAN网络控制芯片SJA1000
  14. 漫谈bufferbloat以及TCP公平性
  15. JAVA——对当前时间进行输出
  16. Ant入门教程(上)
  17. java gif等比例缩放_对gif动图进行缩放等处理(java)
  18. 2021潍坊私立高中高考成绩查询,2021潍坊民办私立高中学校入学分数
  19. LONGLONG类型
  20. lightroom 闪退_最近Autodesk软件全部闪退的解决办法

热门文章

  1. Mesa学习笔记#1:Running MESA
  2. mac上配置cordova开发Android平台APP环境
  3. UIUC简介 -- 写给今年得到UIUC Offer并在犹豫中的同学
  4. 32位linux升级64位系统下载地址,使用i386-32位Linux不能升级到amd64位,只能全新安装Linux-amd64版...
  5. C# 调用FFmpeg处理音视频的示例
  6. 200元左右的蓝牙耳机推荐,2021蓝牙耳机排行榜10强
  7. 自定义模型tensorboard画图命令报错 assert error assert isinstance(orig, torch.nn.Module)
  8. Android Studio清单文件合并规则
  9. 在Geany里配置python3的方法!!!含window10下载Geany过程
  10. html简单歌词同步教程,HTML5实现歌词同步(示例代码)