《Python程序设计与数据采集》教学大纲

您所在的位置:网站首页 python数据分析与应用选择题答案 《Python程序设计与数据采集》教学大纲

《Python程序设计与数据采集》教学大纲

2023-05-17 09:42| 来源: 网络整理| 查看: 265

2. 素养目标

二、教学中应注意的问题

三、教学内容与教学重点

第1 章 Python开发环境搭建与使用

第2 章 内置类型、内置函数与运算符

第3 章 程序控制结构

第4 章 列表、元组

第5 章 字典与集合

第6 章 字符串

第7 章 函数定义与使用

第8 章 基于文件和设备的数据采集

第9 章 基于SQLite数据库的数据采集

第10 章 基于网页的数据采集

四、各章节课时分配

五、教材、参考书目与在线练习平台

课程名称:Python 程序设计/Python数据采集 课程编号:

课程性质:限制性选修考核方式:考查

建议学时:32+32 或48+16

前导课程:无

适用专业:计算机科学与技术、数据科学与大数据技术等相关专业

一、总体教学目标和要求

1.能力目标

1) 能够熟练搭建Python开发环境,了解Python 编码规范;

2) 熟练使用Python 的函数式编程模式,能够编写出优雅的Python程序;

3) 熟练运用Python 内置函数与运算符、列表、元组、字典、集合、字符串等基本数据类型以及推导式、切片、序列解包等语法来解决实际问题;

4) 熟练掌握Python 选择结构、循环结构、异常处理结构的语法和应用,能够编写鲁棒性较强的程序;

5) 熟练掌握函数设计有关内容,具备一定的代码复用和设计复用能力;

6) 熟练使用字符串对象方法以及运算符、内置函数、部分标准库函数和扩展库对字符串的操作;

7) 熟练掌握文本文件与常见类型的二进制文件操作,熟练掌握文件夹遍历的方法;

8) 熟练掌握从文本文件、Word 文件、Excel文件、PowerPoint文件、PDF文件、图像文件、音频文件、视频文件等不同类型文件中采集数据的技术;

9) 熟练掌握从麦克风、扬声器、摄像头、温度湿度传感器等不同类型设备中采集数据的技术;

10) 熟练掌握从SQLite 数据库中采集数据的相关技术;

11) 熟练掌握从网页上采集文字、图像、文件等不同类型数据的技术;

12) 具有一定的代码调试与集成能力,具有较强的学习能力、资料查阅能力和代码阅读能力,具有一定的代码优化与安全编程意识和能力。

2. 素养目标

1)培养学生关注程序设计语言的发展现状与前景;

2)培养学生动手能力和探索精神;

3)引导学生遵守标识符命名规范、接口定义与调用规范、数据采集规范;

4)培养学生优化代码、复用代码的意识;

5)培养学生编写优雅代码的习惯和意识;

6)培养学生学以致用的习惯和意识;

7)培养学生精益求精的工匠精神;

8)引导学生遵守大数据伦理学与相关职业道德;

9)培养学生团队协作能力和交流沟通能力;

10)培养学生的民族责任感、社会责任感和家国情怀。

二、教学中应注意的问题

Python 编程模式中非常重要的一条是代码要优雅、简洁、直观。除了保证功能正确和适当优化之外,同时还应保证代码具有较强的可读性和可维护性。

在教学过程中需要特别注意的是,不要使用其他编程语言的思维去理解和使用Python ,不要在Python程序中带有其他编程语言的痕迹,要尽量从最简单的角度去思考和解决问题、实现自己的想法和思路,保证代码的优雅、简洁,让代码更加Pythonic。

Python 是以快速解决问题为目的的编程语言,教学过程中不建议在语言细节和内置对象、标准库对象实现原理上花费太多时间,尤其不要纠结内存管理的问题。使用Python 编程解决问题应充分借鉴和使用成熟的内置对象、标准库对象和扩展库对象,尽量避免自主编写完整的业务逻辑,部分具体操作完全可以使用扩展库来实现,大幅度提高开发效率,在开发速度和运行速度之间达到最佳平衡。例如,如果需要进行排序则直接使用内置函数sorted或列表的sort方法进行排序,切不可再使用选择法排序、冒泡法排序、快速排序算法或堆排序等排序算法来编写代码实现;如果要测试一段代码的运行时间,应使用标准库time或timeit中的有关函数;要测试一个年份是否为闰年,应使用calendar标准库中的isleap函数;词频统计推荐使用标准库collections中的Counter类;组合、排列推荐使用标准库itertools中的combinations和permutations函数;要进行编写爬虫程序,建议使用标准库urllib或扩展库requests、bs4、scrapy;中文分词推荐使用扩展库jieba;拼音处理推荐使用pypinyin;视频处理推荐使用moviepy。

授课过程中,应把主要精力放在解决问题的代码实现原理和调试分析上。例如,讲解操作docx 格式文件的案例时应讲清楚Word和WPS这两个软件创建的文件内部实现有什么区别,然后再讲解代码,要让学生理解为什么要这样写。在讲解网络爬虫程序时,要让学生理解程序代码和网页源代码之间的对应关系,以及网页源代码发生改变时如何修改爬虫程序代码,采集另一个同类网站的数据时如何修改爬虫程序代码。讲解所有案例时,尽量不给学生源码,而是让学生自己输入代码运行程序,发生错误时引导学生阅读提示信息、定位错误位置、修改代码,让学生充分思考。

三、 教学内容与教学重点

第1 章 Python开发环境搭建与使用

1.1 Python 语言特点与应用领域

教学内容:Python 语言的特点,Python语言的应用领域。

授课方式:讲授。

习题:简答题1 、2,选择题5,判断题3

1.2 Python 安装与IDLE简单使用

教学内容:安装Python 官方解释器和开发环境IDLE,IDLE 交互模式和程序模式的使用,在IDLE中运行程序的方式。

教学重点:IDLE 交互模式和程序模式的使用。

授课方式:讲解+演示+ 练习。

习题:操作题1 ,选择题4

1.3 在PowerShell或命令提示符环境运行Python程序

教学内容:系统变量Path 的设置,运行Python程序的不同方式。

教学重点:在PowerShell 和命令提示符环境运行Python 程序。

授课方式:讲解+演示+ 练习。

习题:判断题1

1.4 安装扩展库

教学内容:内置模块、标准库、扩展库的基本概念,在线、离线安装扩展库,安装扩展库过程中的常见问题与解决方法。

教学重点:在线安装扩展库,离线安装扩展库,设置国内源提高下载速度。

教学难点:设置国内源提高下载速度。

授课方式:讲解+演示+ 练习。

习题:填空题1 、2、5,判断题2,操作台2

1.5 标准库、扩展库对象的导入与使用

教学内容:导入和使用标准库、扩展库对象的不同方法及其优劣。

教学重点:几种导入方式的区别和优劣。

授课方式:讲解+演示+ 练习。

习题:填空题2 、3,选择题3,判断题5

1.6 Python 代码编写规范

教学内容:缩进,空行与空格,标识符命名,续行,注释,对象导入,代码优化。

教学重点:缩进,标识符命名。

授课方式:讲解+演示。

思政元素:职业素养、行业规范、契约精神、团队合作能力、沟通能力。

习题:选择题1 、2,判断题4,简答题3

第2 章 内置类型、内置函数与运算符

2.1 常用内置类型

教学内容:整数、实数、复数、列表、元组、字典、集合、字符串、函数等基本概念与简单使用。

授课方式:讲解+演示+练习。

习题:判断题1 、3、5、6、7、8

2.2 运算符与表达式

教学内容:算术运算符、关系运算符、成员测试运算符、集合运算符、逻辑运算符、下标运算符与属性访问运算符、赋值运算符,功能与语法。

教学重点:各运算符功能。

教学难点:逻辑运算符、关系运算符、元素测试运算符的惰性求值特点。

授课方式:讲解+演示+ 练习。

习题:填空题1~10 ,选择题4,判断题10

2.3 常用内置函数

教学内容:input 、print、dir、help、range、类型转换函数、max、min、len、sum、sorted、reversed、zip、enumerate、next、map、reduce、filter,函数语法与功能。

教学重点:内置函数语法与功能,函数式编程模式。

教学难点:内置函数sorted、max、min的key参数,max、reduce、filter对函数式编程模式的支持,reversed、zip、enumerate、map、filter等函数返回的迭代器对象的惰性求值特点。

授课方式:讲解+演示+ 练习。

习题:选择题1 、2、3、5,判断题2、4、9

2.4 综合例题解析

教学内容:本节全部例题。

授课方式:讲解+练习。

习题:程序设计题1~4

第3 章 程序控制结构

3.1 条件表达式

教学内容:表达式的概念,表达式与True/False 的等价关系。

教学重点:表达式与True/False 的等价关系。

授课方式:讲授。

习题:填空题1 、2,选择题4,判断题1

3.2 选择结构

教学内容:单分支选择结构、双分支选择结构、多分支选择结构、嵌套选择结构的语法与应用。

教学重点:代码缩进。

授课方式:讲解+演示+练习。

习题:判断题3 、8

3.3 循环结构

教学内容:for 循环结构、while循环结构、break与continue语句。

教学重点:else 关键字的应用场景,使用for循环遍历可迭代对象,break语句对循环结构执行流程的影响。

教学难点:带else的循环结构执行流程。

授课方式:讲解+演示+ 练习。

思政元素:精益求精,从代码优化到工匠精神。

习题:填空题3 、4、5、6,选择题1、2、5,判断题4

3.4 异常处理结构

教学内容:常见异常表现形式、异常处理结构语法与应用。

教学重点:常见异常表现形式、异常处理结构语法。

授课方式:讲解+演示。

思政元素:避免让异常暴露在终端用户面前,没有被处理的异常应转换为提示信息告诉用户接下来应该怎么做,避免给终端用户造成困扰。注重高效沟通。

习题:选择题3 、6,判断题2、5、6、7

3.5 综合例题解析

教学内容:本节全部例题。

授课方式:讲解+练习。

习题:程序设计题1~5

第4 章 列表与元组

4.1 列表

教学内容:列表创建与删除、列表元素访问、列表常用方法、列表对象支持的运算符、内置函数对列表的操作,列表推导式语法与应用,使用切片访问列表、元组、字符串中部分元素。

教学重点:列表常用方法,运算符和内置函数对列表的操作,切片。

教学难点:双向索引,浅复制与深复制的区别。

授课方式:讲解+演示+ 练习。

习题:填空题1~6 、8,选择题1~5、7、8,判断题1、4、5、6

4.2 元组

教学内容:元组创建、元组方法与常用操作、元组与列表的区别、生成器表达式语法。

教学重点:元组与列表的区别,生成器对象的概念与使用。

教学难点:元组的元素数量和引用不可变,生成器对象具有惰性求值的特点,生成器对象中的每个值只能使用一次。

授课方式:讲解+演示+ 练习。

习题:填空题7 ,判断题2、3、7、8、9、10

4.3 序列解包

教学内容:序列解包的语法和应用。

教学重点:等号左侧变量的数量和等号右侧值得数量必须相同,且所有变量的赋值是同时进行的。

教学难点:多个变量的赋值是同时进行的。

授课方式:讲解+演示。

习题:选择题6

4.4 综合例题解析

教学内容:本节全部例题。

授课方式:讲解+练习。

习题:程序设计题1~6

第5 章 字典与集合

5.1 字典

教学内容:创建字典的几种形式、字典常用方法。

教学重点:字典对象的get 方法,使用下标为字典赋值的两种含义。

授课方式:讲解+演示+ 练习。

习题:填空题1~5 、13、14,选择题2、3、6、7、10、11、12,判断题1~5、7、8、15

5.2 集合

教学内容:创建集合的几种形式、集合常用方法。

教学重点:集合内元素不重复,且必须可哈希。

授课方式:讲解+练习。

习题:填空题6~12 、15,选择题1、4、5、8、9、13、14、15,判断题6、9~14

5.3 综合例题解析

教学内容:本节全部例题。

授课方式:讲解+练习。

习题:程序设计题1~5

第6 章 字符串

6.1 字符串方法及应用

教学内容:字符串编码与字节串解码、字符串格式化、find 、rfind、index、rindex、split、rsplit、splitlines、join、replace、maketrans、translate、center、ljust、rjust、字符串测试、strip、rstrip、lstrip、removeprefix、removesuffix。

教学重点:字符串所有方法都不修改原字符串。

授课方式:讲解+演示+ 练习。

习题:填空题1~16 ,选择题1~8,判断题1~15

6.2 部分扩展库对字符串的处理

教学内容:中英文分词、中文拼音处理。

授课方式:讲解+练习。

6.3 综合例题解析

教学内容:本节全部例题。

授课方式:讲解+练习。

习题:程序设计题1~4

第7 章 函数定义与使用

7.1 函数定义与调用

教学内容:函数定义与调用基本语法、递归函数定义与调用、函数嵌套定义与调用,实参与形参的概念。

教学重点:普通函数的定义与调用语法,递归函数的执行过程。

思政元素:从函数定义与调用到接口定义再到契约精神。

授课方式:讲解+演示+ 练习。

习题:填空题1 、2,选择题1、2,判断题3、10

7.2 函数参数

教学内容:位置参数、默认值参数、关键参数、可变长度参数,实参解包。

教学重点:几种形式的函数参数传递方式,调用函数时是把实参的引用传递给形参。

授课方式:讲解+演示+ 练习。

习题:填空题6 、10,选择题3、4、5,判断题1、2、5、7

7.3 变量作用域

教学内容:变量作用域的分类,作用域的搜索顺序。

教学重点:作用域的搜索顺序。

授课方式:讲解+演示。

习题:填空题7 ,判断题4、6、8

7.4 lambda 表达式语法与应用

教学内容:lambda 表达式的功能,lambda表达式的应用场合。

教学重点:lambda 表达式的功能,lambda表达式的应用场合。

授课方式:讲解+演示+ 练习。

习题:填空题3 、4、5、8、9,选择题6

7.5 生成器函数定义与使用

教学内容:yield 语句的作用,生成器函数与普通函数的区别。

教学难点:生成器函数的返回值是生成器对象。

授课方式:讲解+演示。

习题:判断题9

7.6 综合例题解析

教学内容:本节全部例题。

授课方式:讲解+练习。

思政元素:在例7-4的演示字符串中使用“雾锁山头山锁雾”类似的回文,引导学生发现中文的美与博大精深;讲解例7-9的秦九韶算法时,适当展开介绍我国古代和现代的成就。

习题:程序设计题1~5

第8 章 基于文件和设备的数据采集

8.1 文本文件操作与二进制文件内容操作

教学内容:内置函数open 、文件对象常用方法、上下文管理语句with、文本文件操作例题解析。

教学重点:内置函数open 的参数file、mode和encoding,读写文件内容时会自动修改文件指针的位置,使用关键字with管理文件对象的用法。

授课方式:讲解+演示+ 练习。

习题:填空题1~4,选择题1、2、3、7、8、9,判断题1~7,程序设计题1

8.2 文件级与文件夹级操作

教学内容:标准库os 、os.path、shutil中的常用成员、文件夹操作例题解析。

教学重点:遍历目录树。

授课方式:讲解+演示+ 练习。

习题:填空题5~16,程序设计题2

8.3 Word 、Excel、PowerPoint、PDF文件内容读取

教学内容:Word 、Excel、PowerPoint、PDF等不同类型文件内容的读取,采集需要的数据。

教学难点:文件结构分析。

授课方式:讲解+演示+ 练习。

习题:填空题17,选择题4、5、6,判断题8、9、10,程序设计题3、4

8.4 图像、音频、视频等文件数据采集

教学内容:从图像文件、音频文件、视频文件等不同类型的多媒体文件中采集数据。

教学重点:相关扩展库安装和使用。

授课方式:讲解+演示+ 练习。

习题:程序设计题5

8.5 麦克风、扬声器、摄像头、传感器等设备数据采集

教学内容:从麦克风、扬声器、摄像头、温度湿度传感器等不同类型的设备中采集数据。

教学重点:相关扩展库安装和使用。

授课方式:讲解+演示+ 练习。

思政元素:介绍隐私保护、大数据伦理学的有关内容。

习题:程序设计题6

第9 章 基于SQLite数据库的数据采集

9.1 SQLite 数据库基础

教学内容:介绍SQLite 数据库特点、适用场景等基础知识。

授课方式:讲授。

习题:选择题1、2、9,判断题5、6

9.2 标准库sqlite3用法简介

教学内容:转换Python 函数为SQL函数的方法,Connection对象、Cursor对象的用法,执行SQL语句的不同方法,为SQL语句传递参数的不同形式。

教学重点:为SQL 语句传递参数的不同形式。

授课方式:讲解+演示+ 练习。

习题:填空题1~7,判断题1、2、3、4、7、8、9

9.3 常用SQL语句

教学内容:CREATE TABLE ,DROP TABLE,INSERT INTO,SELECT,UPDATE,DELETE等不同SQL语句的语法与功能。

授课方式:讲授。

习题:填空题8,选择题3~8

9.4 综合例题解析

教学内容:查询数据库中用户表记录数量,从数据库中导出数据并写入Excel 文件,数据库备份。

授课方式:讲解+演示+ 练习。

习题:填空题9,程序设计题

第10 章 基于网页的数据采集

10.1 HTML 基础

教学内容:常用HTML 标签含义,网页源代码阅读方式,动态网页提交参数方式GET和POST的区别。

教学重点:网页源代码阅读方式,动态网页提交参数方式GET 和POST的区别。

授课方式:讲解+演示+ 练习。

习题:选择题7~13,判断题1、2,判断题22,简答题1

10.2 使用标准库urllib和正则表达式re模块编写网络爬虫程序

教学内容:正则表达式基本语法,常用正则表达式元字符含义,标准库re 常用函数功能和语法,使用urllib读取网页源代码,使用正则表达式采集指定内容,常见反爬机制与对抗。

教学重点:使用urllib 读取网页源代码,使用正则表达式采集指定内容,常见反爬机制与对抗。

教学难点:网页源代码阅读与分析,正则表达式与网页源代码之间的对应关系。

授课方式:讲解+演示+ 练习。

思政元素:告诫学生不可滥用爬虫技术,举例说明滥用的严重后果。尊重知识产权,遵守职业道德和行业规范,不滥用技术。《刑法》第二百一十七条,《刑法》第二百五十三条。

习题:填空题1~5,选择题1、2、14、15,判断题3~8、23,简答题2,程序设计题1

10.3 使用扩展库requests和bs4编写网络爬虫程序

教学内容:使用扩展库requests 读取网页源代码,使用扩展库bs4提取网页源代码中的指定内容。

授课方式:讲解+演示+ 练习。

习题:填空题6,判断题9、10、11,程序设计题3

10.4 使用扩展库Scrapy编写网络爬虫程序

教学内容:使用扩展库Scrapy 编写爬虫项目,采集网页源代码,XPath选择器与CSS选择器语法。

教学重点:XPath 选择器与CSS选择器语法。

授课方式:讲解+演示+ 练习。

习题:填空题7~10,选择题3~6,判断题12~21,程序设计题2

10.5 使用扩展库Selenium和MechanicalSoup编写网络爬虫程序

教学内容:借助百度搜索引擎,控制浏览器。

授课方式:讲解+演示+ 练习。

四、各章节课时分配

教学课时分配表(参考)

章节名称 课堂学时 实验学时 课外学时 第1 章 Python开发环境搭建与使用 4 4 第2 章 内置类型、内置函数与运算符 6 8 第3 章 程序控制结构 4 2 8 第4 章 列表、元组 4 2 8 第5 章 字典与集合 4 6 第6 章 字符串 4 2 8 第7 章 函数定义与使用 4 2 8 第8 章 基于文件和设备的数据采集 6 2 8 第9 章 基于SQLite 数据库的数据采集 6 2 6 第10 章 基于网页的数据采集 6 4 8 合计 48 16 72

五、教材、参考书目与在线练习平台

主教材:

1. 董付国. 《Python程序设计与数据采集》(ISBN:9787115611833),人民邮电出版社,2023.5

实验教材:

2. 董付国. 《Python程序设计实验指导书》(ISBN:9787302525790),清华大学出版社

在线练习平台:

1.Python “Python小屋”发送消息“小屋刷题”下载。

其他参考资源:

1. 微信公众号:Python 小屋

2. 董付国编著.Python 数据分析、挖掘与可视化(慕课版)[M].北京:人民邮电出版社,2020

3. 董付国编著.Python 程序设计(第3版)[M].北京:清华大学出版社,2020

4. 董付国编著.Python 程序设计基础(第3版)[M].北京:清华大学出版社,2022

5. 董付国著.Python 程序设计基础与应用(第2版)[M].北京:机械工业出版社,2022

6. 董付国著.Python 网络程序设计[M].北京:清华大学出版社,2021

7. 董付国著.Python 程序设计入门与实践[M].西安:西安电子科技大学出版社,2021

8. 董付国著.Python 数据分析与数据可视化[M].北京:清华大学出版社,2023

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

温馨提示:

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



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3