【摘要】《普通高中信息技术课程标准》(2017版)将算法与程序实现作为必修模块一的主要内容,并融入到多个单元和模块中。大部分教师缺少相应的知识储备,需要及时补充。本文结合笔者近3年的教学实践和学习,从课程标准研读、教材梳理挖掘、教学范例拓展、学科核心素养提升等方面,阐述了进行算法与程序实现教学应该具备的知识储备及提升方法。

随着《普通高中信息技术课程标准》(2017版)(以下简称课标)的颁布,以及高中信息技术新教材的审读试教活动的开展和定稿发行,高中信息技术学科新一轮课程改革的内容已经明确。相比上一轮课标和教材变化显著,其主要表现之一:必修模块一《数据与计算》中将算法与程序实现作为重点,其内容的广度和深度都远高于上一轮的课标要求。最大的变化是,新一轮教材所采用编程语言为Python,这是大部分教师没有学习过的纯代码编程语言。面对变化,信息技术教师要及时的补充专业知识,才能开展正常的教学活动。由于算法和Python语言涉及的知识非常广泛,教师应该学习哪些内容?达到什么程度?如何学习?是信息技术教师面对的主要问题。

笔者从2017年开始学习Python编程语言,同时开始教学尝试。经过四届学生的教学实践和不断的学习,参加某出版社教材审读试教和教参编写,主讲多次市级专题培训讲座之后,认为信息技术教师可以从以下几方面做好知识储备。

一、研读课程标准,储备学科学习方向性的知识

课标从内容要求、教学提示和学业要求等方面,对算法与程序实现提出了要求和建议。我们可以从中提炼出本学科学习的方向,明确学习的知识框架。

例如,从内容要求中“掌握一种程序设计语言的基本知识,使用程序设计语言实现简单算法。”这句话,我们可以提炼出“程序设计语言的基本知识哪些呢?在Python中对应的内容是什么?”、“简单算法包括哪些内容?如何用Python实现相应的算法呢?”

再如,从教学提示中“通过编程实现枚举法中的‘百钱买百鸡’等经典案例,体验程序设计的基本过程,学习程序设计的基本方法。”这句话,我们可以提炼出“其他的枚举算法经典案例是什么?用Python如何实现呢?”、“枚举算法之外的简单算法和经典案例是什么?用Python如何实现呢?”“程序设计的基本过程和基本方法是什么呢?”

通过这样细致的研读课标,提炼出具体的问题,便可以明确应该储备知识的框架。然后按照这个框架,明确学习的方向性知识。

从课标征求意见稿发布到新版教材发行,周期很长。笔者按照这种方法确定学习框架和方向后,通过购买书籍、选修网络课程、关注微信公众号等方式进行自主学习。并做到围绕框架,控制学习范围,使学习目标明确。

这种方法一般用在教材发行之前。在新版教材发行之后,教师可以以此为依据,有针对性的在教材中寻找答案,以便更好的分析教材使用教材。

二、熟读教材,储备胜任学科基础教学的知识

对课标的研读只能明确学习的框架和方向,并不能准确的确定学习内容和深度。而教材是对课标较为精准的解读和具体化呈现,因此熟读教材梳理知识点,便能够明确具体的学习内容和深度。

不同出版社的教材有不同的风格和定位,在具体的内容组织上会有所差异。例如某版教材将知识全部融入到项目中,在做中学;另一版教材先提出项目,再介绍知识,最后利用知识完成项目。某版教材涉及turtle、time、math、sinomaps、jieba等5个模块;另一版教材涉及math、random和Image等3个模块……教师可将多个版本教材利用思维导图梳理知识点,进行对比综合,形成知识脉络图,进而针对性的学习,增加教学知识储备。

例如,通过这种方式,笔者发现学习Python时需着重关注in操作符、列表和字典等序列类型及模块的应用。这是Python区别于其它编程语言的主要内容。例如,图1所示是使用in操作符和列表判断生字的小程序,“ok_word”是一个存放学过的字的列表,“if i in ok_word”表示如果“ok_word”列表中存在“i”。这种用法非常简洁的实现了在c++等其他编程语言中需要使用循环遍历才能实现的功能。

图1 in操作符和列表应用

三、挖掘教材,储备适应学生个性化需求的知识

课标提倡项目学习,教材中的范例多是基于生活情境的小项目,这些小项目一般具有一定的挖掘空间。例如,笔者看到某版教材中的范例“最强大脑”游戏时,第一反应是应该增加“如果输入超时便结束游戏”的功能。为了实现这个功能,笔者利用网络搜索、求助技术高手等方法,花费了很多精力,仍未解决。最后在阅读某公众号的一篇文章时,偶然发现了解决问题的方法。这个经历使笔者知道了shell和命令行下运行Python代码可能得到不同的结果;知道还有sys、msvcrt等模块可能会在教学中用到;知道了print()命令flush参数的作用等Python知识。这些知识是教材没有直接体现的,如果不进行教材范例的挖掘是无法发现的。

虽然挖掘教材范例需要的知识不是教学必备的,但却可以在解决学生层次差异、引导学生深入学习、激发学生学习兴趣、预防课堂“尴尬”等方面发挥一定的作用。试想如果学生提出类似的问题,而教师毫无知识储备会怎样呢?这部分的知识储备有一定的不确定性和难度。需要教师在准备教学时充分考虑提前准备,也需要关注学生课堂上提出的问题不断积累,以满足学生的个性化需求。

四、拓展教材,储备提升学科魅力的知识

教学的重要目标之一是在学生心中种下一粒种子,使其慢慢发芽、生根、长大、开花、结果。这粒种子需要使用一些“魅力”知识来播种。而“魅力”知识仅从教材中获得是不够的,需要教师进行拓展。

例如,图2和图3是笔者搜索整理的求解非线性方程组和绘制3D等高线的代码及运行结果图。两个例子分别涉及数学学科和地理学科知识,一文一理相得益彰。短短的十几行代码就能够解决较为复杂的学科问题,对学生的触动是可想而知的。“我将来不学计算机专业,不需要学这个”的想法会淡化。“这个可能对我将来的专业学习有用”的想法会萌发。如果教师能够“轻而易举”的给学生呈现这样的跨学科应用范例,那粒种子一定会深深的植入学生心田。

图2 求解非线性方程组

图3 绘制3D等高线

这方面的知识储备需要在具备前面的知识储备后,在充分利用专业技术社区等网络资源寻找范例、阅读代码、修改代码的过程中逐步提升。

储备这些知识时需要注意,教材是教学的重要依据。尽管由于种种原因教材的范例不尽如人意,但教材所承载的知识、思维和理念是源自课标的。教师在修改范例甚至自行设计范例时,不能脱离这三方面内容。同时要牢记,算法与程序实现的教学核心不在语法,也不在算法,在思维。算法是思维的表现,语法是实现算法的工具。

五、提升学科核心素养,储备提高学习能力的知识

信息技术学科的核心素养不仅是培养学生的目标,更是教师必须具备的素养。教师如果具有较强的资源搜索能力进行数字化学习,通过敏感的信息意识从中筛选出适合的资源;能够运用计算思维解决搜索和学习过程中的困难;能够创新性的应用各种工具,提升学习效率;能够学会分享并遵守资源交流共享的规则,承担信息社会责任等,将利于教师学习能力的提升。

例如,笔者在教学中发现,Python自带的编辑器IDLE存在纯英文界面、行号不明显、调整显示不方便等不利于教学的问题。尝试了Jupyter、PyCharm等编辑器,能解决问题的同时也带来了安装配置难、界面复杂等更不利于教学的新问题。在寻找更合适的编辑器时,敏锐的信息意识使笔者从无意中看到的“谁不喜欢硬件、闪烁的LED、传感器,使用Mu,一个老少咸宜、用户友好的编辑器?”这句话中,发现了Mu这个关键词。但是网络搜索结果却指向了一款游戏,通过运用计算思维不断的调整搜索关键词,才找到官方下载地址。在使用中发现Mu编辑器果然能够很好解决使用IDLE编辑器遇到的问题(见图4),更适合初学者学习使用,尤为适合教学,但也发现安装新模块时存在的困难。通过数字化学习,创新性的研究出解决方法(见图5)。并撰写文章,通过公众号分享给更多的老师,尽自己的社会责任。

图4 MU和IDLE编辑器主界面对比

方法1:使用pip命令

方法2:复制IDLE模块文件

图5 MU安装新模块的方法

再如,基于“一个人走得很快,一群人走得更远。”的认识,笔者加入了一些Python学习交流群,受益良多。但同时发现这些群探讨的方向有些杂乱,内容大多超出了教学所需,不利于高中教师教学知识储备的提升。便组建了“高中Python教学交流群”,专门探讨交流和高中教学密切相关的内容,并拓展到整个高中信息技术课程教学的研讨。同时,为了使共享资源更有针对性,更好的尊重资源拥有者,遵守知识产权相应规定,承担信息社会责任。创建了《高中Python教学资源交流共享协议(HSPT-RESP)》,提出了“我们不做网络资源的搬运工,我们做资源整理的知识分享者,我们做资源交流的守则者”的理念。通过这种方式,获得了优质学习资源,拓宽了视野。在不断的交流碰撞中,学习能力和学习成效都得到很大提升。

总之,储备算法与程序实现教学知识的过程不是一蹴而就的。教师需要立足课标,依托教材,从教学需求出发,明确方向,充分利用信息技术手段循序渐进、有的放矢的进行。

作者单位:哈尔滨市第三中学校


注:本文是哈尔滨市教育学会“十三五”教育科学规划重点课题《普通高中算法与程序实现单元教学实践研究》(课题编号:HXHXZ-135-001)研究成果。曾发表在笔者个人微信公众号“行走路上”和《中国信息技术教育》杂志2020年8月刊,本文有修改。


参考文献:

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

2.任友群,黄荣怀.普通高中信息技术课程标准(2017年版)解读[M].北京:高等教育出版社,2019.

3.李维明.普通高中信息技术必修模块教学专题指导[M].上海:上海科技教育出版社,2018.

4.李锋等.信息技术必修1数据与计算[M].北京:人民教育出版社,北京:中国地图出版社,2019:37-82.

5.李艺等.信息技术必修1数据与计算[M].北京:教育科学出版社,2019:17-48,85-117.

6.郑骏等.信息技术必修1数据与计算[M].上海:上海科技教育出版社,2019:67-126.

7.闫寒冰等.信息技术必修1数据与计算[M].杭州:浙江教育出版社,2019:38-90.

8.黄国宏等.信息技术必修1数据与计算[M].杭州:广东教育出版社,2019:39-96.

9.熊璋,邵红祥.重塑信息科技教育[J].中国信息技术教育.2020(2):4-9.

10.熊璋,黄国宏.立足新时代,构建新课程——关于中小学信息科技课程设计的思考[J].课程教学研究,2020(1):4-7.

11.董付国.Python实现“按任意键返回”和无回显输入[EB/OL].2020-03-24[2020-05-01].https://mp.weixin.qq.com/s?__biz=MzI4MzM2MDgyMQ==&mid=2247491050&idx=1&sn=32d185527e4c60541c67ac90a53a29a2&chksm=eb8ab6b0dcfd3fa6eca1b277f171531b2204bfad5966f40f8606c500455f23204b65143e730f&mpshare=1&srcid=&sharer_sharetime=1585060970128&sharer_shareid=e6640b53cd566d74e9429b179d06c2dc&key=da21d41c58faea5baefcad8316c71ba55a824b89ecbfa74cfaff1fcf5044e7fcacb95ce0b1fb8966ed3ba6ddd658eab951a3d5c72033c66c859a2dc09bcf7cfee799a2a72bca22089cae01d4ab3cd100&ascene=1&uin=MjM0MzQyMjUwMg==&devicetype=Windows%208&version=62080079&lang=zh_CN&exportkey=AVDmVBM/H8H1VT%20tMXUpGrk=&pass_ticket=wcP97qa4UobCBOSEsClk6DRiEN2EVTwhelZ9DWi3ZKaGHFPKCh%207dpcu%20nkW1Aqo&scene=21#wechat_redirect.

12.zjc08125.Python求解非线性方程[EB/OL].2014-05-09[2020-05-01].https://blog.csdn.net/zjc08125/article/details/25370053?utm_source=app.

13.SZU_ZNG.Python数据可视化大全[EB/OL].2017-09-17[2020-05-01].https://blog.csdn.net/qwop446/article/details/78011271?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158830464919724846448396%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.57662%2522%257D&request_id=158830464919724846448396&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_v2~rank_v25-1.

END微信号:hrbjyxh哈尔滨市教育学会-扫码关注我们-

pwm波程序如何实现_【优秀成果】如何做好算法与程序实现教学的知识储备相关推荐

  1. 小程序 input自动换行_直播 | 最实用的微信小程序自动化测试技术独家揭秘

    随着微信小程序的功能和生态日益完善,很多企业级小程序项目的页面越来越多,业务逻辑也越来越复杂.如何做好微信小程序的自动化测试成为测试同学面临的一大难题. 如何合理构建多端架构和自动化测试体系? 如何深 ...

  2. 拼团小程序源码_带你了解拼团小程序

    随着智能手机的普及,移动互联网的快读发展,很多创业者抓住了社交电商的商机,2018年许多人通过微信公众号,微博,抖音等自媒体.流媒体迅速建立了流量入口.那么现在的社区团购系统又是怎样的呢? 一.拼团社 ...

  3. 小程序项目实施_实施对关键业务IT应用程序的持续分析和管理

    在当今竞争激烈的商业环境中,组织必须能够快速有效地响应推动业务目标,优先级和要求发生变化的市场需求. 为了建立竞争优势,IT投资必须与这些目标和优先事项直接挂钩. 灵活,协作并集成到整个业务中的软件交 ...

  4. 微信报名小程序怎么做_分享怎么快速做好一个报名小程序

    现在越来越多的企业在做活动或者招生的时候都会用到报名这个功能,为了可以方便收集用户的信息,统一管理报名信息,也为了提高效率,所以现在很多主办方会推出微信报名小程序,方便大家在线报名活动或者招生活动.要 ...

  5. 超市微信小程序怎么做_新手如何制作一个超市小程序?能发挥什么作用?

    对于线下超市实体店来说,开发一个自己的社区超市小程序,能获得不少好处: (1)提升线下店铺曝光度 微信"附近的小程序"功能,会向用户展示其5公里内的开发了小程序的商家,也就是说,实 ...

  6. 怎么把python程序发给别人_想把你写的Python程序发给别人用?打包成exe啊!

    前言 大家好,欢迎来到编程教室! 当你学了一段时间Python,终于写出一个小游戏的时候,是不是很想发给你的小伙伴分享一下你的成果?但是,如果直接将xx.py文件发给别人,别人通常是不能直接运行的,他 ...

  7. python银行家算法代码_避免死锁的银行家算法C++程序实现

     本篇博文为追忆以前写过的算法系列第二篇(20081021) 温故知新 目的:具有代表性的死锁避免算法是Dijskstra给出的银行家算法.本实验是基于银行家算法的思想通过编写C++程序实现银行家 ...

  8. 微信小程序浮动按钮_操作按钮悬浮固定在微信小程序底部的实现代码

    本章节主要介绍了如何将操作按钮悬浮固定在微信小程序底部?操作起来也比较简单,还不会的朋友一起跟着小编学习一下吧,希望对你们有所帮助. 常见的有加入购物车按钮.结算按钮.收货列表添加地址按钮. 以收货地 ...

  9. java小程序死机_求解,刚写的小程序,一运行我机器就死机

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 this.speed = speed; } //创建坦克向4个方向运动的方法 public void goUp() { this.setDirect(0) ...

最新文章

  1. Mybatis 获取当前序列和下一个序列值 以及在一个方法中写多条SQL 语句
  2. Jupyter 快速入门——写python项目博客非常有用!!!
  3. hankel--生成Hankel矩阵
  4. delphi VCL研究之消息分发机制(转)
  5. HDU - 6393 Traffic Network in Numazu(线段树+LCA+树链剖分+并查集)
  6. MySql 插入数据中文乱码
  7. php 实时监测网站是否异常_网站监控劫持问题,怎么通过网站监控解决劫持问题...
  8. Confluence 6 自定义 Decorator 模板的宏和针对高级用户
  9. CentOS7查看开放端口命令
  10. php 远程图片合拼,php获取远程图片的三种方式
  11. 【BZOJ1026】windy数,数位DP
  12. 函数计算如何粘合云服务,提供端到端解决方案
  13. 微型计算机系统中 麦克风属于,模块1-2 计算机基础知识测验题目(50小题)
  14. Raki的读paper小记:Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
  15. 关于平面设计海报怎么做?——黎乙丙
  16. 人工智能轨道交通行业周刊-第15期(2022.9.19-9.25)
  17. 解决unable to find valid certification path to requested target
  18. SLAM闲谈(一)--词袋模型
  19. 工作流引擎WorkFlow开源项目
  20. BootStrap的使用教程,适合新手小白!!

热门文章

  1. mysql 数据结构语句_SQL 数据结构操作语句
  2. dart调用python_Dart - Isolate 并发
  3. linux内核 删除文件_Linux内核与根文件系统的关系详解
  4. 双拼输入法键位图_你知道双拼输入法吗?
  5. es过滤指定数据 java_elasticsearch 结构化搜索_在案例中实战基于range filter来进行范围过滤...
  6. 1971旗舰cpu intel_AMD依然yes!官宣锐龙5000系列CPU,单核性能首次超越英特尔,苏妈:最好的游戏CPU!...
  7. function 多个函数用一个_程序员如何用一个脚本每天定时给多个女友发微信暖心话...
  8. android gdb 远程调试工具,gdb输入/输出错误远程调试到Android
  9. docker network host模式
  10. pytorch torchvision.transforms.ToTensor