原标题:[专题]在Python教学中应用turtle创意编程实践

创意编程是用编程实现自己创意的过程。在2017年的信息技术新课程标准中,计算思维是信息技术的核心素养。计算思维是指利用计算机科学领域的思想方法,在形成问题解决方案的过程中产生的一系列思维活动。在创意编程中,需要把问题转化为适合计算机表达和处理的形式,并选择适合计算机处理的方法,利用计算作为工具实现自己的创意。创意编程的目标是编程实现自己的创意,其核心也是计算思维。同时创意编程更看重可视化和趣味性,让编程更有趣,学生更有成就感。

turtle简介

Python语言自带的turtle绘图包,情景来源是小海龟在海滩上爬行,尾巴在沙滩上拖出线条。利用turtle画图具有logo语言的特征,很适合创意编程。这是因为它有以下特点。

●首先是实现简单。只需要少量函数就可以完整实现平面上绘图的功能,学习的门槛低。

●其次是环境依赖小。只要安装了Python语言,就自带了turtle库,而且不用设置,默认就可以用。这样学生就不会在环境搭建等方面耗费精力,把注意力都放在创意编程上。

●第三是学生的发挥空间大。turtle库只提供了少量的基本绘图函数,一些高级的功能和函数则没有涉及。这在思维和创意上给学生发挥的空间,有利于他们创造性地解决问题。虽然turtle基本功能简单,但和Python语言结合紧密。二者结合表达能力很强,可以实现很好的效果。

●第四是可视化好、趣味性好。turtle在屏幕上面运动,虽然可以通过指定坐标绘图,但也可以直观地用左转、右转、前进、后退完成。另外,turtle本身就可以表现出绘画的过程,从而在某种程序上实现动画效果。

turtle创意编程教学模式

基于实现信息技术核心素养的课程,需要把课程重点放在创作作品、实践创意编程上。创意编程实践是重点,知识细节讲解不应成为课堂重点。

用turtle创意编程的课程基本模式为:

● 以创作难度递进的项目为教学主线,整体设计课程

● 根据教学目标,设计贴近学生的教学情境

● 根据教学内容特点,选择恰当的教学方法

● 提供有针对性的学习资源和样例

● 给出有针对性的技术支持

● 布置难易适中的创意实践内容

● 学生展示作品

教师的主要工作是根据教学内容创设情景,有针对性地设计课堂引入,精讲典型案例,提供教学资源,解答学生疑问,组织作品展示等。

turtle创意编程学生作品展示

北大附中的Python教学中,有一部分内容涉及turtle绘图和创意编程实践。从实际情况看,创意编程能调动学生的学习热情,学生们的作品很有创意。大家编写了各种创意程序作品,有静态的、动态的。静态创意图形由点和线构成,如果设置好颜色和笔画粗细,也可以有很好的效果。

创意编程作品1:卡通小人

创意编程作品常常来源于学生生活中喜欢的事物,如饰品。这个绘制卡通的程序只用了简单的圆和线,但大小比例和形态都是学生喜欢的样子。程序只用到了顺序结构和循环,但作品透出浓浓的学生风,很有创意。

创意编程作品2:机器人园丁

机器人也是学生喜欢的主题,如下面的正在给草地上的花精心浇水的盒子机器人。这个程序的童趣很浓,一是作品本身的内容和风格,二是代码很有初学者特点,如:在画机器人的头部时,用的都是顺序结构,一点一点通过绝对坐标值确定位置,导致程序代码有200多行。作为一个初学者,为了画出浇水的效果,试了很多方法,最后摸索出了用描点法画函数曲线的方法。

创意编程作品3:坦克

军事元素也是学生喜欢的主题。虽然只会画简单的几何图形,但也能静下心来一点一点调试,画出了下面的坦克作品。虽然作品的编程风格很初级,基本只使用顺序结构,但学生小心地不厌其烦地调整各个画图语句的数值,拼出坦克的效果,从中可以看到学生的兴趣、专注和精益求精的精神。

创意编程作品4:超级马里奥

这个学生明显是《超级马里奥》的玩家,蘑菇、马里奥都是由一个一个像素点构成,但还原度很高。编写这个程序,学生需要投入大量的热情,因为这个程序有700多行。程序中用到了很多自定义函数,所以主程序很短,结构清晰。代码中用到了太多的坐标数值,有些影响可读性。但代码的注释较多,又改善了代码的可读性。

创意编程作品5:乌龟画图板

这是一个绘图应用程序。绘图方式很有特点,先利用键盘上的方向键移动乌龟标志,找到要写的位置。再按p键,用前景色绘制1个边长25×25的正方形色块。如果按e键则会用白色绘制1个边长25×25的白色正方形色块(擦除)。按y/h、u/j、i/k分别增加和减少前景色的红色分量、绿色分量、蓝色分量,用RGB函数合成颜色合为前景色,并把前景色效果显示在绘图板的右下方。

如果学生学会用递归解决问题,则他们还可以利用递归创作一些有趣的作品。这种作品明显地具有自相似的特点。

创意编程作品6:小虫子

这个同学画的小虫子主要由若干个不同大小和位置的圆构成。

创意编程作品7:树

递归加上创意,可以画出各种风格和形态的树。下面这棵爱心树引入了随机,每次运行的爱心分布是不一样的。

(以上编程作品的程序代码可访问杂志官网下载)

本文原载于《中国科技教育》2019年第6期"专题”栏目,作者毛华均,有删减。中国青辅协会员可点击"阅读原文”登录杂志官网免费浏览全文。

中国科技教育

cnstedu

责任编辑:

python创意turtle作品-[专题]在Python教学中应用turtle创意编程实践相关推荐

  1. python创意小作品-[专题]在Python教学中应用turtle创意编程实践

    原标题:[专题]在Python教学中应用turtle创意编程实践 创意编程是用编程实现自己创意的过程.在2017年的信息技术新课程标准中,计算思维是信息技术的核心素养.计算思维是指利用计算机科学领域的 ...

  2. python创意turtle作品和代码,python创意编程比赛作品

    这篇文章主要介绍了python创意turtle作品和代码,具有一定借鉴价值,需要的朋友可以参考下.希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下. 1.创意编程与python编程区别 ...

  3. 计算机科学 高中研究项目,高中信息科技教学中渗透计算机科学史的实践研究...

    摘要: 从2001年起,上海的小学开始开设<信息科技>必修课,宣告了信息科技课程在上海基础教育阶段的全面铺开,也预示着上海的教育全面步入了"信息"时代.这是上海作为国际 ...

  4. 小学计算机上课课前导入视频教程,小学信息技术教学中微视频的导入实践分析...

    杨建兴 摘 要:小学信息技术课程是小学基础教育课程体系中的重要组成部分,教师正在不断探索新型的信息技术课程教学方法,旨在优化其教学过程,让学生能够在信息技术课程的学习过程中乐于主动学习,以保证小学信息 ...

  5. python创意小作品代码-用Python写过哪些「脑洞大开」的小工具?

    添了点说明 --------------------------- - #### 更新一个 有年狂风暴雨,就是风很大雨很大,我一直很关注天气,就爬了气象网站的气象雷达图,然后做成gif.此图中间十字坐 ...

  6. 五边形创意画_儿童美术创意绘画图片_儿童美术创意绘画作品

    观察,通俗一点讲就是去看,当然不是随便一看,要通过"看"来提高辨别事物的能力.在美术教学中观察的重要性不仅仅适应于绘画领域,下面是小编整理的儿童美术创意绘画图片. 儿童美术创意绘画 ...

  7. 数据结构c语言版袁和金答案,_数据结构_课程教学中的案例设计及应用_袁和金.pdf...

    _数据结构_课程教学中的案例设计及应用_袁和金 第 16 期 90 2013 年 8 月 25 日 Computer Education G642 袁和金 (华北电力大学 计算机系,河北 保定 071 ...

  8. 计算机在教学中的应用参考文献,中职计算机课项目教学法的应用研究结论与参考文献...

    第七章 结论与启示 经过一个学期的教学实践证明,在中职计算机基础课程中应用项目教学法,能有效地激发学生的学习兴趣,提高学生的学习效果,学生能够综合运用所学的程序设计知识独立开发项目,增强学生的自信心, ...

  9. 单片机c语言程序设计中可以不分大小写,论单片机课程教学中C语言编程的规范性...

    摘 要 文章针对"单片机C语言程序设计"教学中存在的编程困扰,提出在教学实践中重视引导学生进行模块化.规范性程序设计,强调规范化编程对学生理解程序的结构与功能的重要作用,并贯穿于课 ...

最新文章

  1. 基于机器学习的文本分类!
  2. Unity3D各平台路径(包括手机内置存储路径、SD卡等等)
  3. sizeof(函数名)=?
  4. 多进程单线程模型与单进程多线程模型之争
  5. (十一)boost库之多线程间通信
  6. java 8 stream中的Spliterator简介
  7. 01-申明变量及变量命名
  8. 表格列mouse经过时高亮显示
  9. C语言计算一个数的平方根立方根,怎样快速计算出一个数的平方根立方根?
  10. Linux 进程间通讯详解一
  11. 学习和使用web标准的十大理由
  12. STM32 - 定时器的设定 - 基础 - 05 - Arbitrary waveform generation using timer DMAburst feature - 任意波形的序列产生
  13. 「微信小程序」有哪些冲击与机会?
  14. 计算机网络系统有哪些核心技术,区块链核心技术体系架构的网络层主要包括什么...
  15. python聊天室(tkinter写界面,treading,socket实现私聊群聊查看聊天记录,mysql存储数据)
  16. 财务管理系统-数据库模块
  17. c语言低通滤波参数调节,低通滤波器的参数设置
  18. ios使用友盟分享到QQ/微信时时如何判断手机上是否安装了QQ以及微信的客户端
  19. Docker 配置 国内 阿里云、网易云 镜像加速!
  20. GD32 SPI DMA收发

热门文章

  1. SwiftUI模仿微信 聊天list
  2. pymatgen-2022.2.10-cp39-cp39-win_amd64.whl is not a supported wheel on this platform.
  3. 微信 设置新消息提醒铃声(自定义铃声)
  4. iOS --- 数学函数 Math Functions
  5. java 数学计算库_数学计算工具类
  6. NetDevOps实践(一)华为CE交换机:基线检查——本机发往日志服务器的IP与设备的LoopBack 0下的IP进行对比
  7. yum源配置 介绍,概念,本地源与网络源
  8. 11个冷门但好用的Word技巧
  9. 为了混圈子,她花光20万积蓄买爱马仕包:你没价值,混进再牛的圈子也没用...
  10. 爬虫技术助推Nifty Gateway数字收藏品市场