面向非计算机专业学生的Python教学内容设计

2018-08-03 07:25闯跃龙郭文平
台州学院学报 2018年3期
关键词:计算机专业信息管理信息系统

闯跃龙,郭文平

(台州学院 数学与信息工程学院, 浙江 临海 317000)

当前,国外许多高校已采用Python作为程序语言教学对象。而国内,随着Python的逐渐升温,一些高校也开始开展Python教学。根据2015年的统计[1],国内大概10所大学设立了Python课程,而且大多是小班尝试。这种现象近年来并没有得到显著提升,Python在高校的教学并没有得到普及[3]。此外,相比于国外国内的Python语言教学还处于起步阶段,而且主要集中在计算机专业。对于非计算机专业开展Python教学还是非常少见。大连理工大学在非计算机专业开展Python语言教学做了探索性的工作[2],并且取得了良好的实践效果。

本文旨在分析Python的语言特性和不同专业的专业背景,提出针对非计算机专业学生开展Python教学的教学内容选择,推动Python语言教学在高校的推广。

1 Python语言的特点与国内高校课程建设现状

Python在近些年得到了迅猛的发展。图1显示了从2004年1月至2018年4月时间段内全球用户利用谷歌搜索引擎搜索关键词“Python”的频率。该数据可以从侧面反映出关键词的受欢迎程度。从该图可以看出2004年至2012年底这段时间Python并没有受到较大的关注,尽管Python获得了长足的进步并吸引了越来越多的人参与Python的发展和使用,该语言并没有获得如同C/C++又或是Java等语言的同等地位,只是在某些领域内较为流行。而这种情况直到2012年底发生了根本性的变化,Python受到的关注度大幅上升。之所以出现这种现象,与大数据、人工智能等领域的火热有关。Python语言对于快速解决此类问题有着天然的优势,因此获得了越来越多的关注。

图1 2004/1-2018/4月关键词Python搜索热度Fig.1 The search frequency of the keyword “Python”between 2004/1 and 2018/4

目前国内高校关于Python的教学主要集中在计算机专业,只有个别学校开展了针对非计算机专业Python 教学的试点[2,6,7,8]。大连理工大学[2]在人文和外语两个学院进行了试点,采用 Python 作为程序设计必修课,并以电影数据的爬取与展示作为案例,说明如何针对非计算机专业学生开展Python教学。天津大学仁爱学院[6]针对非计算机专业的Python教学也做了尝试,该校把Python的教学内容划分为基础部分、能力部分和应用部分三部分,并以“PM2.5空气污染指数分级问题”为例,探讨如何面向非计算机专业学生开展Python教学。第二军医大学[7]以必修课的形式面向生物技术专业进行了“Python程序设计”教改试点,采用翻转课堂等新型的教学方式提高非计算机专业学生对于Python的理解。赵广辉[8]针对高校工科专业程序设计课程的现状和存在问题进行分析,探讨基于Python和MOOC的程序设计教学设计方案。以上应用尽管是面向非计算机专业开展Python教学,同时也结合了新颖的教学方法(如MOOC、翻转课堂等)并取得了一定的成效,但其重点还是放在本专业上,针对本专业的实际情况进行教学设计,而没有分析Python的知识点及其与非计算机专业间的关系,因而没有从根本上解决非计算机专业中Python教学内容的设计问题。

2 非计算机专业的Python教学内容设计

如前所述,尽管一些高校开展了面向非计算机专业的Python教学,并采用了MOOC、翻转课堂等教学方法,但目前整体来说,针对非计算机专业的Python教学主要还是针对个别专业进行设计,整体上依然处在探索阶段,并没有形成可以推广的一般性的教学方案。一般来说,非计算机学科可以分为哲学、经济学、法学、教育学、文学、历史学、理学、农学、医学、军事学、管理学、艺术学和非计算机专业的工科类等几个类别。可见非计算机专业包罗万象,它们不仅与计算机专业具有不同的特点,彼此之前也千差万别。在这种情况下,如何有针对性地开展Python语言的教学就显得尤为重要。为了解决该问题,本文针对非计算机专业的自身特点,结合Python语言的语法结构,以管理学中的信息管理与信息系统专业和经济学中的金融专业为例探讨面向不同的非计算机专业学生的Python教学内容设计。

2.1 Python语法结构

从语法结构上来说,Python教学内容分为基本知识点和高级知识点,如图2所示。其中基本语法主要包括:基本环境配置、基本的数据结构、程序控制流程,程序的输入输和基本第三方库(如Numpy)等。如前所示,这部分内容属于Python的基础知识,对于任何专业的学生来说都是必须要学习的,因此该内容可以作为不同专业学生的Python课程公共部分。

图2 Python教学内容结构Fig.2 The structure of Python teaching contents

Python的高级知识点主要是Python面向不同领域的高级应用,主要包括:网络编程、数据库处理、数据可视化、数学工具和机器学习等几个方面。

非计算机专业种类繁多,在进行Python教学的过程中必须要结合本专业的自身特点,有选择的安排Python教学内容。本文把Python语法结构分为基本和高级两类知识点,并且在每个知识点中也把涉及到的内容作了划分。因此,不同专业在设计Python教学内容的时候可以根据本专业的具体情况选择基本知识点和部分高级知识点。目前Python在许多学科中都有着重要的地位,如信息管理与信息系统、物理、金融或生物信息等。本文从信息管理与信息系统和金融两个专业入手,讨论Python面向不同专业的差异化教学内容设计。

2.2 信息管理与信息系统专业的Python教学内容设计

从专业的名字即可发现“信息”对于该专业的重要性。因此,针对该专业,Python的教学重点应放在解决信息管理中的实际问题和提高工作效率上。当前的信息管理与信息系统专业的教学很容易陷入到两个极端:泛泛而谈的纯理论和过于着重编程的纯技术,而后者常常与计算机专业相混淆,导致信息管理的学生学习起来痛苦且无趣。在Python教学过程中,应结合本专业的实际情况,选择具有代表性的高级知识点。建议以下三个方面作为信息管理与信息系统专业的Python教学高级内容知识点:网络编程、数据库处理和数据可视化等(如图3所示)。之所以选择以上三个模块作为教学重点,主要原因正是信息管理的“信息”两字。随着网络的普及,信息数字化、信息海量化的特点愈发显著,而大数据时代的到来更是加强了这一特点。有鉴于此,我们建议以上三部分作为教学重点,从网络信息的获取到信息的保存和数据的展示,为信息管理与信息系统专业的学生提供完整的数据处理流程。具体的教学内容如表1所示。

图3 信息管理与信息系统专业Python教学知识点Fig.3 The teaching knowledge point of Python for the Information Management and Information System

表1 信息管理与信息系统专业Python知识点教学内容Table.1 The teaching contents of Python for the Information Management and Information System

2.3 金融专业的Python教学内容设计

近年来,金融机构对IT技术的研发投入越来越大,金融专业的学生学习如何快速处理/分析数据顺应当前的市场需求,而Python作为工具正是最好的选择之一。Python语言的高可读性、低学习成本性和高开发效率性等特点完全满足银行业的需求。从金融专业和Python语言的自身特点,我们建议选择数据可视化、数学工具和机器学习等作为Python高级知识点的教学内容(如图4所示)。数据可视化是反应海量数据内在规律的最直观方式,因此该部分内容是金融专业的重点教授内容。利用机器学习的相关算法可以帮助金融专业的学生分析、获取隐藏在海量数据里边的内在规律。鉴于该模块涵盖的知识点非常庞大,而且该领域始终处在研究的前沿,每年都会有很多新的研究成果出现。因此,这部分内容建议以基础教学为主,帮助学生掌握机器学习的基本概念和模型。数学工具是机器学习的基础和先导知识,因此这部分内容也是必须教授的内容。具体教学内容如表2所示。

图4 金融专业Python教学知识点Fig.4 The teaching knowledge point of Python for the Finance

表2 金融专业Python高级知识点教学内容Table.2 The teaching contents of Python for the Finance

3 教学效果

我们先后共指导了国家级创新创业学生项目、浙江省服务外包学生竞赛、浙江省大学生科技创新活动计划(新苗人才计划)项目和校/院级学生项目5项,涉及学生人数共计30人次。其中,涉及到的所有项目整体或部分均采用了Python作为开发语言 (表3显示了相关的部分项目及及其涉及Python的模块)。完成项目的学生团队是由多个不同专业构成(如信息管理与信息系统、电子、数学等专业),而且不同学生负责的项目模块也各不相同。因此在整个项目指导过程中采用了本文提出的Python教学内容设计方法进行授课——针对不同专业背景或负责不同项目模块的学生进行Python教学内容设计。实践证明90%以上接受Python教学的学生均可以做到掌握Python基本知识点,并很好地完成项目的开发任务。已经结题的项目如国家级学生创新创业项目,在结题答辩时获得了评审专家的好评,也从侧面证明了本文提出的Python教学内容设计方法的有效性。

表3 相关的部分项目及其涉及Python模块Table.3 The parts of the projects and their modules involved in Python

4 结束语

本文根据Python语言的自身特点,把Python的语法结构分为基本和高级两部分知识点,并根据其难度或涉及的领域进行了细分。针对目前高校非计算机专业开展Python教学的现状,结合Python的语法结构提出了一般化的教学内容设计方法,并以信息管理与信息系统和金融两个专业为例探讨如何利用该方法实现具体专业的Python教学内容设计。实践证明,Python教学内容的设计如果可以做到以Python语法结构为基础,以本专业实际情况为出发点,必然能做到有的放矢,切实提高学生掌握Python语言的能力。

猜你喜欢
计算机专业信息管理信息系统
新工科背景下计算机专业创新创业人才培养探究
企业信息系统安全防护
中职计算机专业产教融合混合式教学研究与实践
造价信息管理在海外投标中的应用探讨
地球物理台网仪器维修信息管理的研究与实现
“以赛促学,以赛促教”促进计算机专业教学理念创新与实践研究
评《现代物流信息管理与技术》(书评)
基于区块链的通航维护信息系统研究
信息系统审计中计算机审计的应用
面向计算机专业的电路与模电教学方法研究