《Python程序设计》教学大纲 课程名称(汉):《Python程序设计》 课程名称(英):Python Programming 课程代码:262101041 课程类型:专业基础课程模块 适用对象:自动化和机器人工程专业大一本科;人工智能专业大二本科 学时/学分:64学时(理论课48学时、实验课16学时)/3.5学分 先修课程:《程序设计基础》、《高等数学》、《学科导论》等。 方案版本:2021版 一、课程简介 《Python程序设计》是自动化、人工智能和机器人工程专业的专业基础课 程。Python是一种跨平台的计算机程序设计语言,是一个高层次的结合了解释 性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本 (shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型 项目的开发。本课程内容包括Python编码规范,函数式编程模式,内置函数与 运算符、列表、元组、字典、集合、字符串等基本数据类型以及推导式、切片、 序列解包等语法。通过本课程的学习使学生掌握Python内置函数与运算符、列 表、元组、字典、集合、字符串等基本数据类型和Python的函数式编程模式, 具有一定的代码调试与集成能力,具备较强的学习能力、资料查阅能力和代码阅 读能力。 二、课程的教学目标 课程目标1: 1)了解Python编码规范,能够编写出优雅的Python程序: 2)熟练使用Python的函数式编程模式: 3)熟练运用Python内置函数与运算符、列表、元组、字典、集合、字符串 等基本数据类型以及推导式、切片、序列解包等语法来解决实际问题: 课程目标2: I)熟练掌握Python选择结构、循环结构、异常处理结构的语法和应用, 能够编写鲁棒性较强的程序: 2)熟练掌握函数设计与面向对象程序设计有关内容,具备一定的代码复用 和设计复用能力: 3)熟练使用字符串对象方法和正则表达式处理文本: 4)熟练掌握文本文件与常见类型的二进制文件操作;
《Python 程序设计》教学大纲 课程名称(汉):《Python 程序设计》 课程名称(英):Python Programming 课程代码:262101041 课程类型:专业基础课程模块 适用对象:自动化和机器人工程专业大一本科;人工智能专业大二本科 学时/学分:64 学时(理论课 48 学时、实验课 16 学时)/3.5 学分 先修课程:《程序设计基础》、《高等数学》、《学科导论》等。 方案版本:2021 版 一、 课程简介 《Python 程序设计》是自动化、人工智能和机器人工程专业的专业基础课 程。Python 是一种跨平台的计算机程序设计语言,是一个高层次的结合了解释 性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本 (shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型 项目的开发。本课程内容包括 Python 编码规范,函数式编程模式,内置函数与 运算符、列表、元组、字典、集合、字符串等基本数据类型以及推导式、切片、 序列解包等语法。通过本课程的学习使学生掌握 Python 内置函数与运算符、列 表、元组、字典、集合、字符串等基本数据类型和 Python 的函数式编程模式, 具有一定的代码调试与集成能力,具备较强的学习能力、资料查阅能力和代码阅 读能力。 二、课程的教学目标 课程目标 1: 1)了解 Python 编码规范,能够编写出优雅的 Python 程序; 2)熟练使用 Python 的函数式编程模式; 3)熟练运用 Python 内置函数与运算符、列表、元组、字典、集合、字符串 等基本数据类型以及推导式、切片、序列解包等语法来解决实际问题; 课程目标 2: 1)熟练掌握 Python 选择结构、循环结构、异常处理结构的语法和应用, 能够编写鲁棒性较强的程序; 2)熟练掌握函数设计与面向对象程序设计有关内容,具备一定的代码复用 和设计复用能力; 3)熟练使用字符串对象方法和正则表达式处理文本; 4)熟练掌握文本文件与常见类型的二进制文件操作;
课程目标3: I)了解不同领域的Python扩展模块并能够解决文件操作、GUI、图形图像 处理、音乐编程与语音识别、视频采集与处理、多线程与多进程编程、数 据库编程、套接字编程、网络爬虫、逆向工程与软件分析、数据分析、科 学计算可视化、密码学、安卓等领域中的实际问题: 2)具有一定的代码调试与集成能力: 3)具有较强的学习能力、资料查阅能力和代码阅读能力: 4)具有一定的代码优化与安全编程意识和能力。 三、课程目标对自动化专业毕业要求的支撑关系 毕业要求 毕业要求指标点(非认证专业可以 课程目标 支撑 省略本项内容) 权重 工程知识 1、2 问题分析 设计/开发解决方案 2、3 工程与社会 使用现代工具方面 1、2、3 0.08 四、教学内容及其基本要求 对应课程 序号 教学内容 教学要求(包括重点难点、教学方法、学生掌握的程度等) 目标 教学目的与要求 熟练安装和搭建Python开发环境,掌握使用 pip在线安装与离线安装扩展库的方法。熟练掌握 运算符、内置函数的用法:了解列表、元组、字典、 集合、字符串等常用Python内置类型:理解变量 的作用和命名规则:掌握标准库对象与扩展库对象 基础知识 的导入和使用。了解Python代码编写规范。理 实验1 Python安 1 装与开发环境搭 解.py、·pyw、pyc扩展名的不同。 1 建 教学重点与难点 重点:使用pip安装和升级Python扩展库。列 表、元组、字典、集合、字符串基本概念,运算符, 内置函数,变量命名。 难点:Python自动内存管理功能。使用pip命 令通过离线whl文件安装扩展库。 教学手段及方式方法
课程目标 3: 1)了解不同领域的 Python 扩展模块并能够解决文件操作、GUI、图形图像 处理、音乐编程与语音识别、视频采集与处理、多线程与多进程编程、数 据库编程、套接字编程、网络爬虫、逆向工程与软件分析、数据分析、科 学计算可视化、密码学、安卓等领域中的实际问题; 2)具有一定的代码调试与集成能力; 3)具有较强的学习能力、资料查阅能力和代码阅读能力; 4)具有一定的代码优化与安全编程意识和能力。 三、课程目标对自动化专业毕业要求的支撑关系 毕业要求 毕业要求指标点(非认证专业可以 省略本项内容) 课程目标 支撑 权重 工程知识 1、2 问题分析 设计/开发解决方案 2、3 工程与社会 使用现代工具方面 1、2、3 0.08 四、教学内容及其基本要求 序号 教学内容 教学要求(包括重点难点、教学方法、学生掌握的程度等) 对应课程 目标 1 基础知识 实验 1 Python 安 装与开发环境搭 建 教学目的与要求 熟练安装和搭建 Python 开发环境,掌握使用 pip 在线安装与离线安装扩展库的方法。熟练掌握 运算符、内置函数的用法;了解列表、元组、字典、 集合、字符串等常用 Python 内置类型;理解变量 的作用和命名规则;掌握标准库对象与扩展库对象 的导入和使用。了解 Python 代码编写规范。理 解.py、.pyw、pyc 扩展名的不同。 教学重点与难点 重点:使用 pip 安装和升级 Python 扩展库。列 表、元组、字典、集合、字符串基本概念,运算符, 内置函数,变量命名。 难点:Python 自动内存管理功能。使用 pip 命 令通过离线 whl 文件安装扩展库。 教学手段及方式方法 1
对应课程 序号 教学内容 教学要求(包括重点难点、教学方法、学生掌握的程度等) 目标 讲解+演示+练习。 教学目的与要求 熟练掌握元素常用方法、切片和列表推导式、 元组用法、序列解包和生成器推导式的用法、字典 常用方法和字典在频次统计方面的应用。理解元组 不可变的特定以及对用法的影响、集合中元素不重 复的特点并能够熟练运用这个特点。 教学重点与难点 Python数据结构 重点:列表对象的方法,列表推导式。 实验2 Python运 序列解包。 2 算符、内置函数、 字典的get(0方法,使用“键”作为下标为字典 1 序列用法 元素赋值语句的两种含义。 集合运算。 难点:原地操作与非原地操作的区别。 生成器对象的惰性求值特点。 使用“键”作为下标为字典元素赋值语句的两 种含义。 集合的大小比较。 教学手段及方式方法 讲解+练习。 教学目的与要求 理解表达式的值与True/False的等价关系、 不同形式选择结构的执行流程。理解for循环和 选择与循环 while的执行流程、带else的循环结构执行流程。 实验3使用蒙 养成优化循环结构代码的习惯和意识。理解break 特·卡罗方法计 和continue语句对程序执行流程的影响。 算圆周率近似 教学重点与难点 值 重点:表达式与True/False的等价关系。 2 实验4实用列 缩进对代码逻辑的影响。 表实现筛选法 for循环、while循环执行流程和使用场合, 求素数 带有else子句的循环结构:循环代码的优化。 break语句的作用。 难点:表达式与True/False的等价关系。 for循环的本质,带有else子句的循环结构。 break语句对带else语句的循环结构的
序号 教学内容 教学要求(包括重点难点、教学方法、学生掌握的程度等) 对应课程 目标 讲解+演示+练习。 2 Python 数据结构 实验 2 Python 运 算符、内置函数、 序列用法 教学目的与要求 熟练掌握元素常用方法、切片和列表推导式、 元组用法、序列解包和生成器推导式的用法、字典 常用方法和字典在频次统计方面的应用。理解元组 不可变的特定以及对用法的影响、集合中元素不重 复的特点并能够熟练运用这个特点。 教学重点与难点 重点:列表对象的方法,列表推导式。 序列解包。 字典的 get()方法,使用“键”作为下标为字典 元素赋值语句的两种含义。 集合运算。 难点:原地操作与非原地操作的区别。 生成器对象的惰性求值特点。 使用“键”作为下标为字典元素赋值语句的两 种含义。 集合的大小比较。 教学手段及方式方法 讲解+练习。 1 3 选择与循环 实验 3 使用蒙 特·卡罗方法计 算圆周率近似 值 实验 4 实用列 表实现筛选法 求素数 教学目的与要求 理解表达式的值与 True/False 的等价关系、 不同形式选择结构的执行流程。理解 for 循环和 while 的执行流程、带 else 的循环结构执行流程。 养成优化循环结构代码的习惯和意识。理解 break 和 continue 语句对程序执行流程的影响。 教学重点与难点 重点:表达式与 True/False 的等价关系。 缩进对代码逻辑的影响。 for 循环、while 循环执行流程和使用场合, 带有 else 子句的循环结构;循环代码的优化。 break 语句的作用。 难点:表达式与 True/False 的等价关系。 for 循环的本质,带有 else 子句的循环结构。 break 语句对带 else 语句的循环结构的 2
对应课程 序号 教学内容 教学要求(包括重点难点、教学方法、学生掌握的程度等, 目标 影响。 编写Pythonic代码、代码优化。 教学手段及方式方法 讲解+练习+作业。 教学目的与要求 理解字符串编码格式,熟练掌握字符串常用方 字符串与正则表 法。了解正则表达式基本语法和标准库re中的常 达式 用函数。 实验5检测密 教学重点与难点 码安全强度 4 重点:正则表达式元字符,re模块函数 实验6凯撒加 findall0、sub0、split0。 密算法原理与 实现 难点:正则表达式语法。 教学手段及方式方法 讲解+演示+练习。 教学目的与要求 熟练掌握函数定义和调用的语法。 理解形参和实参的概念。 理解不同形式的参数传递的区别和用法。 理解return语句的作用、理解没有返回值的 函数设计与使用 函数和有返回值的函数在用法上的区别。 实验7设计和 理解作用域的概念以及对变量访问的影响和 实现聪明的尼 lambda表达式的功能及其适用场合并且能够熟练 姆游戏(人机对 编写函数解决实际问题。 战) 5 理解并熟练掌握Python的函数式编程模式: 2 实验8模拟报 理解函数嵌套定义与修饰器的原理和生成器函数 数游戏(约瑟夫 与生成器对象的工作原理。 环问题) 教学重点与难点 教学重点:调用函数时实参的引用传递给形 参。 不同类型参数的形式和函数调用方式。 局部作用域,全局作用域。 lambda表达式在功能上等价于函数,lambda 表达式的应用场景
序号 教学内容 教学要求(包括重点难点、教学方法、学生掌握的程度等) 对应课程 目标 影响。 编写 Pythonic 代码、代码优化。 教学手段及方式方法 讲解+练习+作业。 4 字符串与正则表 达式 实验 5 检测密 码安全强度 实验 6 凯撒加 密算法原理与 实现 教学目的与要求 理解字符串编码格式,熟练掌握字符串常用方 法。了解正则表达式基本语法和标准库 re 中的常 用函数。 教学重点与难点 重点:正则表达式元字符,re 模块函数 findall()、sub()、split()。 难点:正则表达式语法。 教学手段及方式方法 讲解+演示+练习。 2 5 函数设计与使用 实验 7 设计和 实现聪明的尼 姆游戏(人机对 战) 实验 8 模拟报 数游戏(约瑟夫 环问题) 教学目的与要求 熟练掌握函数定义和调用的语法。 理解形参和实参的概念。 理解不同形式的参数传递的区别和用法。 理解 return 语句的作用、理解没有返回值的 函数和有返回值的函数在用法上的区别。 理解作用域的概念以及对变量访问的影响和 lambda 表达式的功能及其适用场合并且能够熟练 编写函数解决实际问题。 理解并熟练掌握 Python 的函数式编程模式; 理解函数嵌套定义与修饰器的原理和生成器函数 与生成器对象的工作原理。 教学重点与难点 教学重点:调用函数时实参的引用传递给形 参。 不同类型参数的形式和函数调用方式。 局部作用域,全局作用域。 lambda 表达式在功能上等价于函数,lambda 表达式的应用场景。 2
对应课程 序号 教学内容 教学要求(包括重点难点、教学方法、学生掌握的程度等) 目标 代码功能与思路,如何编写Pythonic代码。 函数嵌套定义,修饰器,生成器函数。 常用内置函数和标准库函数的返回值。 教学难点:可变长度参数,参数传递时的序列 解包。 没有返回值的函数调用不能出现在等于号的 右侧。 global关键字的作用,变量访问顺序。 函数嵌套定义,修饰器。 教学手段及方式方法 讲解+演示+练习。 教学目的与要求 了解面向对象程序设计有关的基本概念与术 语:熟练定义和使用类:理解self参数的含义和 类成员与实例成员以及私有成员与公有成员的概 念和区别。 理解类方法、实例方法、静态方法的不同。 熟练定义和使用属性。 理解特殊方法与运算符、内置函数的对应关系 和继承机制的作用和工作原理和方法解析顺序 面向对象程序设 MRO。 计 教学重点与难点 实验9自定义 6 教学重点:class关键字,self参数,私有成2 类实现带超时 员与公有成员。实例方法,类方法,类成员和实例 功能的队列结 成员的访问权限。只读属性、可读可写属性、可读 构 可写可删除属性的定义。特殊方法与运算符、内置 函数的对应关系。Python支持多继承,如果多个父 类中有相同名字的成员,Python解释器将按照从左 向右的顺序在所有父类中进行搜索,并且使用第一 个遇到的成员。 教学难点:self参数,私有成员。 类成员和实例成员的访问权限。 函数property()的用法。 特殊方法与运算符、内置函数的对应关系和方
序号 教学内容 教学要求(包括重点难点、教学方法、学生掌握的程度等) 对应课程 目标 代码功能与思路,如何编写 Pythonic 代码。 函数嵌套定义,修饰器,生成器函数。 常用内置函数和标准库函数的返回值。 教学难点:可变长度参数,参数传递时的序列 解包。 没有返回值的函数调用不能出现在等于号的 右侧。 global 关键字的作用,变量访问顺序。 函数嵌套定义,修饰器。 教学手段及方式方法 讲解+演示+练习。 6 面向对象程序设 计 实验 9 自定义 类实现带超时 功能的队列结 构 教学目的与要求 了解面向对象程序设计有关的基本概念与术 语;熟练定义和使用类;理解 self 参数的含义和 类成员与实例成员以及私有成员与公有成员的概 念和区别。 理解类方法、实例方法、静态方法的不同。 熟练定义和使用属性。 理解特殊方法与运算符、内置函数的对应关系 和继承机制的作用和工作原理和方法解析顺序 MRO。 教学重点与难点 教学重点:class 关键字,self 参数,私有成 员与公有成员。实例方法,类方法,类成员和实例 成员的访问权限。只读属性、可读可写属性、可读 可写可删除属性的定义。特殊方法与运算符、内置 函数的对应关系。Python 支持多继承,如果多个父 类中有相同名字的成员,Python 解释器将按照从左 向右的顺序在所有父类中进行搜索,并且使用第一 个遇到的成员。 教学难点:self 参数,私有成员。 类成员和实例成员的访问权限。 函数 property()的用法。 特殊方法与运算符、内置函数的对应关系和方 2