《Python程序设计》课程教学
2020-12-21张涵翠沈炜周维达
张涵翠 沈炜 周维达
摘 要:新工科教育教学改革的提出,使得Python语言及基于Python的应用研究几乎在顷刻间风靡整个网络。传统的VB程序设计语言被新兴的Python语言替代,传统的教学方法及体系难以适应数据智能的新学科需求。研究以Python程序設计公共基础课程教学为切入点,以学生认知背景、专业兴趣及学习目标为指导,探索一种新的以专业兴趣脉络为导向的教学方法,使学生“知学-乐学-求学”,做到学思结合、学以致用,从而更好的为新工科建设助力,为新时代赋能。
关键词:Python程序设计;新工科建设;兴趣教学
中图分类号:G642 文献标志码:A 文章编号:2096-000X(2020)36-0013-05
Abstract: With the proposal of the new engineering education teaching reform, python language and the application research based on Python have become popular in almost the whole network instantly. The traditional VB programming language is replaced by the Python language. The traditional teaching method and system are difficult to meet the needs of the new requirement of data intelligence. Taking Python Programming public basic course teaching as the breakthrough point, guided by students' cognitive background, professional interests and learning objectives, this study explores a new teaching method guided by the context of professional interests, so that students can "know, enjoy and pursue learning", and combine learning with thinking, and apply what they have learned, so as to better assist the construction of new engineering courses and enable the new era.
Keywords: Python Programming; new engineering construction; interest teaching
2017年,谷歌Alpha Go战胜围棋冠军李世石后,人工智能进入了一个新的阶段,也推动了新一轮的行业热潮,出现了以人工智能、云计算、大数据、物联网及移动互联网为代表的新一代信息技术革命及教育革命。为主动推进教育革命,培养出能适应人工智能时代新就业岗位的人才,我国教育部办公厅陆续发布《关于开展新工科研究与实践的通知》、《新工科研究与实践项目指南》、《高等学校人工智能创新行动计划》等政策,开启了人工智能时代新工科背景下人才培养教育教学改革的实践探索[1-3]。本文基于该新兴的Python程序设计公共计算机基础课程,深入探索学生认知背景,形成一种基于“认知-感知-求知”模式的以专业兴趣脉络为导向的教学方法体系。
一、研究背景及问题的提出
(一)Python语言“初见”
语言,据《现代汉语》释义为“人类特有的表达思想、交流思想的工具”,是人类进行沟通交流的表达方式,其产生和发展蕴示着社会的发展和科技的革新,具有浓厚的时代气息。
20世纪以前,农耕及工业时代,我们学习生活乃至工作都采用人工记录、手动计算的方式,所谓语言即人与人之间交流使用的自然语言;直到1946年第一台电子计算机ENIAC诞生,随之而来的即是01二进制的机器世界,即机器语言,正是机器语言的出现,使我们结束了工业时代,步入信息时代。
20世纪70年代,为普及计算机技术,使非理工科学生也能掌握基础计算机编程技术,BASIC语言应运而生,作为初学者的第一门编程入门课程。同时,源于BASIC的Visual Basic因其直观简单的用户图形界面UI和快速开发特点,在之后的几十年里成为了大学计算机通识课程[4-6]之一。
随着信息技术、互联网技术及云计算等技术的发展,依赖Windows平台的Visual Basic语言其缺点不断暴露出来,难以进行跨平台的系统开发,同时难以应对大数据时代的数据智能处理问题。在当今智能驱动信息为王的时代,其应用需求呈明显下降趋势。
为探索新型、便捷式的适用于非计算机专业学生学习的程序设计语言,Guido Van Rossum在1989年的圣诞节设计开发了Python语言,并于1991年正式公开发行第一版,目前已推出至Python3.x版本。
Python因其语言简单、功能强大、涵盖多种科学计算库、数据处理库以及可视化库等第三方库,能快速融合云计算、大数据、人工智能等新型技术,应用领域广泛,几乎占领整个数据智能时代,人人耳熟能详,更有浙江、山东、北京等省市于2017年出台公告,正式将Python纳入信息技术课程和高考的内容体系,于2017年起各大高校也陆续开设Python程序设计课程作为大学计算机的基础必修课程,可以说Python语言课程规划学习已成为必然趋势。
本文的研究即处于大学计算机通识公共课程:VB语言与Python语言更替的节点,探索新时代背景下适用于非计算机类专业学生学习需求的课程教学方法及教学模式。
(二)Python的“知·识鸿沟”
1. Python知识图谱知多少
Python产于信息时代,连接智能时代,对于广大网民来说并不陌生,它时刻活跃在大家的技术博客、网页新闻以及朋友圈中,如“Python爬取网站”、“Python玩转Excel”、“Python可视化”等等。然而对于Python的知识图谱,学生的反馈却并不理想。经过对我校2019级非计算机专业大一新生的不完全调查统计,只有2.3%的学生表示了解过Python的知识体系结构,仅有8.9%的学生表示初步学习过Python,但对其知识结构仍不清晰,有42%的学生表示仅知道Python,不清楚其知识体系,还有12%的学生表示没有关注过Python。
2. Python应用领域知多少
谈起Python,另一个关注的点则是Python的实际应用场景。Python的流行源于其庞大又完整的生态,小到简单数学计算、几何绘图、日常办公处理,大到科学计算、智能控制、生物多样性保护、智能医疗等等,它都能无缝衔接。
为更好的了解学生对Python应用领域的了解情况,我们对本校2019级非计算机专业大一新生开展了关于Python应用领域关注点的调研,发现学生对爬虫、机器学习及AI、数据处理等热门领域的关注度较高,开发、运维和科学计算类的关注度较低。
3. Python专业应用知多少
Python作为大学计算机公共基础课程,意味着与数学、英语、思政等课程一样,几乎需要面向全校各学院、各专业的学生。为更好的调研学生对所选专业与Python的认知度,我们对工商管理、经济与贸易、公共管理、纺织类、土木类、服装设计、应用心理学及建筑园林8个专业的学生进行了抽样调研分析,获得有效问卷560份,其中有60%以上的同学认为Python是计算机专业课程,对其本专业学习应用关系不大,有27%左右的同学认为Python可适用于很多专业领域,但绝大多数仍是生活、娱乐或信息产业等方面,与专业学习联系较弱,仅有3%左右的学生表示Python在专业应用上很有前景,对解决当前专业问题的解决,剩余有10%左右的同学则表示以后不会使用,不关心其作用。
综合以上三个方面,我们发现,学生对于Python既熟悉又陌生,熟悉是因为它无处不在,活跃在大家的“朋友圈”“网友圈”;陌生则是除了知道它叫Python以及功能强大以外似乎“一无所知”,知道它但不认识它,也即我们指出的“知”与“识”的鸿沟。
二、“认知-感知-求知”模式:兴趣型教学方法的实践探索
基于当前学生存在的Python“知·识鸿沟”问题,为加深学生对Python的认知和理解,激发学生对Python在专业领域的探索学习,我们探索一种“导图认知教学-模仿感知教学-探索求知教学”相结合的兴趣型教学方法体系。
(一)导图式认知教学
20世纪初,哈佛大学就提出了案例教学法,旨在通过一系列的实际问题典型化处理后作为学生学习案例,供学生讨论、分析和决断,提高学生对知识点的理解和应用能力,受到广大教师的喜爱,在各专业课程教学中得到了普遍运用。然而,该方法有一个基本假设前提是学生必须愿意并能够分析、求解案例,即学生需要具备综合问题处理能力。这对于专业学科差异较大、认知背景层次不一的初入门Python的学生来说难度较大;此外,Python涉及知识点及学科领域广泛,内容章节间相对比较分散,不同的知识点既独立又互联,导致各知识点的衔接和连贯性不易掌握,案例教学法难以满足初识学生对Python课程整体知识脉络的把握,学生认知质量难以保障。
基于此,为有效提高学生对Python的整体认知,我们探索采用生长型思维导图方式开展认知教学。思维导图,又称心智导图,早在20世纪80年代由著名国际心理学家托尼博赞发明提出,是一种将认知思维形象化的方法,结合几何图形(點、线、矩形等)绘制成图或树的形式,以此来形象的展示知识脉络,从而帮助学生进行知识点的思考、连接及发散。
本文提出的生长型思维导图方式,即在思维导图的基础之上,考虑学生个体性、群体性差异特征,建立个体及群体生长型思维导图,旨在缓解学生个体及整体差异。
《Python程序设计》作为公共通识课程面向非计算机类专业学生的新生,基本采用大班模式授课,学生组成主要分两种情况:同专业不同班、跨专业不同班。存在异专业学生对Python课程认知及需求的差异。同时,学生在初高中时期的认知背景、成长环境及思维方式、学习方法和学习兴趣等都会产生对课程认识和目标的不同。
为满足新工科时代复合型人才的培养需求,综合考量不同学生组成结构下的Python课堂教学,结合思维导图理论,探索一种“触发式”的课堂教学方法,“由点及面”,从个体出发,纵向(同专业)衍生,横向(跨专业)扩展,建立三层次生长导图体系(如表1所示)。
个体生长型思维导图的构建,由学生结合自身认知情况,基于课堂知识点触发,建立个体生长型思维导图。纵向同专业生长型思维导图则在个体生长导图基础上,综合同班级乃至同专业学生思维认知,建立同专业生长型思维导图。横向跨专业生长型思维导图旨在不同专业学生的跨专业思维碰撞,生成横向可扩展的跨专业生长型思维导图。通过该三层次的导图式认知教学,培养学生学习思维能动性,缩小学生对Python的“知·识鸿沟”。
(二)模仿式感知教学
《Python程序设计》是一门实践应用性强的课程,与当前热门的云计算、大数据、物联网以及人工智能等技术都有极大的关联性,如果只驻足于书本上的理论知识进行“死记硬背”,依照记忆消退曲线,再强的记忆力也抵不过时间的威力,同时在实际工程中的工程应用度不够,不利于实践型人才的培养。
然而,能力的掌握和提升并不是一蹴而就的,需要不断的学习训练。在深度学习模型训练中,我们有一个模仿学习的概念,即给定部分成熟案例供学习者学习,学习者会先通过克隆成功案例的行为,感知学习过程及结果反馈,并在该过程中结合自身特征自我演化。该思想追根溯源则来自生活,如婴幼儿的牙牙学语、中小学生的书法临摹学习等,通过学习成功案例(比如书法家的字帖),不断模仿尝试形成自己的知识。我们便采用该思想,在知识点个体认知的基础上,建立合理的知识点模仿案例程序库(如表2所示),先要求学生模仿实现,再通过调整数据或主要逻辑方法,让学生感知变化,进一步深化知识点的理解。
(三)探索式求知教学
我国宋代著名学者陆九渊曾说“小疑则小进,大疑则大进”,在学习生活中常存质疑,主动探索求知是学习进步的直升梯。
探求式求知教学的难点在于问题发现。而问题的发现源于学生对知识点内涵在专业应用上的把握,提出有探讨性的问题,并带着问题进行分析求解,在求解过程中结合生长型思维导图,将已有知识脉络和探索问题结合起来,采用类比分析、推理演绎以及归纳总结等方法,进一步完善认知体系;再者,模仿已有案例编程实现,感知真实求解过程,再进一步发现问题,探索求知。
由于首次开展探索式求知教学,完全以学生为主,独立发现探索问题的实施难度较大,因此我们采用“教师提问引导-学生主动求解”和“学生主动发现问题求解问题”两种方法[7,8]相结合的方式开展实施,教师引导提问方法主要基于基础知识点、常见应用误区、当前社会应用的需求痛点三方面设计,递进或交叉的结合理论、实际应用以及发展前景三个主题,问题以文字描述形式呈现,主要关注学生理解问题、解决问题的能力。学生主动发现问题求解问题方法则以图、伪代码、流程图等形式展现,内容同样涉及基础理论、实际应用需求及行业痛点,要求学生通过分组讨论、辩论、质疑等方式主动发现问题、求解问题。通过两种方法的穿插使用,激活课堂,营造寓教于乐、轻松又刺激的学习氛围;活跃大脑,加强学习兴趣、明确学习目标。
三、结束语
“授人以鱼,不如授人以渔”,面对知识信息万变的今天,大学教育乃至基础教育都不再是一成不变的“一人讲万人听”及“过期知识”的流水线讲授。学生每天通过微博、博客、朋友圈、开源平台等网络平台摄入大量新颖的技术和知识点,学习真正变成了一个社会性的过程。同时大学是最接近社会的象牙塔,离开校园学生最直接、最迫切面临的即是就业问题,知识的实用性及学习的能动性培养将是大学教育中最重要也是最基本的问题。德国哲学家雅斯贝尔斯曾说过“教育的本质意味着一棵树摇动另一颗树,一朵云推动另一朵云,一个灵魂唤醒另一个灵魂”,课程的教学要以挖掘学生内在的潜能为目的,要像婴儿学习一样,从认知、感知、求知三个方面加大力度,建立学生个性化的生长型思维导图,找寻自己个性化学习方法及节奏,建立专业学科与课程知识之间的“兴趣”脉络,形成兴趣型主动求学方法,迭代式完善认知体系,科学性提升专业工程应用技能,以期在信息智能时代依然大步前行[9]。
参考文献:
[1]沈悦青,叶曦,章俊良,等.“好奇心驱动”拔尖人才培养模式的经验与思考[J].中国大学教学,2019(Z1):30-35,71.
[2]周旭.新时代背景下提升高校人才培养质量的思考[J].教育教学论坛,2019(37):45-46.
[3]郝兴伟,张强.智能时代计算机通识教育的改革探索[J].中國大学教学,2019(Z1):72-74.
[4]于彤彤,李荣芹,徐伟.通识教育背景下计算机基础教学模式探索与研究——以《APP开发》课程为例[J].电子世界,2019(17):85-86.
[5]李凤云,李金双,张昱,等.大学计算机通识课程教学与评价模式的改革实践[J].计算机教育,2019(04):61-63+67.
[6]肖瑞雪,吕国,屈建萍,等.基于混合式教学的高校计算机通识课程设计与实践研究[J].电脑知识与技术,2020,16(16):151-152,158.
[7]覃凤萍,陈佳.基于“问题引导+案例”的数据挖掘课程教学模式设计[J].教育现代化,2020,7(45):169-171.
[8]杨军军,郭丹洁,刘宇峰,等.问题导向式故事教学理念的探索[J].高教学刊,2020(22):1-5.
[9]卢晓云.面向未来的教与学[J].中国大学教学,2019(12):49-53.
*基金项目:教育部产学协同育人项目“云计算联合实验室建设”(编号:201901215021);教育部产学协同育人项目“机器学习实训”(编号:201802003016);浙江理工大学教育改革项目“以专业工程应用能力为导向的《Python程序设计》课堂教学方法的探索与实践”(编号:11120032312020)
作者简介:张涵翠(1990-),女,汉族,浙江嵊州人,工学博士,讲师,研究方向:云计算、大数据处理与机器学习。