推荐图书1:《中学生可以这样学Python(微课版)》,董付国、应根球,清华大学出版社,ISBN:9787302554639

《中学生可以这样学Python》84节微课免费观看地址

《中学生可以这样学Python》章节习题参考答案

推荐图书2:《Python编程基础与案例集锦(中学版)》,董付国,应根球,电子工业出版社,ISBN:9787121355394

《Python编程基础与案例集锦(中学版)》80课视频免费观看地址

==============

本文PPT是董付国老师在“全国青少年STEAM创客教育论坛暨粤东青少年创客文化节”的报告内容。

学习任何程序设计语言,都应结合具体的实际问题,不可空学语法纸上谈兵,更不能把程序设计作为一门孤立的课来讲。作为大学任课教师,可以结合学生专业理论课中的理论、算法或问题来讲Python;作为中学信息技术老师,可以结合学生数学、物理、化学、生物、地理、历史等课程中的问题。大家都在学Python,你和别人的差距在哪?

编写程序永远都是最后一步。万不可拿到问题就急急忙忙开始写代码,应该对问题进行深入分析,选择或设计相应的算法并进行足够的优化,最后再写代码实现。

充分利用问题背后的规律或关系,尽最大可能消除重复计算和不必要的计算,是算法优化的核心思想。

有了足够优化的算法之后,还应考虑代码层面的优化,充分发挥和挖掘所用程序设计语言自身的优势和提供的机制,进一步提高效率,降低时间复杂度和空间复杂度。在优化Python程序时,消除循环是提高运行速度的重要方式之一。

内置函数map()、filter()和标准库函数reduce()在底层封装了循环结构,可以大幅度提高效率,函数式编程模式是优先推荐使用。另外,下面的第二段代码使用内置类型int巧妙实现了安全展开式的计算,比列表推导式的等价代码快上百倍。但演示代码中涉及的问题并不是通用的,主要是提供一个思路,遇到具体问题还需要具体分析和优化。

如何利用有限的学时来覆盖、讲授和演示尽可能多的知识点,是老师对相关知识掌握程度和教学设计、课堂掌控能力的综合考验。案例不一定要多,但是一定要“精”,尽量设计或选择能够包含多个语法知识的教学案例。例如,下面的代码中演示了Python关键字else的4种用法。

在开发大型或商用项目时,不应只考虑正常情况下程序的逻辑,还需要花费大量时间和精力来考虑异常情况下的逻辑,保证程序在非正常条件下仍有相对正常的表现。凡需要用户提供输入的场景,都必须要对用户输入进行严格的检查和过滤。下面的代码中,重点关注字符串方法lower()和关键字in的使用,这也是代码优化的一个体现。

在下面的代码中,左上角代码是对组合数定义进行展开并约分后得到的表达式进行计算。右下角代码是对计算组合数的帕斯卡公式的实现,利用Python标准库提供的缓冲机制大幅度消除重复计算来提高上万倍的速度,右上角是对应的二叉树原理。左下角代码演示的Python 3.8之后的标准库math中已经提供了组合数计算函数,可以直接使用。

下面第一段代码中最后的break删除之后运行结果仍是正确的,但是加上这句break的话代码质量立刻有了大幅度提升,说明写代码的人对问题进行了分析,而不是简单地从数学到代码的简单翻译。因为从数学上来讲,鸡兔同笼问题实际上是个二元一次方程组的求解问题,众所周知二元一次方程如果有解的话必然是唯一解。所以在循环中找到一组解之后不需要继续循环,不可能有其他解了。第二段代码是把二元一次方程组的数学求解过程直接翻译成程序了。

技术是个双刃剑,我们在运用技术时,必须严格遵守相关法律法规、计算机伦理学和职业道德,不可凭借技术优势肆意妄为,网络不是法外之地。

下面案例涉及的问题在网络上叫“中国式过马路”,但实际上同样的问题在任何国家任何城市都是存在的,叫“中国式过马路”是对我们的不尊重,所以我在教学中选用这个案例时改成了“集体过马路”,每一个人都应该像爱护自己的家一样去爱护我们的祖国。我们在案例选择时需要消除其中的歧视性因素,必要的时候进行适当修改。

温馨提示:

关注微信公众号“Python小屋”,在公众号后台发送消息“大事记”可以查看董付国老师与Python有关的重要事件;发送消息“教材”可以查看董付国老师出版的Python系列教材(已累计印刷超过140次)的适用专业详情;发送消息“历史文章”可以查看董付国老师推送的超过1000篇原创技术文章;发送消息“会议”或“培训”可以查看近期董付国老师的培训安排;发送消息“微课”可以查看董付国老师免费分享的超过600节Python微课视频;发送消息“课件”可以查看董付国老师免费分享的Python教学资源;发送消息“小屋刷题”可以下载“Python小屋刷题神器”,免费练习2066道客观题和424道编程题,题库持续更新;发送消息“编程比赛”了解Python小屋编程大赛详情。

报告PPT--Python程序设计,不仅仅是学习编程(35页)相关推荐

  1. 报告PPT|Python编程之美(45页)

    封面图片:<Python可以这样学>(ISBN:9787302456469),董付国,清华大学出版社 图书详情: ===================== 本文PPT是2019年7月22 ...

  2. python程序设计报告-《Python程序设计》 实验报告.doc

    <Python程序设计> 实验报告 温州大学瓯江学院数学与信息工程学院 <Python程序设计> 实验报告 实验名称: 实验3 Python基本数据类型 班 级: 计算机一班 ...

  3. 报告PPT|Python网络程序设计教学要点与案例分享(含音频)

    推荐教材: <Python网络程序设计>(ISBN:978-7-3025-8312-7),董付国著,清华大学出版社,2021年7月出版 配套资源:教学大纲.课件.91个例题源码.教案.20 ...

  4. python实践报告——通过python程序设计实现德州扑克

    文章目录 前言 一.项目概述 二.项目实现 1.引入库 2.实现卡牌类 3.实现扑克类 4.实现玩家类 总结 前言 通过python设计程序实现德州扑克 一.项目概述 1.1项目目标和主要内容 设计程 ...

  5. oracle课程设计摘要,Oracle程序设计课程设计概要(doc 35页)

    Oracle程序设计课程设计概要目录: <Oracle数据库应用与开发实例教程>是学习数据库技术的高级阶段课程,读者应该在选择学习<数据库应用基础实例教程>.<Acces ...

  6. 重要更新|《Python程序设计开发宝典》例12-7代码有bug

    下图是<Python程序设计开发宝典>第330页例12-7的代码,本意是使用多线程技术进行文件复制,重点演示嵌套函数定义.多线程编程技术以及队列在多线程同步时的用法. 在代码中,使用内嵌函 ...

  7. 如何学习编程——来自认知科学的四个建议

    写的蛮好的,忽略一些背景内容,干货不少.转载自:http://www.yangzhiping.com/psy/learn-coding.html --------------------------- ...

  8. 少儿学习编程课程是否真的适合七八岁的低龄儿童[图]

    2019独角兽企业重金招聘Python工程师标准>>> 少儿学习编程课程是否真的适合七八岁的低龄儿童[图]: 天下熙熙皆为利来,天下攘攘皆为利往. 这几年来,乐高教育机构在国内如同雨 ...

  9. python编程成果_20192217 2019-2020-2 《Python程序设计》实验四报告

    20192221 2019-2020-2 <Python程序设计>实验四报告 课程:<Python程序设计> 班级:1922班 姓名:程子轩 学号:20192217 实验教师: ...

最新文章

  1. R语言包_lubridate
  2. MongoDB基本命令的使用
  3. springboot启动_Spring boot启动原理解析
  4. 23种设计模式之门面模式
  5. 【英语学习】【Level 07】U05 Best Destination L5 Top choice
  6. 关于PredicateT委托
  7. iOS正确获取时间戳的代码
  8. Python+Pid实现车辆速度跟踪
  9. 知识图谱-构建:知识图谱构建流程【本体构建、知识抽取(实体抽取、 关系抽取、属性抽取)、知识表示、知识融合、知识存储】
  10. Linux搭建Redis集群(搭建集群必看)
  11. WINRAR诊断信息:不可预料的压缩文件末端
  12. 我的win10平板维修,重刷系统的经验,windows pe5.0拯救我的平板
  13. excel 按照范围替换
  14. 机械手编程用c语言,51单片机机械手控制C程序.doc
  15. 目标检测——梯度均衡机制GHM(Gradient Harmonized Mechanism)的理解
  16. CTF-PHP反序列化漏洞1-基础知识
  17. HDU-1814-TwoSAT
  18. c语言实现小游戏-扫雷
  19. 联想 p系列服务器,全面解读联想ThinkStation P系列工作站
  20. ubuntu armv7l安装docker-comose

热门文章

  1. maya 白天室内灯光_Maya+Arnold常用灯光详解!
  2. autojs toast 可以改变字体颜色吗_喃喃札记 | 你真的需要一部pad做笔记吗?
  3. c语言1E3是什么数据类型,C语言课件第2章数据类型和表达式.ppt
  4. mysql结果行数_取得数据库结果集中的行数
  5. 计算机应用技术基础教案,计算机应用技术基础实训教案.doc
  6. 二分查找向上还是向下取整_二次构造柱泵向上输送方便还是向下输送方便
  7. vue实现多行数据提交_Vue+Mockjs,模拟接口数据,实现前后端独立开发
  8. mysql datahost ha_mysql MySQL数据库高可用HA实现
  9. plsql口令过期_Oracle 11g中密码过期问题详解
  10. springboot 实现机器学习_SpringBoot架构浅谈