一、课程目标
了解脚本语言程序设计的基本知识,掌握程序设计的基本方法,掌握程序设计的基本理论、方法和应用,掌握高级程序设计国家标准的有关基本规定,会查阅有关国家标准和手册,养成严格遵守和执行有关国家标准的各项规定的良好习惯。能够较正确而熟练地使用Python进行程序的设计;能够识读和编写较复杂程度的程序;能够使用Python解决实际应用问题。培养学生计算思维能力、创新能力和发现问题、分析问题和解决问题的能力。
二、教学内容
1. 程序设计基本方法
教学要求:
了解硬件和软件在计算机系统中的不同作用;了解程序设计语言发展过程;理解Python语言的特点;掌握Python语言开发环境和运行环境配制方法;理解编写程序的IPO方法
教学内容:
计算机的概念
程序设计语言
Z. Python语言概述
ZN. Python开发环境配置
Z. Python语言版本更迭
实验要求:
掌握Python开发环境和运行环境的配制方法,编写Hello world程序。
实验内容:
(1)安装Python3.x解释器
(2)使用IDEL编写Hello world程序
2.Python程序实例解析
教学要求:
掌握解决计算问题的一般方法;掌握Python语言的基本语法,包括缩进、变量命名等;掌握Python语言绘制图形的一般方法;了解Python标准库的导入和使用。
教学内容:
ZN. Python语法元素分析
turtle库语法元素分析
实验要求:
掌握Python语言的基本书写和turtle库的使用
实验内容:
(1)温度转换程序,编写程序将摄氏度和华氏度的温度数值进行转换。
(2)Python蟒蛇绘制,使用turtle库绘制一个蟒蛇图案。
3.基本数据类型
教学要求:
掌握3中数字类型的概念和使用;运用Python的标准数据库进行数值计算;掌握字符串类型的概念和使用;掌握字符串类型的格式化操作方法和应用。
教学内容:
数据类型
数字类型操作
N. math库的使用
Z. 字符串类型及其操作
Z. 字符串类型格式化
实验要求:
能够使用math库进行简单的数值计算,能够格式化输出字符串。
实验内容:
(1)天天向上的力量:一年365天,如果好好学习时能力值比前一天提高1%,当放任时相比前一天下降1%,编程计算两种情况效果相差值。
(2)文本进度条:编程通过格式化字符串输出和时间延迟实现控制台风格文本进度条。
4.程序的控制结构
教学要求:
了解程序的基本结构并绘制流程图;掌握程序的分支结构;运用if语句实现分支结构;掌握程序的循环结构;运用for语句和while语句实现循环结构;掌握随机库的使用方法;了解程序的异常处理方法。
教学内容:
程序的控制结构
Z. 程序的分支结构
ZN. 程序的循环结构
N. 程序的异常处理
实验要求:
能够使用分支结构和循环结构编写简单程序。
实验内容:
(1)身体质量指数BMI:输入身高和体重,输出BMI值并根据BMI指标分类输出类别。
(2)计算圆周率:使用BBP公式计算圆周率的值。
5.函数和代码复用
教学要求:
掌握函数的定义和调用方法;理解函数的参数传递过程以及变量的作用范围;了解lambda函数;掌握时间日期标准库的使用;理解函数递归的定义和使用方法。
教学内容:
Z. 函数的基本使用
函数的参数传递
datetime库的使用
Z. 代码复用和模块化设计
N 5.函数递归
实验要求:
能够利用函数编写程序,掌握递归函数使用方法。
实验内容:
(1)七段数码管绘制:输入当前日期的数字形式,输出数码管表示的图形形式。
(2)科赫曲线绘制:利用递归函数绘制0~5阶科赫函数。
6.组合数据类型
教学要求:
了解3类基本组合数据类型;理解列表概念并掌握Python中的列表使用;理解字典概念并掌握Python中的字典使用;运用列表管理采集的信息,构建数据结构;运用字典处理复杂的数据信息;运用组合数据结构进行文本词频统计。
教学内容:
组合数据类型概述
Z. 列表类型和操作
Z. 字典类型和操作
N. jieba库的使用
实验要求:
掌握列表和字典类型编写程序处理实际问题
实验内容:
(1)基本统计值计算:输入数据值,输出平均值、标准差和中位数。
(2)《三国演义》人物出场统计:输入电子版《三国演义》文本,输出出场率最高的10个人物。
7.文件和数据格式化
教学要求:
掌握文件的读写方法以及打开和关闭等基本操作;理解数据组织的维度和特点;掌握一、二维数据的存储格式和读写方法;运用PIL库进行基本的图像处理;运用json库进行数据的维度转换;了解高维数据的存储格式和读写方法。
教学内容:
Z.文件的使用
PIL库的使用
Z. 一、二维数据的格式化处理
N. 高位数据的格式化
N. json库的使用
实验要求:
掌握文件的基本操作,使用json库进行数据转换
实验内容:
(1)图像的字符画绘制:将图像转换为字符画形式。
(2)编写程序将CSV格式文件与json文件格式互相转换。
8.程序设计方法论
教学要求:
了解计算思维的概念;掌握自顶向下的设计方法;掌握自底向上的执行过程;了解计算生态和模块编程思想;掌握Python第三方库的安装方法;掌握Python源文件的打包方法。
教学内容:
计算思维
N. 自顶向下和自底向上
Z. pyinstaller库的使用
N. 计算生态和模块编程
Python第三方库的安装
实验要求:
使用计算思维思想设计程序
实验内容:
(1)体育竞技分析:输入两个球员的嗯哪管理概率,模拟比赛的场次,输出两个球员的胜负概率。
(2)pip安装脚本:使用pip安装第三方Python库。
9.科学计算和可视化
教学要求:
了解科学计算的基本概念;了解数据可视化的概念;运用科学计算库进行矩阵分析和数值运算;了解图像的矩阵表示和处理;运行数据绘图库进行简单图表绘制。
教学内容:
科学计算和可视化概述
ZN. numpy库的使用
N. matplotlib库的使用
实验要求:
使用numpy库和matplotlib库实现简单数据处理和可视化。
实验内容:
(1)图像的手绘效果:使用numpy库实现图像的手绘效果转换。
(2)科学坐标图绘制:根据给定的数据绘制阻尼衰减曲线图。
(3)多级雷达图绘制:根据给定的任务能力数据,绘制多级雷达图。
10.网络爬虫和自动化
教学要求:
掌握网络爬虫的基本概念和方法;运用request库编写基本的URL访问过程;运用beautifulsoup4库解析和处理HTML;掌握像搜索引擎自动提交关键词并获取范围结果的方法。
教学内容:
网络爬虫概述
N. request库的使用
N. beautifulsoup4库的使用
实验要求:
编写简单的爬虫程序,获取数据
实验内容:
(1)中国大学排名爬虫:从网页中获取中国大学排名信息,并保存为文本文件。
(2)搜索关键词自动提交:像百度提交一个关键词,自动获取返回结果,保存为文本文件。
三、各教学单元学时分配表
教学单元名称 | 讲授 | 实践/实验 |
程序设计基本方法 | 2 | 2 |
Python程序实例解析 | 2 | 2 |
基本数据类型 | 4 | 4 |
程序的控制结构 | 4 | 4 |
函数和代码复用 | 4 | 4 |
组合数据类型 | 4 | 4 |
文件和数据格式化 | 4 | 4 |
程序设计方法论 | 4 | 4 |
科学计算和可视化 | 4 | 4 |
网络爬虫和自动化 | 4 | 4 |
小计 | 2 | 2 |
合计 | 72 |
四、教学组织与方法
本课程教学按照工学结合的思想进行教学改革,在继承传统教学方法的基础上,结合Python程序设计课程的特点和我院教学资源的实际情况,对教学方法做出了一些创新,灵活采用了小组讨论法、案例分析法、归纳演绎法、等各种教学方法,这些教学方法的灵活运用能够很好地引导学生积极思考、勤于实践,积极完成项目工作任务。
在现代教学技术手段运用方面,Python程序设计课程配备了实训指导的操作演示和业务流程图示,提供了大量的案例以及模拟考试练习等学习资料。为学生准备了大量的教学案例和开发案例,训练学生软件开发的能力。学生可以利用校内实训室所提供的环境和工具,进行软件开发实训。这些现代教学技术手段的应用为课程教学改革提供了强有力的技术支持和教学资源支持。
五、课程考核与成绩评定
(1)考核方式:考试。
本课程考核采取考试方式。
(2)课程成绩总评
课程成绩(总评)= 课堂出勤表现(10%)+课堂提问(10%)+平时作业(10%)+期末考试(70%)
成 绩组 成 | 考核/评价环节 | 分值(或百分比) | 考核/评价细则 |
出勤 | 10% | 缺勤一次扣一分,全勤10分 | |
课堂提问 | 10% | 主动回答问题一次加一分 | |
平时作业 | 10% | 根据完成情况给分 | |
期末考试 | 70% | 根据完成情况给分 |
六、推荐教材和教学参考书目与文献
推荐教材:《Python语言程序设计基础(第2版)》,嵩天,礼欣,黄天羽 著,高等教育出版社,2017.2。
参考书目与文献:《Python核心编程(第3版)》,Wesley Chun 著,孙波翔,李斌,李晗 译,人民邮电版社,2016.5。