应用型本科高校省级规划教材《Python语言程序设计》建设研究
2018-06-14汪材印吴孝银张志伟
汪材印,崔 琳,吴孝银,张志伟
信息时代的发展趋势为程序设计课程的内容改革提供了依据。Python语言已被列入国家计算机等级考试二级考试科目(代码:66),并将于2018年9月首次开考[1],而当前可供选择的《Python语言程序设计》教材极为有限,为了和国家计算机教育发展保持同步,非常有必要编写《Python语言程序设计》教材,开设Python语言程序设计课程教学。相对于Java、C++和C语言,Python是一门更易学、更严谨的程序设计语言,它能够让用户编写出更易读、易维护的代码[2]。同时,Python也是最接近人工智能的一种语言,是进行大数据挖掘与分析必选的语言之一[3]。数据科学与大数据技术专业的大部分专业课程都是以Python语言为基础的,而为应用型本科高校数据科学与大数据技术专业的学生开设Python语言程序设计课程,一定能为学生的后续学习打下扎实的基础。为此,撰写一本适合应用型本科高校大学生使用的《Python语言程序设计》教材势在必行。
1 现有《Python语言程序设计》教材分析
笔者通过网络搜索收集到了国内已出版的有关Python语言程序设计专著和教材以及一些企业自编的Python语言程序设计培训讲义,经整理、分析发现:(1)目前国内已出版的只讲述Python程序设计知识的专著和教材很少,且内容都是以Python语言为工具,讲述有关机器学习、数据挖掘或者应用统计学方面的知识,不宜作为教材使用。(2)在已出版的Python程序设计专著和教材以及技术资料中多由英文版翻译而来,且部分版本是在Linux操作系统下讲述Python语言,不适合已经习惯了使用Windows操作系统的非计算机专业学生,同时与国家计算机“Python语言程序设计”等级考试要求使用的操作系统不匹配,也无法作为教材使用。(3)在没有合适教材的情况下,国内大多数高校选择美国戴维I.施耐德编著的《Python程序设计》(中英本)和董付国编著的《Python程序设计》两部著作作为教材。前者使用的Python语言版本偏低,知识体系冗长,像一本技术文献字典[4],不宜作为教材;后者由国内高校教师编写,理论体系比较完善,但内容划分太过细致[5],讲解需要的课时量太大,也不适合作为应用型本科高校教材。(4)由企业开发的Python程序设计培训讲义,实践案例较为丰富,但对所讲述的实践案例蕴含的理论知识缺少凝练和总结,案例所对应的理论内容没有很好地体现出来,使用这类讲义作为Python语言程序设计教材进行教学,学生的Python的操作技能有了一定的提升,但不能掌握Python语言程序设计的理论知识体系。综上所述,编写一本适合应用型本科高校学生使用的Python语言程序设计教材迫在眉睫。
2 《Python语言程序设计》教材编写基础
为了帮助计算机二级考生更好地复习备考新设置的“Python语言程序设计”考试科目(代码:66),同时也为数据科学与大数据技术专业学生的学习打下扎实的专业基础,应用型本科高校亟需编写一本既有针对性又具有实践性的Python语言程序设计教材。根据安徽省应用型本科高校相关专业的师资和Python语言程序设计课程教学以及校企合作情况,编写一本适合应用型本科高校教学的省级规划教材《Python语言程序设计》已水到渠成。
2.1 具有丰富的理论知识和熟练的实践技能的编写人员
在省级规划教材《Python语言程序设计》建设中,为保证教材理论知识体系的完善和案例的可操作性,笔者所在的宿州学院借力校际合作、校企合作,联合皖南医学院、安徽工程大学、阜阳师范学院等省属应用型高校和新华三集团,选择《Python语言程序设计》理论深厚的优秀教师和实践技能熟练的工程师参与本教材的编写,且分工明确,每一位编写人员着手编写自己擅长的章节和实践案例。借助于校际合作,不同高校从事Python语言程序设计教学的专业教师将在一起讨论、编写,产生思想碰撞的火花,从而保证教材的理论知识体系更为完善[6-10]。借助于校企合作,吸纳与宿州学院等应用型高校有着深厚合作基础的新华三集团参与教材编写,由他们提供企业一线的实践案例,保证本教材所使用的案例来自于真实的实践,具有一定的创新性和可操作性[11-12]。
2.2 自编的《Python语言程序设计讲义》已在安徽省部分应用型本科高校试用
2015-2016学年和2016-2017年,《Python语言程序设计讲义》在宿州学院等省属应用型本科高校试用过两个循环,取得较好的效果。整个讲义分为两大部分共10章,内容包括:第1章 Python语言概述,第2章 Python语言基础,第3章 Python特征数据类型及其操作,第4章 Python字符串与正则表达式,第5章 Python文件操作,第6章 Python函数与模块,第7章 Python面向对象程序设计,第8章 Python数据库操作,第9章 Python多进程、多线程和第10章 Python GUI。其中,第1部分包括1-6章,阐释Python语言的“核心”内容,包括基本的概念和语句、Python对象、数据类型、条件和循环、文件和输入/输出、错误和异常、函数和函数式编程、模块等内容,着重对学生基本编程能力和计算思维的培养。第2部分7-10章,提供了各种高级主题,包括面向对象编程、执行环境、数据库编程、多线程编程、图形用户界面编程、扩展Python和一些其他材料,着重培养学生的高级编程能力;尤其是以项目的形式,提倡团队协作,突出对学生综合实践能力、创新能力的培养。该讲义虽然在试用中取得了较好的效果,但编写人员仍在逐步完善,成书以后可作为计算机科学类专业、信息科学类专业、电子科学类专业、自动化类专业的专业基础课,也可作为理工科和文科类的公共基础课程序设计教材,还可作为对编程具有浓厚兴趣的中学生的课外阅读资料。
3 拟编写的《Python语言程序设计》教材的特色
拟编写的《Python语言程序设计》教材在编写人员构成、内容安排、教学资源准备、培养学生“双创”能力和计算思维能力方面力求创新性,它将具有以下特色。
3.1 以理论为指导,实现教材内容理论教学和实践教学的融合
本教材的编写力求在教学内容与形式上加以改革,把理论教学和实践教学有机结合起来,以理论为指导,以实践为目的,采用实践巩固理论、理论指导实践的循环模式。目前使用讲义教学时,首先,通过教师的演示展开,然后再将实例不断修改、扩充,引导学生参与到程序的编制过程中,帮助学生将理论知识转化为实践操作能力,达到学以致用的目的。本教材将强化Python语言自身所具有的特征知识的讲解,如Python特征数据类型及其操作、Python文件操作、Python函数与模块、Python面向对象程序设计和Python多进程、多线程等内容。弱化了与Java和C语言具有共性知识的讲解,如Python语言基础和Python字符串与正则表达式的讲解。本教材的编写将是所有参编人员在教学和实践过程中对教与学方法的总结与提升的结果。编写组已形成较为成熟的教学讲义,在国家级大数据应用技术大赛和省级大数据应用技术大赛中,已使用此Python程序设计讲义对参赛学生进行了辅导,多位同学在大数据比赛中获得可喜的奖项。本教材的编写既是对Python语言程序设计教学成果的推广,也是对数据科学与大数据技术专业建设成果的展示。宿州学院数据科学与大数据技术专业是安徽省第一个数据科学与大数据技术专业,在特色专业建设过程中,Python语言程序设计作为专业基础课,已在课程建设、教材建设等方面作了大量的工作,并取得了一定的成绩。
3.2 以能力培养为导向,突出学生“双创”能力和计算思维能力的培养
教材中的代码和实践案例将由新华三集团提供,直接来自于企业一线实际操作,并通过编写组严格把关和筛选,保证让学生除了学到Python程序设计基础知识以外,对Python的实际操作能力也能得到提升。学生可以使用Python语言进行一些实际项目的开发,如申报国家级大学生创新创业训练计划项目或者参加“互联网+”创新创业大赛项目等。每章内容按照“任务分析-案例导入-理论知识介绍-总结与回顾-复习思考-能力拓展”这一结构设置,使得学生从分析任务、学习相关知识到完成任务这一过程得到学习与锻炼,对Python语言的应用得到快速强化,从而促进学生“双创”能力和计算思维能力的培养。
3.3 构建立体化的学习资源,为实现Python程序设计的翻转课堂教学和混合式学习提供支持
编写组在准备撰写《Python语言程序设计》教材的同时,初步构建了部分在线资源。在线资源包括在线实训实验指导、课件PPT和电子教案、在线习题、可以动态更新的在线Python扩展内容阅读等资源。让学生在课前或者课后学习在线课程资源,课堂上再进行强化和巩固,实现线上教学和线下教学的有机融合,真正实现Python程序设计的翻转课堂教学和学生的混合式学习,具体操作如图1所示。随着教材的编写工作的进行,编写组将进一步扩充、完善在线资源。
图1 “Python语言程序设计”课程翻转课堂教学和学生的混合式学习模式
3.4 以新工科思想为指引,教材编写内涵面向未来的工程人才培养
为了保证教材的内容面向未来的工程人员,使学生具备“新素养”,教材编写的着眼点是课程重构,非常关注学生的“核心素养”培养。在教材中,学生“核心素养”的培养将落实在从Python的基本语法开始,带领学生逐步深入地学习各种应用技巧,侧重实战技能,使用简单易懂的实际案例进行分析和操作指导,让学生读起来轻松,操作起来有章可循。每章都将提供有学习目标,以指导学生重点学习及学后检查。章节后的复习思考板块,均准备根据每章内容精选而成,学生可以随时检测自己的学习成果和实战能力,真正做到融会贯通。
把以上四点措施有机结合起来,采取如图2所示的“一体四双翼”的模式来准备省级规划教材《Python语言程序设计》的编写。
图2 《Python语言程序设计》教材编写特色模式图
4 结束语
本文针对当前《Python语言程序设计》教材所存在的问题,从编写人员构成、教材内容安排、教学资源准备、如何培养学生“双创”能力和计算思维能力等方面,研究了如何编写一本具有创新性和新工科特色的省级规划教材。在本文所提出的编写理念指导下,准备编写的省级规划教材《Python语言程序设计》迎合了国家级计算机二级等级考试的要求,同时又能很好地满足数据科学与大数据技术等专业的程序设计基础教学,具有非常广泛的应用价值,将会帮助学生掌握一门终身受益的程序设计语言。
[参 考 文 献]
[1] 关于全国计算机等级考试(NCRE)体系调整的通知[EB/OL]. [2017-10-14].http://www.sohu.com/a/198150927_695173.
[2] 嵩天,黄天羽,礼欣.Python语言:程序设计课程教学改革的理想选择[J]. 中国大学教学,2016(2):42-47.
[3] 狄博,王晓丹.基于Python语言的面向对象程序设计课程教学议[J].计算机工程与科学,2014,36(S1):122-125.
[4] 戴维I 施耐德.Python程序设计[M].车万翔,译.北京:机械工业出版社,2016:1-359.
[5] 董付国.Python程序设计[M].2版.北京:清华大学出版社,2016:1-376.
[6] 刘喜平,万常选,舒蔚,等.器—术—道:程序设计教材建设经验谈[J].计算机教育,2017(11):163-166.
[7] 陈娟,张长海.《程序设计基础》国家级“十二五”规划教材建设经验谈[J].计算机教育,2013(18):122-127.
[8] 汪材印,张家喜.混合式学习理念在《计算机网络》教学中的应用[J].安阳师范学院学报,2011(5):142-144.
[9] 崔琳,宋启祥.面向计算思维的多维混合式翻转教学模式研究:以“数据库原理”课程为例[J].攀枝花学院学报,2017(2):100-105.
[10] 李自力,王宇,蒋义军,等.财经大学程序设计课的特点和Python语言的优势分析[J].计算机教育, 2017(12):28-31.
[11] 陈鄞,苏统华,黄虎杰,等.基于校企合作的软件工程专业系列案例教材建设[J].计算机教育,2017(3):22-24.
[12] 张云霞.基于校企合作的应用型教材建设探索[J]. 教育现代化,2017(2):64-65.