Python语言基础及应用课程详细信息

课程号 01230440 学分 2
英文名称 Python Programming and Application
先修课程 本课面向全校文理科编程零基础学生,无先修课程。
中文简介 本课基于主讲教师在北京大学讲授数据结构与算法课(Python版)的多年教学实践经验,面向零编程基础的大学生和社会公众,全面讲授Python语言基础,培养学生计算思维的能力,并讲解Python语言中经典的扩展模块,让学生能用Python语言解决各种常见问题。
本课内容包括编程与计算思维、Python语言历史、开发环境、程序设计风格和语言整体概览、基本数据类型和容器类型、基本计算语句和控制流结构、函数定义与参数、若干基本扩展模块介绍与应用、面向对象编程、例外处理和生成器等高级语言特性、若干高级扩展模块的介绍与应用。
本课注重Python语言的实践与应用,在课程中穿插了生动案例和编程练习,引导学生积极建立计算思维模式,通过程序算法解决问题来加深对编程语言的学习体会。并具备进一步继续学习数据结构与算法、人工智能、大数据处理等课程的能力。
英文简介 Based on the lecturer's years of experience in teaching data structure and algorithms at Peking University (Python Edition), this course is designed for undergraduates and the public who are based on zero programming, provides a comprehensive teaching of the Python language base, develops the students' ability to calculate and think, and explains the classic expansion modules in the Python language so that students can solve a variety of common problems in the Python language.
This lesson includes programming and computing thinking, Python language history, development environment, programming style and overall overview of languages, basic data types and container types, basic computing statements and control flow structures, function definitions and parameters, several basic expansion modules introduction and application, advanced language features such as object-oriented programming, exception processing and generator, and several advanced expansion modules introduction and application.
This lesson focuses on the practice and application of the Python language, inserting vivid cases and programming activities into the curriculum, guiding students to actively build a computational thinking model, and solving problems through program algorithms to deepen their understanding of the programming language. And the ability to further continue to learn about data structures and algorithms, artificial intelligence, big data processing, and more.
开课院系 地球与空间科学学院
通选课领域  
是否属于艺术与美育
平台课性质  
平台课类型  
授课语言 中文
教材 Python语言及其应用,[美] 卢布诺维克(Bill Lubanovic) 著,丁嘉瑞,梁杰,禹常隆 译,人民邮电出版社,2015,1,9787115407092;
Python从入门到项目实践,明日科技 著,吉林大学出版社,2018,
参考书 1,9787569226614;
教学大纲 本课程的目标,重点在于讲授Python语言的基本语法以及一些常见Python模块的基本用法,让学生养成良好的代码书写习惯,培养计算思维能力,从而为进一步学习其他编程专业课程和运用编程语言解决生活中的一些问题打下坚实的基础。
本课内容包括编程与计算思维、Python语言历史、开发环境、程序设计风格和语言整体概览、基本数据类型和容器类型、基本计算语句和控制流结构、函数定义与参数、若干基本扩展模块介绍与应用、面向对象编程、例外处理和生成器等高级语言特性、若干高级扩展模块的介绍与应用。
一、引子
       课程1 我们为什么要学习编程?
课程2 程序是什么?如何用计算思维解决问题?
课程3 Python语言的历史和现状
二、Python语言介绍
课程4 Python语言运行环境(Windows/macOS/Linux)
课程5 第一个Python程序
课程6 集成开发工具PyCharm
课程7 上机练习:体验Python程序
课程8 Python程序设计风格
三、Python语言概览
       课程9 数据对象及其组织
课程10 计算和控制流
四、数据类型
课程11 基本类型:数值(int/float/complex)
课程12 基本类型:逻辑值(bool)
课程13 基本类型:字符串(str)
课程14 变量和引用
课程15 上机练习:基本数据类型
课程16 容器类型:列表和元组(list/tuple)
课程17 容器类型:字典(dict)
课程18 容器类型:集合(set)
课程19 可变类型和不可变类型
课程20 建立复杂的数据结构
课程21 输入和输出(input/print)
课程22 上机练习:容器类型操作
五、计算和控制流
       课程23 表达式和调用
课程24 赋值语句
课程25 控制流:条件分支语句(if)
课程26 控制流:条件循环(while)
课程27 控制流:迭代循环(for)
课程28 上机练习:基本的计算程序
课程29 代码组织:函数(def)
课程30 代码组织:函数的参数
课程31 上机练习:创建并调用函数
课程32 引用扩展模块(import)
六、基本扩展模块
课程33 时间相关:datetime模块
课程34 时间相关:calendar模块
课程35 时间相关:time模块
课程36 几个算术模块(math/cmath/decimal/fractions/random)
课程37 持久化模块(shelve)
课程38 文本文件读写
课程39 上机练习:计时和文件处理
课程40 简单的图形界面(easygui)
课程41 海龟制图(turtle)
课程42 上机练习:简单绘图
七、高级特性
课程43 面向对象:什么是对象?
课程44 面向对象:类的定义与调用
课程45 面向对象:类定义中的特殊方法
课程46 自定义对象的排序
课程47 面向对象:类的继承
课程48 上机练习:类和对象
课程49 例外处理
课程50 推导式
课程51 生成器函数
课程52 上机练习:生成器
八、高级扩展模块
课程53 图像处理库(PIL)
课程54 Web服务框架(Flask)
课程55 矩阵处理库(numpy)
课程56 数据可视化(matplotlib)
课程57 上机练习:高级扩展模块应用
课堂讲授和上机实践,并配合慕课进行翻转课堂教学。
百分制,慕课占30%,平时作业占30%,期末考试占40%
教学评估 陈斌:
学年度学期:18-19-3,课程班:Python语言基础及应用1,课程推荐得分:0.0,教师推荐得分:9.39,课程得分分数段:90-95;
学年度学期:19-20-3,课程班:Python语言基础及应用1,课程推荐得分:0.0,教师推荐得分:8.27,课程得分分数段:85-90;