开设高中程序设计常态课,促进学生计算思维培养

来源 :中国信息技术教育 | 被引量 : 0次 | 上传用户:luke521314
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  程序设计课程以编程语言来描述和解决问题,从而揭示计算机如何解决具体问题的方法,是非常适合培养学生计算思维的课程。目前,部分学校在高中阶段开设了信息学奥赛培训或国家课程标准选修课《算法与程序设计》,但前者为面向少部分学生的“精英教育”,后者则理论性较强。如何将程序设计课程设计成面向广大学生的常态课程,培养学生的计算思维能力,并提高其思考与决策水平,形成解决实际问题的能力,是一个值得解决的问题。笔者所在学校的信息技术教研组对此进行了实践探索,并通过对学习工具、课程结构及学习活动的合理选择或科学设计,实现了面向全体学生的程序设计常态课,取得了一定的效果。
  ● 基于图形化编程的学习工具选择
  目前,各中学开设的程序设计课主要有信息学奥赛培训课与国家课程标准选修课《算法与程序设计》两种形式,它们采用的编程语言前者为C语言或PASCAL语言,后者为VB语言,因此,这两种形式均需要学习程序代码且面向数学解决问题。这样的形式不仅使学习活动缺乏生动性,而且在面对各类问题时,也不利于对学生进行识别、分析、抽象、建模并设计系统解决方案的计算思维的培养。
  基于以上分析,笔者所在学校在高一年级开设了面向全体学生的程序设计常态课,采用图形化编程软件Scratch和图形化编程平台App Inventor作为学习工具。这两种工具均是采用鼠标拖动模块到程序编辑栏的搭积木式的工作方式,是带图形界面的可视化编程语言,其操作难度低,适合各能力层次的学生。利用Scratch可以创建故事、动画、游戏、音乐、视频,适合模拟各种现实生活场景,创设各种虚拟任务。App Inventor则是一个完全在线开发的Android编程环境,它可以用于设计安卓手机应用的外观及行为,设计完成的应用程序既可以在计算机模拟器中运行,也可以直接安装在手机上运行,它为学生探索并创新如何利用程序满足真实的学习、工作或生活需求提供了强有力的计算设计平台和更宽阔的思维发展空间。值得一提的是,Scratch的程序编写界面和App Inventor有相似之处,学生能够很方便地从Scratch这一较为简单的工具过渡到比较复杂的App Inventor,从而很好地从解决虚拟问题过渡到对真实问题的解决和现实应用的设计中来。
  ● 基于程序设计思想的课程结构设置
  笔者观摩了不少程序设计选修课,教师为了便于开展教学、提高学习活动的可操作性,大多都以面向对象程序设计工具的应用为主线设计教学,如“制作一个计算器”“制作成绩排序软件”等,或花费许多精力在程序界面的设计上。在这些课堂中,虽有程序设计的知识,但工具的学习和应用的主线过于分明,其结果是学生对程序设计课的印象,就是在记忆一个个应用程序的名称。
  培养学生的计算思维,关键在于使其形成面对问题时能分析如何利用计算机科学知识获得最佳策略的意识和能力,懂得如何合理组织数据,能够运用最优算法设计解决问题的方案等。因此,选择正确的程序结构、使用合理的数据结构、优化解决问题的算法等程序设计思想的学习和锻炼是培养计算思维最关键有效的方法。
  笔者所在学校以“大话西游”作为整个程序设计课程的创作大主题,并根据该主题设计了许多生动有趣的学习活动及任务,如制作一个孙悟空变脸的动画剧场,制作悟空抓妖怪的追捕游戏,开发一个关于中国名著《西游记》知识测验的手机APP等。在课堂导学案中,每一个学习活动首先都由若干个问题引起,即称之为“前置问题”;每个学习活动后期也都会有问题引发学习延伸,则称之为“拓展问题”。
  例如,在教学专题“循环结构”中,学生要完成一个制作迷宫游戏的学习任务(如上页图2)。为了完成该任务,学生需要学习“循环结构”的相关知识,也需要运用已学过的“选择结构”的相关知识。在学习活动的开始环节,教师提出前置问题:打开走迷宫的示例程序,尝试用键盘控制对象从起点走到终点,并思考以下几个问题。
  ①这个程序和你玩过的哪类游戏相似,它们具备什么功能(或特征)?②要使对象受键盘控制,并在碰到迷宫的黑线时做出反应,需要做哪些判断或选择?实现这些判断或选择可以使用哪种程序结构和Scratch指令?③要让对象一直受键盘的控制,需要怎么做?④要让对象一直受键盘的控制,直到遇到某个条件,就结束键盘控制,需要怎么做?
  前置问题的设计重在帮助学生抽象出解决问题的数据模型。问题①在于引导学生找出迷宫游戏的典型特征,完成问题的界定及问题特征的提取;问题②引导学生发现可以利用所学习过的程序设计知识“选择结构”来实现判断和选择功能;问题③~④启发学生寻找实现持续执行或持续执行直到实现某条件的办法,进而学习程序设计新知识“循环结构”。对问题②~④的思考,有助于学生建立解决问题的结构模型。
  又如,在教学专题“应用系统的程序设计”的第一个学习活动“悟空学艺——72变”中,要求学生在App Inventor中综合应用前面学习的程序设计基本知识,设计一个带画板功能的手机App程序,其中有一个功能是设置画笔为粗线条或细线条(画笔宽度固定)。课堂导学案中提供现成的程序参考,教师在学习活动后期提出拓展问题:根据人对应用工具的操作习惯,画板应该可提供画笔的逐步调节粗细的功能(而不是固定粗细),请你利用学过的程序设计知识,结合App Inventor中相关的组件及其属性,实现这一功能。
  拓展问题的设计在于引导学生实现课内知识到现实应用的迁移,以上问题将引导学生思考并发现可以通过定义全局变量,并利用变量的数值递增或递减进而赋值给画笔的宽度属性来实现所需功能(如图3)。
  再如,在教学专题“应用系统的程序设计”的另一个学习活动“西游回忆录”中,笔者通过让学生制作一个关于中国名著《西游记》的知识学习与测试手机App程序,学习应用“列表”这一静态存储结构。在学习活动后期,笔者同样提出拓展问题:思考可能出现的用户需求,并尝试改良答题程序,提高其使用价值。
  为此,有学习小组利用“列表”在原来答题程序上增加提示功能,这一来可以提高用户的答题率,二来还可以让用户学习更多拓展知识(如P41图4)。
  ● 结束语
  回顾过去一学年开展的程序设计课,笔者通过合理选择学习工具、科学设置课程结构以及精心设计学习活动,大大提高了程序设计课程的教学可实施性和学习可操作性,从而实现了课程常态化并使全体学生都有机会接触程序设计。而且图形化的编程工具、渗透程序设计思想方法的课程架构以及强调问题解决的学习活动等,更好地培养了学生利用计算机科学知识界定、分析和有效解决问题的意识和能力,最终促进了对学生计算思维这一核心素养的培养。
其他文献
基于声波在异质界面声压反射系数对界面两侧介质特性声阻抗变化的敏感性,将回波高度随待测液体阻抗变化的函数作为系统的灵敏度,通过构建新的数学方法并通过设计实验快速实现
弹道导弹目标识别是导弹防御系统的重要环节.用于弹道导弹识别的特征通常包括RCS特征、极化特征、雷达高分辨一维距离像(HRRP)、ISAR像、微动特征等.研究目标散射中心模型,给出
<正>10.3创新才能走强从染料发展历史来看,欧洲在染料新品种的开发和新技术的推广应用中一直引领全世界。研制一个染料新品种需投入大量经费,一些知名染料企业将销售收入的10
以明胶/改性阿拉伯胶为壁材,松针油为芯材,采用复合凝聚法制备松针油微胶囊。优化的反应条件为:明胶/改性阿拉伯胶质量比为1.25:1,质量分数为0.6%,pH=4.1,反应时间75min,搅拌速率300r/min,固
西班牙Jeanologia公司在ITMA ASIA+CITME 2016展会上发布了能增加牛仔裤雕花整理能力,优化成本的激光技术Jeanologia PRO。这种新一代的激光技术是市场上发展最快、最可靠,且最
采用纳米氧化锌和活性橙HF-3RW对纯棉织物进行一浴一步法加工,考察了纳米氧化锌质量浓度、焙烘温度和时间对染色织物K/S值和E,PF值的影响。结果表明,在活性橙FH.3RW10g/L、纳米氧化
针对染整加工过程中醋酯纤维不耐碱和易产生折痕、擦伤的问题,提出采用生物酶前处理,选用合适的活性染料和分散染料在弱碱性或中性条件下染色,后整理可采用烘干拉幅柔软后轧光和
2012年,美国发生火灾数量高达137.5万起,其中有48万次发生在建筑物内,而在这些建筑火灾中,超过80%是家庭火灾,且这些火灾导致的财产损失也一直在增加。2012年,美国因火灾造成
采用均匀设计法优化微波消解制样条件,然后利用逐步回归筛选变量技术求得多元回归方程,通过1st Opt的准牛顿法以及通用全局优化算法,优化了微波消解条件。利用仪器自带程序优