《程序设计基础(Python)》教学大纲
一、课程说明
课程编码:1803603002
课程名称(中/英文):程序设计基础/Program Design Basis
课程类别:学科平台课
学时/学分:64/3
先修课程:计算机文化基础
适用专业层次:统计学专业本科
二、课程的地位及作用
本课程是统计学专业的学科平台课程,为必修课。
本课程在整个课程体系中起到为后续专业课程如统计软件应用、R软件、数据挖掘概论、大数据分析等的教学奠定基础的作用。通过本课程的教学,使学生掌握程序设计的基本概念、基本理论、基本方法。通过对本门课程的学习,使学生系统地获得一门常用的数据分析处理编程语言,掌握基本的编程技能,并注重培养学生抽象分析问题和设计算法、编程实现解决问题的能力和常见的程序设计能力、排错能力以及Python软件包查找、使用能力,从而使学生学会利用程序语言去建模、解决一些生物信息、日常生活等方面的数据处理问题。
三、课程教学目标
(一)知识目标
记忆脚本语言的特性及用途、基本数据类型、函数和代码的复用、;理解程序的控制结构、组合数据的类型、文件和数据格式化;了解Python语言的基本构成和程序设计方法。
(二)能力目标
能够能够独立进行程序设计,使用Python开发实际应用,为从事相应的软件开发奠定良好的基础。
(三)素质目标
培养正确的人生观和价值观,具有良好的职业道德和崇高的社会责任感;保护知识产权,促进信息传播;培养创新意识与创新精神,具有科学态度和批判精神,具有参与现代科学技术竞争的基本素质和发展潜力;树立终身学习理念,培养团队合作精神。
四、学时分配表
教学内容 |
学时数 |
第一章 程序设计基本方法 |
2 |
第二章 Python程序实例解析 |
4 |
第三章 基本数据类型 |
4 |
第四章 字符串和文件 |
4 |
第五章 组合数据类型 |
8 |
第六章 函数和代码复用 |
8 |
第七章 程序的控制结构 |
8 |
第八章 程序的循环结构 |
8 |
第九章 图形编程 |
8 |
第十章 算法 |
10 |
五、课程章节目的要求、教学内容、重点难点及教学设计
第一章 程序设计基本方法
【总学时】 2学时
【学时分配】讲课(含研讨) 1 学时/实践 1 学时
【目的要求】
知识目标:记忆程序设计语言的概念;记忆Python语言Hello程序的编写方法; 理解编译语言和脚本语言的区别;理解编写程序的IPO方法;了解计算机和程序设计的关系;了解Python语言的历史和特点;
能力目标:能够独立配置Python语言的开发环境。
素质目标:培养学生的计算思维;培养创新意识与创新精神,具有科学态度和批判精神,具有参与现代科学技术竞争的基本素质和发展潜力;培养团队合作精神。
【教学内容】
1.计算机的概念、程序设计语言、Python语言介绍;
2.Python环境配置。
【教学重点】Python语言介绍及环境配置。
【教学难点】Python环境配置。
【教学方案设计】
以名人名言及Hello程序引入课堂,从计算机概念开始相关知识的学习,以举例等方式辅助教学。
教学方法:讲授法、上机实践法
教学手段:多媒体教学及移动互联网。
第二章 Python程序实例解析
【总学时】 4学时
【学时分配】讲课(含研讨) 2 学时/实践 2 学时
【目的要求】
知识目标:记忆IPO程序设计方法;了解Python程序的基本元素;了解基本的程序设计概念和方法;
能力目标:能够编写10行左右的Python程序;能够编写带GUI的简单Python程序。
素质目标:培养学生的计算思维;培养创新意识与创新精神,具有科学态度和批判精神,具有参与现代科学技术竞争的基本素质和发展潜力;培养团队合作精神。
【教学内容】
第一节 Python程序语法元素分析
1. 程序的基本编写方法;
2.Python程序基本元素;
第二节 Python程序实例
1.基本程序设计实例;
2.GUI程序设计实例。
【教学重点】Python语言介绍及环境配置。
【教学难点】Python环境配置。
【教学方案设计】
以蟒蛇绘制程序引入课堂,开始相关知识的学习,以举例等方式辅助教学。
教学方法:讲授法、上机实践法
教学手段:多媒体教学及移动互联网。
第三章 基本数据类型
【总学时】 4学时
【学时分配】讲课(含研讨) 2 学时/实践 2 学时
【目的要求】
知识目标:记忆Python语言中数字类型的种类、数字库的使用及随机数的使用;理解数据类型的概念。
能力目标:能够编写数字运算相关的Python程序。
素质目标:培养学生的计算思维;培养创新意识与创新精神,具有科学态度和批判精神,具有参与现代科学技术竞争的基本素质和发展潜力;培养团队合作精神。
【教学内容】
第一节 数字类型
1.数字类型基本概念;
2.整数类型;
3.浮点数类型;
4.复数类型。
第二节 数据库
1.数学库的使用;
2.随机数库的使用;
3.相关基本实例。
【教学重点】数学库的使用。
【教学难点】随机数库的使用。
【教学方案设计】
以名人名言引入课堂,开始相关知识的学习,以举例等方式辅助教学。
教学方法:讲授法、上机实践法
教学手段:多媒体教学及移动互联网。
第四章 字符串和文件
【总学时】 4学时
【学时分配】讲课(含研讨) 2 学时/实践 2 学时
【目的要求】
知识目标:记忆字符串格式化及文件操作方法;理解字符串类型的概念;理解Python语言中字符串编码方法;
能力目标:能够编写与字符串相关的Python程序,不少于20行代码。
素质目标:培养学生的计算思维;培养创新意识与创新精神,具有科学态度和批判精神,具有参与现代科学技术竞争的基本素质和发展潜力;培养团队合作精神。
【教学内容】
第一节 字符串操作
1.字符串数据类型;
2.字符串编码方式;
3.字符串的输入输出;
4.字符串的格式化;
第二节 文件操作
1.文件操作方法;
2.相关基本实例。
【教学重点】字符串数据类型与编码方式。
【教学难点】文件操作方法与基本实例。
【教学方案设计】
以名人名言、字符画引入课堂,开始相关知识的学习,以举例等方式辅助教学。
教学方法:讲授法、上机实践法
教学手段:多媒体教学及移动互联网。
第五章 组合数据类型
【总学时】 8学时
【学时分配】讲课(含研讨) 4 学时/实践 4 学时
【目的要求】
知识目标:记忆列表与字典的基本操作;理解列表类型、字典类型的概念;了解运用列表解决问题。
能力目标:能够编写与列表相关的Python程序,不少于20行代码。
素质目标:培养学生的计算思维;培养创新意识与创新精神,具有科学态度和批判精神,具有参与现代科学技术竞争的基本素质和发展潜力;培养团队合作精神。
【教学内容】
第一节 组合数据类型概述
1.序列类型;
2.集合类型;
3.映射类型。
第二节 列表类型和操作
1.列表类型;
2.列表基本操作;
3.列表应用;
4.非序列集合;
第三节 字典类型和操作
1.字典类型的概念;
2.字典类型的操作。
【教学重点】列表基本操作。
【教学难点】列表应用。
【教学方案设计】
以《三国演义》人物统计引入课堂,开始相关知识的学习,以举例等方式辅助教学。
教学方法:讲授法、上机实践法
教学手段:多媒体教学及移动互联网。
第六章 函数和代码复用
【总学时】 8学时
【学时分配】讲课(含研讨) 4 学时/实践 4 学时
【目的要求】
知识目标:记忆函数、递归的使用方法;理解函数的概念、函数调用的基本原理及递归的概念。
能力目标:熟练运用函数解决问题;能够编写与函数相关的Python程序,不少于30行代码。
素质目标:培养学生的计算思维;培养创新意识与创新精神,具有科学态度和批判精神,具有参与现代科学技术竞争的基本素质和发展潜力;培养团队合作精神。
【教学内容】
第一节 函数的基本使用
1.函数定义;
2.函数使用方法;
3.函数调用原则与调用过程。
第二节 函数的参数传递
1.可选参数和可变数量参数;
2.参数的位置和名称传递;
3.函数的返回值;
4.函数对变量的作用。
第三节 函数的递归
1.递归的定义;
2.递归的使用方法。
【教学重点】函数的使用方法。
【教学难点】函数和程序结构、递归。
【教学方案设计】
以科赫曲线引入课堂,开始相关知识的学习,以举例等方式辅助教学。
教学方法:讲授法、上机实践法
教学手段:多媒体教学及移动互联网。
第七章 程序的控制结构
【总学时】 8学时
【学时分配】讲课(含研讨) 4 学时/实践 4 学时
【目的要求】
知识目标:记忆二分支、多分支决策方法;理解分支的概念及与程序控制的关系、异常处理与分支的关系。
能力目标:能够编写与分支相关的Python程序,不少于60行代码。
素质目标:培养学生的计算思维;培养创新意识与创新精神,具有科学态度和批判精神,具有参与现代科学技术竞争的基本素质和发展潜力;培养团队合作精神。
【教学内容】
第一节 程序的基本结构
1.程序流程图;
2.程序的基本结构。
第二节 程序的分支结构
1.分支和程序控制;
2.分支的使用方法;
3.二分支决策;
4.多分支决策。
【教学重点】函数的使用方法。
【教学难点】函数和程序结构、递归。
【教学方案设计】
以圆周率引入课堂,开始相关知识的学习,以举例等方式辅助教学。
教学方法:讲授法、上机实践法
教学手段:多媒体教学及移动互联网。
第八章 程序的循环结构
【总学时】 8学时
【学时分配】讲课(含研讨) 4 学时/实践 4 学时
【目的要求】
知识目标:记忆for循环、无限循环的使用方法;理解循环的概念、布尔表达式的概念。
能力目标:能够编写与循环相关的Python程序,不少于60行代码。
素质目标:培养学生的计算思维;培养创新意识与创新精神,具有科学态度和批判精神,具有参与现代科学技术竞争的基本素质和发展潜力;培养团队合作精神。
【教学内容】
1.无限循环;
2.FOR循环;
3.循环的几种方式;
4.布尔表达式。
【教学重点】循环的几种方式。
【教学难点】布尔表达式。
【教学方案设计】
以举例等方式辅助教学。
教学方法:讲授法、上机实践法
教学手段:多媒体教学及移动互联网。
第九章 图形编程
【总学时】 8学时
【学时分配】讲课(含研讨) 4 学时/实践 4 学时
【目的要求】
知识目标:记忆简单的图形编程;记忆交互式图形编程;记忆用户交互界面的编写方法;理解图形编程的基本原理。
能力目标:能够编写与图形或界面相关的Python程序,不少于150行代码。
素质目标:培养学生的计算思维;培养创新意识与创新精神,具有科学态度和批判精神,具有参与现代科学技术竞争的基本素质和发展潜力;培养团队合作精神。
【教学内容】
1.简单的图形编程;
2.交互式图形编码;
3.图形库的使用;
4.用户交互界面编程。
【教学重点】交互式图形编码。
【教学难点】用户交互界面编程。
【教学方案设计】
以滤镜引入课堂,以举例等方式辅助教学。
教学方法:讲授法、上机实践法
教学手段:多媒体教学及移动互联网。
第十章 算法
【总学时】 10学时
【学时分配】讲课(含研讨) 5 学时/实践 5 学时
【目的要求】
知识目标:记忆算法的概念、查找算法的设计与实现、排序算法的设计与实现;理解汉诺塔问题的解决。
能力目标:能够使用Python程序解决算法类问题,代码精炼,执行效率高。
素质目标:培养学生的计算思维;培养创新意识与创新精神,具有科学态度和批判精神,具有参与现代科学技术竞争的基本素质和发展潜力;培养团队合作精神。
【教学内容】
1.查找算法;
2.排序算法;
3.汉诺塔问题;
4.基本算法比较和分析。
【教学重点】排序算法。
【教学难点】汉诺塔问题。
【教学方案设计】
以举例等方式辅助教学。
教学方法:讲授法、上机实践法
教学手段:多媒体教学及移动互联网。
六、实践教学内容和基本要求
序 号 |
实践(实验) 项目 |
学 时 |
实验类型 |
实验要求 |
1 |
Python环境配置及温度转换程序 |
4 |
基本语法型 |
1.华氏温度和摄氏温度的互转换; 2.熟悉基本的IPO程序设计方法。 |
2 |
字符串处理 |
4 |
基本语法型 |
1.字符串翻转和转译等操作; 2.掌握字符串的使用 |
3 |
三者最大问题 |
4 |
基本语法型 |
1.求三个元素的最大元素; 2.掌握分支的使用。 |
4 |
随机数的使用 |
4 |
基本语法型 |
1.使用Python的数学库math; 2.掌握随机数的使用。 |
5 |
图像分割 |
4 |
基本语法型 |
1.将给定图像按照设定尺寸分割; 2.掌握基本的文件输入输出方法。 |
6 |
Excel文件数据操作 |
4 |
问题求解型 |
1.从Excel文件中读取数据,进行统计; 2.掌握Python语言对Excel文件的操作方法。 |
7 |
文件同步程序 |
4 |
问题求解型 |
1.Windows平台开展目录级别的文件同步; 2.掌握Python语言对文件目录的操作。 |
8 |
图形用户界面 |
4 |
问题求解型 |
1.设计一个图形用户界面; 2.掌握Python语言图形用户界面的绘制。 |
注:有未独立设课的实验教学的课程填写此表。
七、课程考核及成绩评定
考核方式采用笔试和项目程序设计两种方式,由平时测试、期末考核两阶段考核构成,进行全过程的考核。
期末笔试考核占50%,平时测试及程序设计占50%。
八、建议教材及教学参考书
(一)教材
嵩天,礼辛,黄天羽.Python语言程序设计基础(第二版).高等教育出版社,2017.
(二)教学参考书
1.[挪] Magnus Lie Hetland.Python基础教程.人民邮电出版社,2014;
2.[挪威] 赫特兰.Python算法教程.人民邮电出版社,2016.
3.刘浪.Python基础教程.人民邮电出版社,2015.
课程负责人:雷国华 所属学院:公共卫生与管理学院
专业负责人:王 玖 学院院长:曹高芳
二〇一八年六月二十八日