数据分析与知识发现
    主页 > 期刊导读 >

Python数据分析课程云交互式教学方法

一、引言

Python数据分析是我校信息管理与信息系统专业学生的必修课程,也是与数学以及计算机相关专业的基础课程。其目的是通过学习和实践训练,使学生掌握Python程序设计的基本语法、相关工具的结构与组成,并结合具体案例,培养学生使用Python进行数据分析的能力。数据分析需要使用恰当的统计分析方法对收集来的大量数据进行分析,将它们加以汇总和理解并消化,以求最大化地开发数据的功能,发挥数据的作用。数据分析是为了提取有用信息和形成结论对数据加以详细研究和概括总结的过程[1]。Python数据分析课程的授课对象通常是大二学生,在学生拥有高等数学以及统计学等知识的基础上,培养学生使用Python语言编程并将其灵活运用到实践中进行数据分析的能力。课程有广度与深度的双重要求,教学难度较大。

二、Python数据分析课程教学的现状和问题

该课程在介绍Python基本概念的基础上,重点介绍各种文件的读取、数据库的链接、各种图表的制作,并介绍如何进行统计分析及建模以及各种Python包的使用。通过该课程的学习,可以使学生初步具备使用Python进行数据分析的能力。这不仅是培养数据分析师或数据科学家绝好的课程,也非常适合有志从事其他领域工作或科学研究的学生选修学习。笔者通过查阅文献资料、实地调研与访谈,以及实践教学,切实了解到该课程在授课过程中存在的一些突出问题。

1.学生编程语言基础普遍薄弱,部分学生数学知识不足。大二的学生刚刚完成大一通识教育课程的学习,还未接触过编程语言,没有任何关于面向对象语言如Python的基本语法与数据结构的知识积累,这需要在教授如何使用Python实现数据分析之前,用大量课时来培养学生的编程思维,同时介绍基础知识。此外,需要学生掌握恰当的统计分析工具来对数据进行分析。然而根据笔者的经验,许多学生对先修课程如统计学的知识学习得不很扎实,这使得他们在数据分析过程中知其然而不知其所以然,不能达到课程的预期目标。

2.传统教学方法较为单一,课堂交流困难。大多数编程教学采取的是课堂PPT讲授结合上机实验的传统教学方法。这种方法的优点是能够将理论讲授与实践教学分开,学生可以在掌握充分的理论知识后,集中进行上机操作。然而这也正是其弊端所在。学生在理论讲授过程中,对PPT上展现的代码会有将其实现的欲望却不能施行,影响其学习兴趣;而在上机过程中,又不能灵活使用先前所学到的理论知识。

3.学生编程过程中遇到的问题复杂多样,传统教学方法中教师对问题的解决效率低下。编程语言实践过程出现bug是非常普遍的存在,特别是对于还未培养出绝佳编程习惯的学生。Python语言因追求简洁优雅的特性,相比于其他编程语言如Java和C语言缺少强制范例,使得编程更加灵活,更加适合初学者。然而,也正是由于其灵活性,使得当学生运行程序失败的时候,较难排查问题所在。学生在解决问题之前,无法继续运行程序,影响其学习的积极性。

三、Python数据分析云交互式教学方法

联通主义学习理论认为学习即连接和网络形成的过程,网络由节点和连接两部分组成,为了促进持续学习,我们需要培养和维护连接[2]。在信息多样化、知识更新极快的时代,需要通过学习网络来构建学习者的知识网络。教学交互层次塔理论是将远程学习交互模型按照“操作交互—信息交互—概念交互”从下到上表示教学交互由低级到高级、由具体到抽象的一个过程[3]。教学交互层次塔理论将远程学习中复杂的教学交互现象清晰地展示出来,对远程教学设计具有指导意义。高文娜指出,在“互联网+教育”背景下,当在线学习成为远程学习的主流时,对在线学习信息交互层面三类交互活动的设计决定着在线学习质量的高低[4]。结合教学交互层次塔理论,笔者将从云交互式教学方法设计框架以及三个教学交互活动的设计进行一一阐述。

1.云交互式教学方法框架设计。首先,授课老师创建教学材料、数据分析案例、Python代码等课程资源,从本地计算机推送并存储到云端。为了便于管理,使用分布式版本控制系统,创建一个主分支与若干个学生分支。主分支的内容包括教师使用的材料如PPT课件与笔记、课堂用Python代码、发布给学生的练习题。教师可根据需要控制主分支的版本,比如在所有学生均提交作业后才发布对应的答案。其次,学生可以从云端随时克隆和拉取最新版本的学习资料,在课外自主学习。学生完成的代码可以推送到其在云端对应的分支,而通过分布式版本控制系统,这些学生分支不会与主分支产生冲突。最后,教师在课堂讲授过程中共享自己的屏幕,在讲解理论知识的同时,实时编写并运行代码,加深与巩固学生的理解,提高学习效率。同时学生应同步进行代码编写,教师可随时切换到学生屏幕检查其完成情况,达到知行合一的效果。(图1)