《Python程序设计》课程教学大纲课程代码:21137061课程名称:Python程序设计课程性质:专业(必修)学分:3学时:72讲课学时:36实践/实验学时:36适用专业:软件工程先修课程:大学计算机基础一、课程目标了解脚本语言程序设计的基本知识,掌握程序设计的基本方法,掌握程序设计的基本理论、方法和应用,掌握高级程序设计国家标准的有关基本规定,会查阅有关国家标准和手册,养成严格遵守和执行有关国家标准的各项规定的良好习惯。能够较正确而熟练地使用Python进行程序的设计;能够识读和编写较复杂程度的程序;能够使用Python解决实际应用问题。培养学生计算思维能力、创新能力和发现问题、分析问题和解决问题的能力。二、教学内容1.程序设计基本方法教学要求:了解硬件和软件在计算机系统中的不同作用;了解程序设计语言发展过程;理解Python语言的特点;掌握Python语言开发环境和运行环境配制方法;理解编写程序的IPO方法教学内容:计算机的概念程序设计语言Z.Python语言概述ZN.Python开发环境配置Z.Python语言版本更迭实验要求:掌握Python开发环境和运行环境的配制方法,编写Helloworld程序。实验内容:(1)安装Python3.x解释器(2)使用IDEL编写Helloworld程序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.代码复用和模块化设计N5.函数递归实验要求:能够利用函数编写程序,掌握递归函数使用方法。实验内容:(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)搜索关键词自动提交:像百度提交一个关键词,自动获取返回结果,保存为文本文件。三、各教学单元学时分配表教学单元名称讲授实践/实验程序设计基本方法22Python程序实例解析22基本数据类型44程序的控制结构44函数和代码复用44组合数据类型44文件和数据格式化44程序设计方法论44科学计算和可视化44网络爬虫和自动化44小计22合计72四、教学组织与方法本课程教学按照工学结合的思想进行教学改革,在继承传统教学方法的基础上,结合Python程序设计课程的特点和我院教学资源的实际情况,对教学方法做出了一些创新,灵活采用了小组讨论法、案例分析法、归纳演绎法、等各种教学方法,这些教学方法的灵活运用能够很好地引导学生积极思考、勤于实践,积极完成项目工作任务。在现代教学技术手段运用方面,Python程序设计课程配备了实训指导的操作演示和业务流程图示,提供了大量的案例以及模拟考试练习等学习资料。为学生准备了大量的教学案例和开发案例,训练学生软件开发的能力。学生可以利用校内实训室所提供的环境和工具,进行软件开发实训。这些现代教学技术手段的应用为课程教学改革提供了强有力的技术支持和教学资源支持。五、课程考核与成绩评定(1)考核方式:考查。本课程考核采取考查方式。平时成绩由考勤和回答问题构成,期末考查成绩由平时作业和课程设计构成。(2)课程成绩总评课程成绩(总评)=课堂出勤表现(10%)+课堂提问(10%)+实验报告(40%)+课程设计(50%)成绩组成考核/评价环节分值(或百分比)考核/评价细则出勤10%缺勤一次扣一分,全勤10分课堂提问10%主动回答问题一次加一分平时作业40%根据完成情况给分课程设计40%根据完成情况给分六、推荐教材和教学参考书目与文献推荐教材:《Python语言程序设计基础(第2版)》,嵩天,礼欣,黄天羽著,高等教育出版社,2017.2。参考书目与文献:《Python核心编程(第3版)》,WesleyChun著,孙波翔,李斌,李晗译,人民邮电版社,2016.5。大纲制订人:林春杰大纲审定人:宋振芳教学院长(主任):蒋胜利制订日期:2018年5月20日