热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python实现搜索关键词_【优秀成果】如何做好算法与程序实现教学的知识储备

【摘要】《普通高中信息技术课程标准》(2017版)将算法与程序实现作为必修模块一的主要内容,并融入到多个单元和模块中。大部分教师缺少相应的知识储备,需要
d4f4f9d1-c518-eb11-8da9-e4434bdf6706.png

【摘要】《普通高中信息技术课程标准》(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++等其他编程语言中需要使用循环遍历才能实现的功能。

d6f4f9d1-c518-eb11-8da9-e4434bdf6706.pngd7f4f9d1-c518-eb11-8da9-e4434bdf6706.png

图1 in操作符和列表应用

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

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

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

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

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

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

d9f4f9d1-c518-eb11-8da9-e4434bdf6706.png

图2 求解非线性方程组

dbf4f9d1-c518-eb11-8da9-e4434bdf6706.png

图3 绘制3D等高线

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

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

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

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

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

dcf4f9d1-c518-eb11-8da9-e4434bdf6706.png

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

def4f9d1-c518-eb11-8da9-e4434bdf6706.png

方法1:使用pip命令

e0f4f9d1-c518-eb11-8da9-e4434bdf6706.png

方法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.

e1f4f9d1-c518-eb11-8da9-e4434bdf6706.pngENDe2f4f9d1-c518-eb11-8da9-e4434bdf6706.pnge3f4f9d1-c518-eb11-8da9-e4434bdf6706.jpeg微信号:hrbjyxh哈尔滨市教育学会-扫码关注我们-e8f4f9d1-c518-eb11-8da9-e4434bdf6706.png



推荐阅读
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • 本文介绍了使用哈夫曼树实现文件压缩和解压的方法。首先对数据结构课程设计中的代码进行了分析,包括使用时间调用、常量定义和统计文件中各个字符时相关的结构体。然后讨论了哈夫曼树的实现原理和算法。最后介绍了文件压缩和解压的具体步骤,包括字符统计、构建哈夫曼树、生成编码表、编码和解码过程。通过实例演示了文件压缩和解压的效果。本文的内容对于理解哈夫曼树的实现原理和应用具有一定的参考价值。 ... [详细]
  • 在2022年,随着信息化时代的发展,手机市场上出现了越来越多的机型选择。如何挑选一部适合自己的手机成为了许多人的困扰。本文提供了一些配置及性价比较高的手机推荐,并总结了选择手机时需要考虑的因素,如性能、屏幕素质、拍照水平、充电续航、颜值质感等。不同人的需求不同,因此在预算范围内找到适合自己的手机才是最重要的。通过本文的指南和技巧,希望能够帮助读者节省选购手机的时间。 ... [详细]
  • Android自定义控件绘图篇之Paint函数大汇总
    本文介绍了Android自定义控件绘图篇中的Paint函数大汇总,包括重置画笔、设置颜色、设置透明度、设置样式、设置宽度、设置抗锯齿等功能。通过学习这些函数,可以更好地掌握Paint的用法。 ... [详细]
  • 本文介绍了Windows Vista操作系统中的用户账户保护功能,该功能是为了增强系统的安全性而设计的。通过对Vista测试版的体验,可以看到系统在安全性方面的进步。该功能的引入,为用户的账户安全提供了更好的保障。 ... [详细]
  • OpenMap教程4 – 图层概述
    本文介绍了OpenMap教程4中关于地图图层的内容,包括将ShapeLayer添加到MapBean中的方法,OpenMap支持的图层类型以及使用BufferedLayer创建图像的MapBean。此外,还介绍了Layer背景标志的作用和OMGraphicHandlerLayer的基础层类。 ... [详细]
  • 显卡驱动对游戏的影响及其提升效果的研究
    本文研究了显卡驱动对游戏体验的提升效果,通过比较新旧驱动加持下的RTX 2080Ti显卡在游戏体验上的差异。测试平台选择了i9-9900K处理器和索泰RTX 2080Ti玩家力量至尊显卡,以保证数据的准确性。研究结果表明,显卡驱动的更新确实能够带来近乎50%的性能提升,对于提升游戏体验具有重要意义。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 本文介绍了一个免费的asp.net控件,该控件具备数据显示、录入、更新、删除等功能。它比datagrid更易用、更实用,同时具备多种功能,例如属性设置、数据排序、字段类型格式化显示、密码字段支持、图像字段上传和生成缩略图等。此外,它还提供了数据验证、日期选择器、数字选择器等功能,以及防止注入攻击、非本页提交和自动分页技术等安全性和性能优化功能。最后,该控件还支持字段值合计和数据导出功能。总之,该控件功能强大且免费,适用于asp.net开发。 ... [详细]
  • 如何实现JDK版本的切换功能,解决开发环境冲突问题
    本文介绍了在开发过程中遇到JDK版本冲突的情况,以及如何通过修改环境变量实现JDK版本的切换功能,解决开发环境冲突的问题。通过合理的切换环境,可以更好地进行项目开发。同时,提醒读者注意不仅限于1.7和1.8版本的转换,还要适应不同项目和个人开发习惯的需求。 ... [详细]
  • 如何更改电脑系统的自动校时服务器地址?
    本文介绍了如何通过注册表编辑器更改电脑系统的自动校时服务器地址。通过修改注册表中的数值数据或新建字符串数值的方式,可以将默认的时钟同步服务器地址更改为自己所需要的域名或IP地址。详细步骤包括双击时间区域,点击internet时间,勾选自动校正域名设置定时等操作。 ... [详细]
  • OCI连接MySQL_PLSQL Developer连接远程数据库OCI客户端安装方法
    本文介绍了使用OCI客户端连接MySQL和PLSQL Developer连接远程数据库的安装方法,避免了在本地安装Oracle数据库或类似的开发套件的麻烦,同时解决了PLSQL Dev连接远程Oracle时的配置问题。 ... [详细]
  • 使用chrome编辑器实现网页截图功能的方法
    本文介绍了在chrome浏览器中使用编辑器实现网页截图功能的方法。通过在地址栏中输入特定命令,打开控制台并调用命令面板,用户可以方便地进行网页截图操作。 ... [详细]
  • Unity3D引擎的体系结构和功能详解
    本文详细介绍了Unity3D引擎的体系结构和功能。Unity3D是一个屡获殊荣的工具,用于创建交互式3D应用程序。它由游戏引擎和编辑器组成,支持C#、Boo和JavaScript脚本编程。该引擎涵盖了声音、图形、物理和网络功能等主题。Unity编辑器具有多语言脚本编辑器和预制装配系统等特点。本文还介绍了Unity的许可证情况。Unity基本功能有限的免费,适用于PC、MAC和Web开发。其他平台或完整的功能集需要购买许可证。 ... [详细]
  • 本文介绍了在Linux中执行.sh脚本时出现/bin/sh^M: bad interpreter: No such file or directory异常的原因分析,并提供了两种解决方法:在Windows下进行编码格式转换,或在Linux中修改文件格式和执行权限。具体操作步骤也在摘要中给出。 ... [详细]
author-avatar
空灵一_一_379
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有