《Python程序设计基础与应用》课程教学大纲
学 时 数 :32 适用学科专业: 软件工程专业
先修课程:面向对象程序设计(C++/Java)、数据库原理、数据结构
执 笔 者:
编写日期:
一、课程简介
本课程主要介绍Python语言的编程环境(包括Spyder、Jupyter和PyCharm)、基本的语言要素、数据结构、编程范型、程序库以及各种应用案例。由于Python程序设计基础与应用课程涉及面对象程序设计(Java/C++)、数据库原理、计算机网络等多门计算机课程的相关知识,对于学生掌握Python编程语言,培养学生综合运用多门课程的知识以解决工程领域问题的能力具有积极的作用。本课程的学习对于了解推荐系统、图像处理和机器学习等多个领域有很大的帮助。
二、课程目标
通过本课程的教学,使学生了解Python语言的特点,比较全面地掌握Python语言的基本概念、语法、数据结构、程序库和各种开发平台和工具,以及了解Python程序的基本结构和设计方法,使学生掌握Python的各种编程范型,并能在各种不同的领域中综合运用学到的知识。通过各种应用开发实例,培养学生对Python程序开发的兴趣和逻辑思维方法,提高学生在软件设计过程中分析问题、解决问题及实践操作的能力,为今后从事计算机系统硬件、软件的开发及应用打下良好的基础。
三、课程内容安排和要求
(一)教学内容、要求及教学方法
第一章 概述(2学时)
本章主要介绍Python的基本概念,重点解析Python的数据模型,探究Python的数据分析相关方法。要求学生掌握Python的基本数据模型;理解Python的数据分析方法的基本概念、预处理以及分析方法的分类等;了解Python的发展历程及特点等。
本章的重点是Python的基本数据模型,Python数据分析的基本方法;难点是理解数据分析。
第二章 开发环境与交互式工具(2学时)
本章主要介绍Python的开发环境以及常用的交互式开发工具。要求学生掌握如何安装及使用Python的开发环境与交互式工具。
本章的重点是熟练使用各种Python开发环境;难点是理解在工程开发中如何综合使用各种Python开发工具。
第三章 语言概述(2学时)
本章介绍Python的主要内置数据类型,重点解析Python的控制流程以及模块,探究其相关的编程案例。要求学生能够掌握Python的控制流程以及模块的相关技术,掌握相应的编程案例,从而更好地熟悉和掌握Python的主要内置数据类型。
本章的重点是掌握Python的控制流程以及模块的使用方法,理解对应的编程案例的实现过程;难点是理解Python的控制流程以及模块的相关使用。
第四章 数据结构 (4学时)
本章介绍Python常用的数据结构,重点说明Python的元组、列表、集合等数据结构;最后,通过编程案例详细说明上述数据结构的具体使用方法。要求学生掌握Python数据结构的相关技术,理解元组、列表、集合等数据结构的相关使用方法,了解推导式等相关方法。
本章的重点是掌握Python的数据结构,理解它们的使用方式;难点是理解各种推导式的使用方法。
第五章 编程泛型(4学时)
本章主要讨论Python如何支持面向对象、函数式以及元编程等编程范型。要求学生了解范型的概念,掌握面向对象编程、函数式编程以及元编程三种编程方式。
本章的重点面向对象技术和函数式编程两个编程泛型;难点是需要站在不同的维度进行程序设计:涉及类和对象的构建、封装和消息传递,把运算过程写成一系列嵌套的函数调用以及元编程如何在运行中生成程序本身。
第六章 库(4学时)
本章主要介绍Python编程中常用的库,包括Numpy库、SciPy库以及Pandas库等。要求学生掌握各种库的使用方式。
本章的重点是掌握各种库的主要函数;难点是在实际应用开发方面如何灵活使用这些库。
第七章 数据分析(4学时)
本章主要介绍如何使用Python操作各种数据文件,对有问题的数据进行清洗以及分析时间序列数据。要求学生掌握各种格式数据文件的读写操作,对象的序列化和反序列化方法,以及SQLite数据库的存取操作,了解数据中存在的各种错误,比如缺失数据、重复数据和各种异常值,以及这些数据的清洗操作方式,掌握时间序列数据的分析方法和处理流程。
本章的重点是掌握不同格式数据文件的存取方法,序列化和反序列化的概念和操作流程以及数据清洗的基本操作;难点是理解不同时序数据的特性,掌握时间序列数据分析的基本原理,综合运用各种数据分析方法来解决实际工程中的问题。
第八章 数据可视化(网页设计素材文字4学时)
本章主要介绍绘图工具库的使用、统计绘图方法以及网络的可视化方法。要求学生掌握各种绘图工具,如Matplotlib、Pandas、Seaborn、Bokeh和Networkx的使用方式。
本章的重点是数据可视化相关知识,包括常用的绘图工具库的使用、常用的统计绘图方法,包括线图、直方图、条形图的绘制;难点是利用Matplotlib和Networkx结合的方法来实现网络的可视化,尤其是针对于复杂网络的可视化。
第九章 应用案例分析(6学时)
本章主要介绍Python语言在不同应用领域的综合案例,包括网络爬虫框架和实现方式、推荐系统、图像的基本操作和图像预处理方法以及机器学习方法。要求学生掌握爬虫的设计思路,推荐系统的框架,图像特征提取方法以及图像检测与分割算法,机器学习的基本概念、学习流程和评估方法,以及深度学习方法。
本章的重点是掌握网络爬虫的设计和实现方法,推荐系统的框架结构,图像的基本操作和预处理方法,机器学习的概念和常用的学习方法,了解深度学习的基本原理;难点是理解爬虫的基本原理,掌握推荐系统的度量方式,理解图像的特征提取、检测与分割的基本原理,运用各种机器学习方法解决实际的回归和分类问题。
(二)自学内容和要求
无。
(三)实践性教学环节和要求
实验项目1:数据处理与分析 4学时
(1)目的
1.熟悉Python语言的语法;
2.熟悉Python语言的数据结构;
3.熟悉字符串和文本的处理方式;
4.熟悉Python语言的I/O编程;
5.熟悉面向对象编程、函数式编程等多种编程模型。
(2)内容和要求
1.读写文本格式数据和二进制格式数据;
2.使用numpy数组保存读入的数据;
3.对读入的数据进行清洗;
4.使用pandas进行数据统计;
5.实现多种形式的数据可视化。
(3)思考
如何使用正则表达式对输入数据进行规范性检验?如何使用numpy数组执行高维矩阵运算?如何使用pandas处理Excel文件中的数据?在什么情况下,使用面向对象编程、函数式编程和元编程?除了常用的数据可视化库以外,Python还有哪些可视化工具?
实验项目2:推荐系统 4学时
(1)目的
1.掌握无监督学习的基本概念;
2.熟练使用Python的机器学习库;
3.掌握常用的聚类算法;
4.理解常用的相似度度量方法;
5.熟悉数据可视化的各种工具和作图方法。
(2)内容和要求
1.收集推荐数据,对数据进行清洗;
2.提取数据特征;
3.选取相似度度量方法;
4.实现推荐系统的主要功能;
5.绘制推荐结果图;
sqllike怎么用6.对推荐系统的功能和性能进行分析。
(3)思考
除了常用的距离度量方法以外,还有哪些相似度度量方法?如何解决推荐系统的冷启动问题?基于内容的推荐算法、协同过滤推荐算法和基于知识的推荐算法有什么区别,各自有什么特点?现在有哪些新的推荐算法?
实验项目3:图像预处理 4学时
(1)目的
1.熟悉图像的读取和写入方式;
2.熟悉图像预处理的基本算法;
3.熟悉图像的分割和检测方法。
4.理解图像数据的扩增方式;
5.熟悉图像的可视化方法。
(2)内容和要求
1.读入图像,统计图像信息,绘制统计直方图;
2.实现图像直方图均衡化;
3.实现图像的滤波操作;
4.实现图像数据扩增;
5.实现图像的边缘检测;
6.实现图像分割算法;
7.实现图像三种特征的提取。
(3)思考
如何提取图像的各种特征?为什么滤波操作可以提取图像的特征?除了传统的图像分割和检测方法以外,现在有哪些新的分割和检测算法?有哪些新的图像扩增方法和图像特征提取算法?
最好的python入门教材实验项目4:手写体识别 two way power是什么意思 4学时
(1)目的
1.熟悉图像的基本处理方式;
resultset的常用方法2.理解神经网络的基本原理;
3.掌握深度学习的基本概念;
4.熟练使用卷积神经网络进行图像分类;
5.熟悉深度学习的Python库。
(2)内容和要求
1.载入MNIST数据集;
2.对图像进行扩增;
3.设计卷积神经网络结构;
4.编写学习算法,训练模型;
5.用训练好的模型对测试集进行分类,给出模型的评估指标。
6.对模型性能进行分析和评估。
(3)思考
如何设计CNN的网络结构?如何确定网络的超参数?模型训练好以后,如何对模型的参数调优?现在有哪些经典的CNN模型,它们有哪些特点,适用于哪些情况?
四、考核方式
课堂练习10%+上机实验20%+期中考试10%+期末考试60%
五、建议教材及参考资料bitmart
(一)教材:
Python程序设计基础与应用
(二)参考资料:
1.Python数据分析基础(第3版)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论