《Python语言程序设计基础》课程教学改革实践

2019-09-10 07:22杨荣领
高教学刊 2019年3期
关键词:Python语言程序设计数据分析

杨荣领

摘  要:《Python语言程序设计基础》是计算机相关专业的核心课程,文章针对Python语言本身的特点,提出了该课程教学的两个层次:1.基础知识、语法讲解,以简单的有趣的例子讲解;2.利用第三方库结合数据分析的实例,贯穿教学,实现数据的获取、处理、分析、可视化。以提高学生编程的兴趣和应用能力,推动教学改革。

关键词:Python语言;程序设计;数据分析;教学改革

中图分类号:G642 文献标志码:A 文章编号:2096-000X(2019)03-0135-03

Abstract: "The Foundation of Python Language Programming" is the core course of computer related majors. This paper proposes two levels of teaching in the course of Python language: 1. Basic knowledge, grammar explanation, with simple and interesting examples; 2 Using third-party libraries combined with data analysis examples, through the teaching, to achieve data acquisition, processing, analysis, visualization. To promote the interest and application of students in programming, and promote teaching reform.

Keywords: Python language; program design; data analysis; teaching reform

引言

《程序设计基础》是高等学校计算机科学与技术及相关专业的核心课程[1],以讲述程序设计语言的基本知识和程序设计方法,介绍程序设计的思想和方法,有助于学生了解计算机求解问题的方式,即计算机思维方式的培养,主要有C、JAVA、C++等传统程序设计语言,但相对语法复杂,对计算机理论知识要求高,入门难。在“互联网+”的时代背景下,尤其是大数据、云计算、人工智能、深度學习等领域的推动,Python语言的优势突显出来。

一、Python语言的特点与优势

Python 是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum(吉多·范罗苏姆)于1989年发明,第一个公开发行版发行于1991年。它是一个开源语言,拥有大量的库,可以高效地开发各种应用程序。特点:简单、高级、面向对象、可扩展性、免费开源、可移植性、丰富的库、可嵌入性[2]。

Python语言在程序设计基础教学过程中,也呈现较强的有优点和优势:

1. 语法简单,简洁,优雅。安装简单,有较多的IDE工具,学生可以根据自己的喜好选择并可以在较短时间内轻松地掌握相关的基础知识、语法。

2. 可读性强。Python语言通过缩进的语句块来控制结构,可读性强,有利于培养学生良好的编程习惯,可以“#”来进行解释性注释,增加程序可读性。

3. 丰富的第三方库。面向对象的程序Python不仅提供了丰富的数据结构,还有丰富的第三方库。如requests、BesautifulSoup、re等,实现数据的获取;科学计算的Numpy、Scipy和Matplotlib等,实现数据的处理、分析、可视化;OpenCV、Tenserflow等为图像处理、深度学习提供了有利的基础。丰富的第三方库,广泛应用于大数据中数据获取、处理、分析、可视化、计算机视觉等领域[3]。不仅可以培养了学生的学习兴趣,还可以提高了学生的应用能力和项目能力。

二、《Python语言程序设计基础》教学改革实践

通过前面对Python语言的特点和优势的分析,可以把整个教学设计为两个层次:1. Python基础知识、语法讲解,以简单的有趣的例子讲解;2. 利用第三方库结合数据分析的实例,贯穿教学,实现数据的处理,分析,可视化。

(一)Python基础知识、语法讲解

1. 从生活中的趣事引入Python

这是画的一张Python图,模拟薯片掉到地上的样子,会发现一个弧面掉在了一个平面上,那么他们就是一个相切的接触,也就是说这两个面其实相交于一条线,一条线在二维平面上的面积是多少呢?是0。这就是相切可吃定理。也就是说薯片掉地上接触地面的面积为零,不影响食用。如图1a和图1b所示。

情人节送心形图,从简单的心形函数图?籽=a·(1+cos?兹) (图2)到复杂漂亮的爱的诠释基于微博数据用 Python打造一颗“心”(图3),图2是简单的函数作图,体会Python的作图功能,图3展示了Python实现数据处理的基本过程,从数据的爬取,保存,分词,生成图片到心形图。引发学生的兴趣。

2. 在快乐中学习Python的基本知识

在教学中,使用Anaconda,它自带了Numpy、Scipy、Matplotlib等第三方库,教学用Jupyter Noetbook可以将文字、代码、图形、公式整合在一起,方便教学。以问题求解为导向,“提出问题——对应算法——转化程序”的思维过程,教导“编程”为主,培养学生的编程能力,教授如何用计算机程序解决问题的思维和技巧(即计算思维),讲解要由浅入深,清晰易懂。主要培养学生的逻辑思维,计划构建,循环计算,递归求解等能力,重点讲解容易出错的语法。结合上机操作课,巩固练习,让学生能够加深理论知识的理解和掌握。

(二)利用第三方库结合数据分析的实例,贯穿教学

利用第三方库,如requests、BesautifulSoup、re等,实现数据的获取;Numpy、Scipy和Matplotlib等,实现数据的处理、分析、可视化。主要从网页上抓取数据进行数据分析,这个涉及到很多领域,如:影视、歌曲、就业、房价、空气污染等,可进行兴趣,情感等方面分析。但在网络爬取到的数据一般都是非结构化的数据,数据的处理,分析是涉及到很多难点,所以在实际教学讲授中,一般分两大主线:1. 数据的收集——爬虫。2. 利用结构化的数据,进行数据的处理、分析、可视化。

1. 数据的收集——爬虫

爬虫是一种按照一定规则,自动地在网页抓取信息的程序或者脚本,一般分为数据采集、处理、储存三个部分,工作原理:先找到目标信息网,抓取模块、页面分析模块、数据存取模块[4]。爬虫部分教学以案例讲解为主,如:艺术电影智库[5],房价数据[6]等,以实操为主导,介绍爬虫的流程和模块,以过程和结果展示调动学生的兴趣。

2. 数据的处理、分析、可视化

数据的处理、分析、可视化主要利用已有的数据,如:学生学习成绩的分析,泰坦尼克号沉船幸存者预测、贷款违约风险预测等。通过Jupyter Noetbook 展示,利用一些简单到复杂的例子进行讲解,主要实现数据的导入,如图4,Jupyter Noetbook可直接执行Python代码。数据量大时,导入数据后可以通过代码anscombe.head(),anscombe.shape,anscombe.info() 查看数据的前条信息,数据的结构,类型,是否有缺失等信息。

然后利用Numpy、Scipy库对数据清洗,数据缺失的填充,对数据进行简单的统计分析(平均值、中位数、期望、方差等)主要代码如下:X.mean(),X.median(),X.std(),X.var()等(X为数据对象)。研究利用Matplotlib库绘制散点图、直方图,条形图,折线图,饼图,相关矩阵图等,通过图形整体分析数据的特征和变化趋势,如散点图可以看出变量的分布特征,相关矩阵图可以看出变量之间的关系,如图5。

三、结论

本文根据Python语言的特点,提出了《Python语言程序设计基础》课程教学的两个层次,一方面是基础知识的讲授,另一方面利用第三方库结合两大主线,案例讲学,不仅提高学生的兴趣,更好地掌握基本的程序设计的方法和技巧,还能提高学生的自主学习解决问题和参与项目能力。

参考文献:

[1]教育部高等学校计算机基础课程教学指导委员會.高等学校计算机基础核心课程教学实施方案[M].北京:高等教育出版社,2011.

[2]江红,余青松.Python程序设计与计算基础教程[M].北京:清华大学出版社,2017.

[3]赵广辉.面向新工科的Python程序设计交叉融合案例教学[J].计算机教育,2017,8:23-27.

[4]李臣臣,肖巍.网络爬虫技术在高校学生行为分析系统的应用研究[J].电脑迷,2018,6:50-51.

[5]http://www.cbooo.cn/year?year=2017[EB/OL].

[6]http://www.xueqing.tv/course/81[EB/OL].

猜你喜欢
Python语言程序设计数据分析
基于OBE的Java程序设计个性化教学研究
项目化教学在Python程序设计课程中的应用
C++程序设计课程教学改革研究
医学专业“Python程序设计”课程教学改革总结与思考
基于Python语言和支持向量机的字符验证码识别
论Python程序设计语言
基于Python语言的面向对象课程实践教学探讨
基于Android的Python语言英汉维电子词典设计与实现
新常态下集团公司内部审计工作研究
浅析大数据时代对企业营销模式的影响