毛华均

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

turtle简介

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

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

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

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

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

turtle创意编程教学模式

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

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

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

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

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

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

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

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

·学生展示作品

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

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:树

递归加上创意,可以画出各种风格和形态的树。

下面这棵爱心树引入了随机,每次运行的爱心分布是不一样的。

表1

教学课题

PytHon中的自定义函数

函数是程序语言教学中的一个难点。除了语法规范外,更难的是学会把大问题分解为小问题的解决问题的思路。学生前面已经学习过程序的3种控制结构和常见绘图语句。本课引入函数的定义和使用。借助PytHon的turtle绘图库,可以让学生在有趣的创意编程实践中学习函数的定义和使用,经历利用函数解决问题的过程。这是函数的第1节课,所以变量的定义域等其他细节可以在下节课讲或学生遇到时告诉他。

教学目标

(1)了解函数的定义和调用。

(2)在创意编程实践中,体会函数的定义和调用方法。

(3)通过创意编程实践,了解利用自定义函数解决问题的一般过程和方法。

(4)通过创意编程实践,增强利用函数优势分解和解决问题的意识。

教学准备

准备Python自定义函数的相关资料,重新组织成学生容易看懂、重点突出的学习材料。放在学生容易获取的地方。

教学引入的案例(学生前几次课的作品)和一些优秀的turtle绘图案例。

教学过程

pythonturtle作品编程技巧说明_在Python教学中应用turtle创意编程实践相关推荐

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

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

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

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

  3. python编程小知识_分享Python开发中要注意的十个小贴士

    大家请注意:这篇文中假设我们都用的是Python 3 1. 列表推导式 你有一个list:bag = [1, 2, 3, 4, 5] 现在你想让所有元素翻倍,让它看起来是这个样子:[2, 4, 6, ...

  4. python图形化编程 在线教程_使用Python Editor进行在线图形化编程

    先介绍使用Python Editor进行在线开发newbit(microbit)的方法,这也是官方推荐的方法之一.Python Editor是一个在线的开发环境,所以需要连接网络才能使用. 首先打开浏 ...

  5. python打折简单程序每满_丰满Python程序设计基础【实境编程】_高校邦_答案

    丰满Python程序设计基础[实境编程]_高校邦_答案h779 丰满Python程序设计基础[实境编程]_高校邦_答案 关注公众号{帅搜}即可查询答案 支持:大学网课,智慧树,知到,超星,尔雅,学习通 ...

  6. 敲代码括号技巧_老码农的「锦囊」:10个编程技巧、5个纠错步骤,让你的编程之路少点坎坷...

    善始者实繁,克终者盖寡,这句话用来学习编程的过程也很合适.在成为顶尖选手之前,总会遇到很多困难,甚至想放弃.本文作者 Jeff Hale 是 Medium 社区中非常有名的人工智能和技术领域的专栏作家 ...

  7. python函数式编程读取数据时出现错误_写 Python 代码不可不知的函数式编程技术...

    原标题:写 Python 代码不可不知的函数式编程技术 选自 Medium 作者:Raivat Shah 参与:魔王.Jamin 本文对 Python 中的函数式编程技术进行了简单的入门介绍. 近来, ...

  8. python 函数式编程 库_使用Python的toolz库开始函数式编程的方法

    在这个由两部分组成的系列文章的第二部分中,我们将继续探索如何将函数式编程方法中的好想法引入到 Python中,以实现两全其美. 在上一篇文章中,我们介绍了不可变数据结构 . 这些数据结构使得我们可以编 ...

  9. python青少年编程比赛_第十一届蓝桥杯大赛青少年创意编程组比赛细则

    蓝桥杯大赛组委会官网在2019/10/12号发布了关于举办第十一届蓝桥杯大赛青少年创意编程组比赛的通知,详情如下: 蓝桥杯全国软件和信息技术专业人才大赛组委会 蓝桥杯组委会字[2019]57号 关于举 ...

  10. python创意编程是什么_中学生Python创意编程

    本书以Python 3.7为编程工具,共分8个单元,从易到难,从基础应用到综合实战,详细讲解Python创意编程的方法和思维. 本书通过丰富有趣的实例,帮助学生学习编程思维方式,掌握Python编程基 ...

最新文章

  1. Linux环境编译安装Mysql以及PHP中文乱码解决
  2. [置顶]       强大的jquery选择器
  3. 中国农民丰收节交易会李喜贵演讲 微量元素运用功能农业
  4. python中变量名后的逗号_深入浅析python变量加逗号,的含义
  5. 为有朝一日自己弄个玩具玩而准备
  6. html旋转代码_付费?是不可能的!20行Python代码实现一款永久免费PDF编辑工具
  7. Golang笔记——go使用Redis
  8. Java 六种异常处理的陋习
  9. Activiti保存.png 流程图片文件且解决idea中保存图片时显示中文乱码的解决方法
  10. PS教您与粗壮的胳膊拜拜
  11. 5.7.2.4 random() 方法
  12. 数字证书国产化的趋势
  13. 怎样查看PPT中的字数
  14. win7访问服务器共享文件夹提示没有权限,win7系统无法访问共享文件夹提示权限不足的解决方法...
  15. 高效的睡眠——睡眠革命
  16. iPad的尺寸与分辨率
  17. Android Studio个人使用记录
  18. 蘑菇街iOS客户端应用源码
  19. iOS微信第三方登录实现
  20. virtualBox上Ubuntu的网络设置(万能方法)

热门文章

  1. 【爱心】JAVA表白代码——属于程序员的浪漫
  2. Windows 10/11【家庭版】设置本地账户密码永不过期的方法
  3. 微信自定义二维码扫码支付
  4. 蓝色主题登陆页面界面模板
  5. solidworks电气元件3d库_丨部件库丨西门子3RV6电机保护开关
  6. 计算机网络:计算路由表下一跳
  7. vue在新的标签页打开pdf文件
  8. 海南大学考研经验之(考研英语)
  9. mod mpm event php7.1,CentOS 7 安裝 PHP-FPM 及使用 mod_mpm_event
  10. 栈的特点及其基本操作