李天格,许 鹏
(郑州财经学院,河南 郑州 450000)
数据科学与大数据技术专业(简称大数据专业)是教育部为落实国家《促进大数据发展行动纲要》而批准设立的新工科专业,最早于2016年开设。该专业旨在培养具备分析和解决大数据采集、存储、挖掘与可视化的能力,能从事大数据系统开发与应用的全面发展的高素质应用型人才。其中,该专业的基础核心课程之一是“Python程序设计”。
Python由研究员Guido van Rossum 于1989 年年末开发,于1991年公开发表。是一种简单易学、面向对象的解释型程序设计语言。Python 语法简洁、功能强大、免费且开源、具有丰富和强大的类库。它能够轻松地将复杂的应用程序(尤其是C/C++)粘和在一起,又被称为“胶水”语言。
自从Python语言公开发行后,Python开发者和用户社区逐渐增大,使用率呈线性增长。IEEE Spectrum(美国电气电子工程师学会的权威杂志)发布了2021年编程语言排行榜,官方的标题是:Python 在新技术领域依然是主导地位。TIOBE(世界上最权威的编程语言排行榜单)排行榜将Python评为2021年年度语言。
随着Python 的流行和广泛使用,各大高校相继开设了“Python 程序设计”课程,大数据专业也不例外。Python 在大数据方向的主要进阶应用有数据采集、数据处理、数据挖掘、数据可视化等。“Python 程序设计”作为一门核心基础课,学生对该课程的掌握程度很大地影响了对后续进阶课程的学习效果。鉴于此,本文主要对大数据专业“Python程序设计”课程的建设进行探究,以期提升教学质量。
以笔者所在学校为例,课程的授课对象为来自大学二年级下学期的学生,他们对大学的学习和生活已经有所适应,对新知识、新技术、新内容有强烈的学习渴望。同时,他们乐于探索未知的学习领域,对新的平台、新的工具、新的教学方法都乐于尝试、勇于接受。
另外,经过三个学期的持续学习,学生们已经打下了较为牢固成熟的计算机、数学、思想政治修养基础。以计算机专业基础为例,在学习本门课程之前,学生们已经学习了两门程序设计语言课程,分别是“C语言程序设计”和“面向对象程序设计”。因此他们已经具备了一定的学习能力和一定的编程语言基础。计算机编程语言的学习都是互通的,学生可以很自然地将前面所学的知识以及沉淀的思维方式迁移到本门课程的学习中来。
通过本课程的学习,学生能够理解Python 的编程模式,熟练Python 列表、元组、字典、集合等基本数据类型的使用,掌握Python 的结构化编程方法,熟悉Python 面向对象编程模式,以及Python 在数据爬虫、数据挖掘分析、数据可视化的简单使用。同时还应培养学生的综合能力和综合素质。
理解Python 语言的基本语法、条件表达式、选择结构、循环结构。掌握Python 常见数据结构的使用以及面向对象编程的相关知识。了解函数的基本概念以及Python的相关扩展库。
具有严谨的逻辑思维能力和正确的分析推理能力;具有较强的自主学习能力以及将理论与实际相结合的问题解决能力;能够进行简单的数据爬虫、数据分析、数据可视化编程。
具有对Python 编程的强烈兴趣;具有爱国、爱党、拥护社会主义的基本素质;具有思想政治明确、品行良好、身心健康的坚强素质;具有团结合作、善于沟通、勇于创新的精神;具有精益求精的大国工匠精神,激发学生科技报国的家国情怀和使命担当。
翻转课堂(Flipped Classroom)是对传统课堂教学模式进行了翻转和颠倒,它将以往在课堂完成的知识传授环节放到课前进行,而把对知识的吸收内化环节放在课内进行,并将学习的决定权从教师手上交还给了学生。如前文所述,学生们在学习本门课程之前已经学习了两门编程语言类课程,具有一定的计算机语言基础。因此,本课程的基础语法知识(数据类型、运算符及表达式、程序流程控制)对学生来说较为简单,这些基础知识可以在课前让学生自主学习,具体途径有MOOC 公开课,教师自行录制数字材料至超星学习通等线上学习平台,而在课上注重对这些知识的应用学习。对于后续章节(映射、集合、函数、面向对象、Python爬虫、数据分析、数据可视化)可结合线上线下进行混合式教学,线上依托超星学习通开展教学,线下以多媒体教室教学和机房实践为主。最后,学生可通过学习通、QQ、微信等媒介进行交流。
习近平总书记在全国高校思想政治工作会议上强调,“要坚持把立德树人作为中心环节,把思想政治工作贯穿教育教学全过程,实现全员育人、全程育人、全方位育人”。“课程思政”作为高校思想政治教育的重要载体,不仅能满足“三全育人”的要求,还有助于培养合格的社会主义接班人。因此,本课程建设要以课程思政为核心进行展开,不仅关注学生的知识掌握、能力培养,还应培养学生优秀的品德和高尚的素养。课程思政融入示例如表1所示。
表1 课程思政融入示例
案例驱动教学是一种新的教学模式,指的是将所学内容通过案例的形式展现出来。教学可分为三步,分别是案例引入、案例分析和案例实现。以Python 数据分析章节为例,可引入《红楼梦》分析案例,通过对案例的目标(制作《红楼梦》高频词词云以及社交关系网络图)介绍来吸引学生的学习兴趣和学习主动性,接着讲解实现该案例所需要的Python 库,通过对这些“库”的讲解来引导学生自主编程,从而实现案例的相应功能。课后可以给学生布置类似的作业,以让学生对课堂所学案例内容进行举一反三的掌握。例如,可让学生下载《三国演义》txt格式电子书,制作高频词云,并为出场次数最多的20个人物制作社交关系网络图。
本课程的授课学生均来自于大数据专业,截止到大二下学期,学生主要修学专业基础课程。专业进阶课程(如Python 数据爬虫、大数据可视化、大数据处理技术等)较多地放在了高年级修学。因此,大数据专业的“Python 程序设计”课程教学可以结合专业特色,在前期给学生们铺垫或拓展一些大数据应用相关的知识,包括但不限于Python 的常用库,如numpy、matplotlib、requests、BeautifulSoup等。
本课程通常采用“纸质化”考核方式,而“Python程序设计”课程实践性较强,对学生的分析能力、实际问题解决能力、综合运用能力要求较高,而这些能力的检测并不能通过一张纸质考核试卷来实现,因此,需要重点优化考核方式,如最终成绩可分为平时成绩和期末成绩两部分。其中,平时成绩可以包括平时作业,平时测试,课堂表现(包括但不限于课堂提问,课堂参与度等)和上机实验。而期末成绩也可以由两部分构成,分别为纸质试卷和综合上机,前者考察基础知识、基础理论、基本技能的掌握程度;后者考察学生的综合应用能力和实践动手能力。
本课程是一门实践性、应用性、综合性较强的课程。因此,对于本课程,可增加为期一周的课程设计以期提升学生的实践动手能力和知识综合运用能力。课程设计的内容可以分为两大类:系统类和分析类。前者可以做一个小型实用的系统,比如用户注册信息管理系统。后者可以利用已学的爬虫和可视化技术进行简单的分析,比如大数据行业热门招聘岗位分析与可视化。
本课程在MOOCs 上有很多公开课,如南开大学的“Python编程基础”、北京理工大学的“Python语言程序设计”、北京大学的“实用Python 程序设计”、南京大学的“用Python 玩转数据”等。学生可以根据自身情况有针对性的学习慕课课程中的相关教学内容。另外,教师可以在超星学习通平台上传学习资料,包括但不限于课前导入视频、课后习题、课后拓展材料等。以供学生课前预习和课后复习。总之,教师和学生都应充分利用以互联网+为基础的各种现有教学资源,以期更加便捷、高效地学习本课程。
大数据时代,作为数据科学与大数据专业的学生,数据素养是必备素养。因此,本课程应注重培养学生的数据素养。国内外学者从不同的角度对数据素养的概念进行了表述,而目前一般认为数据素养教育包含3 个模块的内容:培养数据意识、培育数据能力、树立数据伦理。其中第二项数据能力即贯穿于数据生命全周期的数据采集、表示、描述、发现与检索、选择与评价、分析、利用、引用、整合、复用、保存、管理等一系列活动所需的技能。
Python 语言拥有大量优秀的第三方库,可以用于数据分析的各个环节。因此,本课程应注意培养学生的数据素养,使得学生成为合格的大数据人才。
本文首先概述了“Python程序设计”这门课程的学情和课程目标,并从多个方面对该课程的建设进行了探究,以期提升该门课的教学质量和教学效果,并为后面高年级的专业进阶教学打下坚实的基础。实践证明:这些举措在教学中取得了较好的成效。下一步将重点探究课程的思政建设,争取形成更加丰富、详实的思政体系库。