APP下载

新工科背景下成果导向的Python编程教学改革

2021-12-19何志权蓝旭佳曹文明

电脑知识与技术 2021年32期
关键词:新工科建设成果导向实践能力

何志权 蓝旭佳 曹文明

摘要:目前,Python语言在科学计算、人工智能、大数据处理挖掘方面应用广泛,越来越多的高校开设了Python语言课程。针对高校学生存在的实践能力缺失、教学效果不佳和科研基础薄弱等问题,根据新工科建设教育规范,结合Python编程特点和电子信息工程培养方案的要求,采用工程项目驱动的方法,提出了项目交互式混合教学的方法,使得学生在应用技术和专业技能方面得到充分锻炼,从而提高动手能力、问题分析能力和项目应用实施能力,进一步深化Python编程教学改革和提升课程教学质量的提高。

关键词: Python编程; 成果导向;实践能力; 新工科建设; 教学改革; 项目交互式

中图分类号:G642        文献标识码:A

文章编号:1009-3044(2021)32-0191-03

1 引言

新工科建设是深化工程教育改革的重大行动以主动应对新一轮科技革命与产业变革,支撑服务创新驱动发展、“中国制造2025”等一系列国家战略。新工科建设提出工程教育要实现从学科导向转为产业需求导向、从专业细分转向跨界交叉融合、从适应技术服务转向科技支撑引领。因此,对工程科技人才提出了更高要求,迫切需要以教学产出为指引,加快工程教育改革创新。

Python等动态语言的优势在于灵活、表达能力强。近年来,企业把Python编程更多应用在人工智能、大数据分析与挖掘和机器学习等新工科建设方面,使得Python成为新工科建设最适合的编程语言。截至2021年8月,Python程序设计语言成为当下最受欢迎的编程语言之一,且受欢迎程度逐年增加,具体数据如图1所示。

目前,高校重视Python编程不仅作为学生专业领域数据分析的工具,而且为 “机器学习”“人工智能”等课程奠定理论基础。电子信息工程专业要求学生具备工业电子设备,计算机应用系统,信息系统方面的设计、研究、开发及应用的初步能力。因此,新工科建设背景下Python编程能力的教学改革既有培养计算机思维的教育意义,也有工程项目应用的现实能力[2]。本文反思Python教学的效果及教学过程中存在的问题,提出成果导向的基于项目驱动的混合教学方法,其目的是提升学生的项目实施能力,问题分析能力,以应对在后续的科研和工作中面临的实际需求。

2 课程特点和问题分析

2.1 Python编程特点

2.1.1 Python编程语言特点

Python是一种高层次的结合了解释性、编译性、互动性和面向对象的脚本语言,具有以下特点:(1)易于学习和阅读:Python结构简单,语法明确,代码定义更清晰,更容易阅读;(2)代码易于维护:由于设计和使用简单,使得Python代码易于维护。Python有一个广泛的标准库,具有丰富的编程资源,工程效率大幅提高;(3)易于移植和扩展:Python代码可移植、可扩展、可嵌入,同C语言无缝连接。同时,Python是一种既支持面向过程的编程也支持面向对象的编程,以一种非常强大又简单的方式实现面向对象编程。基于上述的优势,Python在许多领域应用广泛,例如网站开发、系统运维、数据挖掘,人工智能等领域,能够便捷高效地实现大规模的软件开发[3]。

2.1.2 Python编程教学特点

目前Python编程已经成为计算机专业学生的入门编程语言,在电子工程专业也成为重要的专业课程。大部分教学方法分为理论讲解和实验设计两部分。理论讲解是利用课堂时间讲解课程内容,方便学生系统地学习Python的语法及其使用;而实验课及课程设计则用于巩固强化学生的基础知识,提升动手能力。根据学生对Python编程的实际掌握情况,课程应该考虑如下几方面:

实践性:通过具体的项目,应使学生将所学的Python程序设计方法来解决项目中实际的问题,在课程设计过程中对实践思维的培养应该占据主导地位。

工程性:Python编程应用范围比较广泛,和各个领域联系都较为紧密。所设计的项目应尽可能多地涉及不同的应用方向。学生在学习之后,应用到实际工程项目中就会做到真正的学有所用。

创新性:Python教学的创新将体现在教学方式的转变:基于情景教学法,贴近学生日后可能的工作场景,以便于传授知识并将知识同实际项目结合,使学生主动参与到项目实施进程当中,并将项目经验实践于学习和工作当中。

2.2 Python教學问题描述

在目前很多Python编程教学中采用方法重点在教学模式的创新上,即以学生探究式为主传统讲授式为辅,然而,教学过程本身的组织、规划、设计和实施一样重要。过去以项目实践驱动的方式讲授知识体系结构的教学方法,在实际实施过程中,因为没有明确的项目目标和价值,或者项目同实际应用脱节,导致学生对项目实践性、工程性和创新性理解不够,实际教学效果差强人意。出现这种教学情况的主要原因是以下几点:

1)未结合本学科特点

以电子信息工程专业为例,在培养方案中,Python语言程序设计作为一门重要的专业课,目的使学生产生计算思维,培养编程兴趣,提高动手能力和问题分析能力。目前,电子信息工程专业教学过程中存在的问题主要在学生自学能力和兴趣的激发两方面。部分学生上课期间不听,宁愿课后自己自学,并且课堂学习内容对于他们过于简单枯燥;另一部分学生兴趣不足,遇到困难容易滋生反感、抵触情绪。对于Python编程课程而言,学生学习Python的主要用途是网站设计、数据科学和机器学习等方面的开发和设计。目前在这方面一定程度上Python编程教学活动已经实现了一定程度上的项目覆盖,目前要结合新工科背景下电子信息工程,尤其是人工智能方面的培养要求,工程化、实践化和创新化Python教学活动[4]。

2)不满足新工科建设要求

目前新时期新阶段,新工科建设如何进一步深化和拓展,有哪些关键问题需要再突破?此前教育部高等教育司司长吴岩给出的观点是:高等工程教育体系再造要与科技、产业、社会等体系再造对接,主动应变、积极求变,实现学科专业交叉融合,与新医科、新农科、新文科建设交织交融,掀起新时代高等教育质量革命。Python编程已经成为工科类高等教育阶段的重要课程,但没有实现相关学科专业交叉融合,并且未对产业和社会体系进行对接。

3)未有效地对项目和教学实施进行整合

项目化教学的关键在于Python课程项目化。依据项目工程中涉及的知识和技能,内化在学校教学方法中,并且对知识点和技能点适时迁移和扩充,形成具有体系的项目化教学内容。电子信息工程专业Python编程要将传统课程知识进行项目化,并进行项目的课程化改進,双向改进使得项目和教学整合, 要遵循项课程项目化,项目课程化和“做教学”一体化等原则。

目前在Python编程讲授过程中,学生表现出专业基础薄弱,片面,知识脉络模糊。教学过程中知识点之间联系不够紧密,学生在学习过程中思维不连贯,不利于学生形成系统的思维结构。这不利于学生使用Python很好地完成项目,从而影响教学的效果。在当前的教学的过程中,或注重理论知识教学,或注重项目本身,忽视了项目和教学之间的内在联系。以往的以项目驱动的教学模式进行教学,没有深入地挖掘到Python的工程性、项目性和创新性,学生掌握的知识点相对独立、松散,在教学过程中知识点间衔接不够紧密,从而导致课堂教学质量不高。

3 课程设计与改革方案

3.1 调整现有教学计划和课程体系

结合当今社会需求和新工科建设发展的需要,在现有电子信息工程专业教学计划中增加Python课程的同时,需要注意Python课程与原有其他课程之间的联系,确保教学计划的系统性。新工科背景下电子信息工程在大学第一学期开始了C语言课程,培养学生的计算机思维,编程思维和硬件思维,以便于学生接下来的专业分流。再接着引入Python 课程和面向对象的Java语言。在学习了Python和C语言的基础之后,培养方案中增加了人工智能和大数据方向的专业选修课,可以让学生尽早接触科研和企业项目。根据产业导向和个人兴趣选择基于Python的高级应用、数据抓取、游戏开发、数据挖掘、人工智能等课程的学习。形成相对完整的基于Python的应用开发课程体系,培养学生的实践能力增强软件工程开发和管理经验,满足新工科建设中对大数据和人工智能领域的人才需求。

3.2 统筹Python程序设计的教学内容

首先针对Python编程的基础知识进行训练,其中包括:数据类型,控制结构于函数和模块与包。在这个过程中结合具体的项目对基础知识进行训练,使得学生能掌握Python面向过程编程的方法。接着引入项目中存在的问题和传授如何解决问题,其中包括文件系统管理,调试与测试,进程与线程、Numpy科学计算、可视化编程和机器学习等问题。通过引入工程实例介绍常见问题的分析和侧重点关注。

下一步根据学生感兴趣的方向进行分流引导,在后期的课程中引入Web开发、网站爬虫、数据挖掘、机器学习和人工智能等方向。 由于学生的学习能力和知识掌握情况有差异,需要根据学生的兴趣和学习情况进行分组,逐步完善和优化创新课程教学新模式。对未来的课程,将根据学生选择的感兴趣方向进行兴趣引领和实战开发,把该方向上所需知识和知识框架进行介绍,使学生明确方向和扩展其知识面,为学生自学和系统培养做好引导作用。

3.3 采用“交互式学习”的教学方法

突破传统教学方法,采用交互式项目驱动,增加学生的实践能力。高校应运用自动化教学技术实现创新性的教学方法。通过技术支持,实现学生在网页上交互式编程,不需要进行环境部署,降低上手门槛。这种方式有利于提高学生对基础知识的掌握的效率,实时解决其编程中遇到的问题,提升学生的体感和效果。

以情景交互法为基础,在教学过程中创建贴近学生在实际工程项目的场景,以便于教学和将知识和现实中的技术结合在一起[5]。以“项目需求+项目设计+代码实现+调试开发”的形式,帮助学生掌握项目实施的整个流程,并有能力运用Python实现流程。以笔者在Python 的教学过程为例。在课程初期,通过前期的问卷调查,发现绝大部分学生对工业机器视觉[6]表现出浓厚的兴趣。由于涉及的知识面比较多,包括图像处理,机器学习,数值计算和可视化,因此在整个课程过程中,贯穿了Python知识在这几个方面的应用。理论课上,把基础知识讲解和同这些方面的项目演示相结合。在实验课内容上,以综合题,附加题的形式,使用科研或者工业界的真实数据,设置具有一定难度的题目,范围覆盖工业界常见的机器视觉的真实需求。由于真实的项目比较复杂,需要分解和简化需求,把学生分成小组,多个小组分工合作完成整个项目。 综合题和附加题都会在课后讲解或者以视频的形式供同学们后续自学参考。学期末,绝大部分同学反映学到了实实在在的能力,主要原因就是亲身经历了工业界应用场景,认为课程所学能帮助自己胜任将来的工作。

4 结论

当下,我国正处在科学,技术和经济飞速发展的时期、新知识新应用不断涌现,人工智能是大势所趋。新工科建设背景下的高教改革,计算机和人工智能应给予更多的关注。Python编程不断在发展中,其工程性、项目性和创新性都会成为接下来的发展方向。因此灵活运用Python开发工具与创新方法求解问题,对于工科类学生培养具有重要作用。随着教育改革的不断推进、新工科建设会进一步深化,以实践能力为主的工科专业要把握不同学科间的相互渗透、交叉和综合的趋势,为新工科背景下复合应用型人才的培养进行探索与实践提供了借鉴。

参考文献:

[1] 胡波,冯辉,韩伟力,等.加快新工科建设,推进工程教育改革创新——“综合性高校工程教育发展战略研讨会”综述[J].复旦教育论坛,2017,15(2):20-27,2.

[2] 张莉,金莹,张洁.多样化可扩展的Python教学体系探索与实践[J].计算机教育,2017(8):18-22.

[3] 李祖欣.电子信息工程专业实践教学体系的构建与实施[J].电气电子教学学报,2004,26(3):76-78.

[4] 胥东升.交互式情景教学法在高职教学中的运用[J].辽宁高职学报,2004,6(4):95-96.

[5] 许万里,苑惠娟,郑伟.工业视觉检查系统中的图像处理及模式识别[J].哈尔滨理工大学学报,2001,6(4):22-27.

【通联编辑:代影】

收稿日期:2021-03-20

基金项目:该文的工作和相关的教学实践得到了基金项目“面向深度学习的卓越AI人才培养体系探索与实践”(编号E-RGZN20201035)的支持

作者简介:何志权(1978—),男,湖南邵阳人,讲师,博士,主要研究方向:机器学习和多媒体信息处理;蓝旭佳(1997—),男,广东潮州人,在读硕士研究生,主要研究方向:深度学习图像处理;曹文明(1965—),男,江苏洪波人,教授,博士,主要研究方向:多媒体信息处理、模式识别和人工智能算法研究。

猜你喜欢

新工科建设成果导向实践能力
浅析新升本地方本科院校在新工科建设中的几点思考
新工科背景下的计算机通识性课程建设
“新工科”建设的五个突破与初步探索
高校概率统计课程OBE教学方法研究
基于成果导向教育理念引导高职计算机教育
软件技术专业成果导向课程设计
基于高职成果导向教育的行动学习模式构建
高校单片机课程设计教学方法探讨
刍议大学生实践创新训练计划项目
品德教学利用微课开展预学的实践研究