APP下载

线上线下混合教学模式下Python程序设计教学改革研究*

2022-04-14黄胜刘伟炜

科学与信息化 2022年7期
关键词:程序设计专业课程

黄胜 刘伟炜

湖南涉外经济学院 湖南 长沙 410205

引言

随着信息技术的快速发展,手机、平板、笔记本电脑等移动设备逐渐融入了人们的生活。对比过去,移动设备带来的移动式学习和碎片化学习更能满足当代学生自主学习和个性化学习的需求,而这是传统的大学课堂和简单的在线课程不能提供的。面对以上问题,高校教育者应积极寻求变革,对传统的课堂教学模式进行改变,对多种教学模式进行大胆尝试,用以来满足学生不断变化的学习需求。

Python程序设计不仅作为全校公选课,用于培养和提高在校大学生的计算思维能力,更是计算机类专业学生学习大数据处理和数据分析的先修课程。如何在课程体系中构建统一的平台,其中设置低阶内容适合于所有专业的学生用于进行基础编程能力的学习;设置中阶内容适合于理工类的学生和有强烈学习兴趣并有一定编程基础的文科学生学习,用于运用Python语言解决专业中遇到的实际工程问题;设置高阶内容适合于本专业的学生学习,例如:中文分词、正则化处理、网络爬虫、非结构化数据库连接等内容,为后续课程学习打下坚实的基础。笔者结合多年教学经验,针对Python语言的特点,采用线上线下混合教学模式对该门课程进行教学改革试点,通过几个教学周期的观察发现,对比传统的课堂教学模式,混合教学模式在提高学生理论知识的掌握程度上、在提高学生的实践动手能力上都有显著的效果,而且对不同能力水平的学生更具有包容性。

1 Python程序设计课程教学中存在的问题

Python语言是一种跨平台、开源的解释型编程语言,它的特点是代码简洁、语法优美且简单易学[1-2]。然而从教学实践情况看,一门看似“简单”的课程,却让很多学生感觉无法适从。那么在Python程序设计课程的教学过程中,存在哪些问题呢?

1.1 课程定位不清

Python程序设计不仅在计算机相关专业开设,也在非计算机专业作为公共选修课开设,相当部分高校将其定位于编程入门课程,通过这门课的学习,学生只是要求具有用 Python 编写程序的基本能力。然而Python语言应的最大特点就是拥有强大的第三方库,这使得它在Web开发、科学计算、自动运维、多媒体应用和爬虫开发等领域受到广泛的应用。因而只在课堂中讲述Python语言的基础知识和语法结构,远远满足不了学生的学习预期,不能激起学生的学习兴趣,其授课效果、课堂吸引力可想而知。

1.2 教学任务重

Python程序设计作为计算机相关专业大数据处理和数据分析的先导课程,除了安排学习Python编程精讲以外,还要涉及中英文分词、JSON库、正则化、网络爬虫、数据库编程、并行处理和数据可视化等内容,而该门课程的总课时只有32节,学习紧任务重,这就造成了老师为了符合教学进度,就大水漫灌,导致了学生学习起来叫苦不迭,最终导致的结果是教师教得累,学生学得辛苦,学习效果却非常差,让后续课程的开展设置了很大的障碍。因此,开辟第二学习战场,扩展课堂教学时间是非常必要的。课程组将选择部分简单的教学内容转移到线上教学,通过学生线上自学,不仅减轻了教师课堂的教学压力,增加了学生的自信心,还提高了学生的自主学习能力。

1.3 学生参与度不高

对于非计算机专业的学生来说,Python程序设计只是作为公选课,很多学生的学习目的就是为了拿学分,其底层的学习驱动力不强,学习积极性不高;对于计算机专业的学生来说,已经在前期学习了C语言和Java语言,重新再学习一门编程语言,尤其是还要按照要求重新学习基本语法知识,容易产生学习惰性,积极性不高。如何调动不同专业,不同层次的学生学习积极性,是课题组需要研究的一个长期问题。

1.4 高质量、系统性教学支撑资源有待进一步完善

现阶段关于Python程序设计的网络视频教学资源非常丰富,然而网上的教学资源为了追求普及性和受众面,其所涉及的知识点往往全而不专,并不完全适合本校的学生,例如:本校学生需要经常分析处理金融数据,需要在课程中开设Tushare+Pandas+Matplotlib库的讲解,而这些内容在很多教学资源中是没有提及的。其二,网上资源多是采用视频讲解的方式,缺乏网上实践练习,学生的动手能力得不到锻炼。因而,课程组需要根据学校的教学定位和学生的能力水平,建设从教材、到案例、到平台等相配套的系统性、高质量的教学资源。

2 Python程序设计教学实践探索和思考

针对上述问题,课程组根据不同专业学生的编程能力和需求出发,将Python课程的知识点划分为低阶、中阶和高阶三个层次,并在课程讲解中依据学生所处专业的特点,将对应专业的真实案例和知识点进行串联,在解题过程中掌握和运用知识,巩固知识的同时还提升了学生的学习兴趣。与此同时,我们通过制定“自主获取知识(课前)+实践构建知识(课堂)+巩固知识(课后)”的教学模式,并已初步建设完成超星课程平台和线上实践平台,把理论知识与实际应用相结合,不断激发学生的学习兴趣和积极性,让学生在教学的每个过程中都能获得学习的成就感,从而取得良好的教学效果[3]。

2.1 积极拓展课程思政,思考如何在教学过程中挖掘思政元素

课程建设必须以立德树人为根本,教师在课堂教学中不能仅仅传授知识,还要充分发挥教师的人格魅力,通过自己的师风师德引导学生培养良好的科学素质和职业道德。另一方面教师需要整合课内课外的资源,将思政教育方法引入到课程教学中,并充分挖掘课程知识中所包含的思想价值,在增加课程趣味性的同时,着力培养学生正确的唯物史观和价值观,让学生在课程教学中坚定自己爱党、爱国、爱社会主义的理想信念,实现价值、知识和能力相统一。

2.2 教学内容的划分

课程组按照不同专业的需求,将课程内容划分为3个层次。其中低阶内容包括课程导学、Python初体验、Python集成开发环境的安装与配置、Python基本数据类型、流程控制、函数和代码复用、组合数据类型、文件和数据格式化、基本扩展模块(datatime模块、算术模块、持久化模块、文件读写模块)等内容,适合所有专业学生进行选择性学习;中阶内容包括类和面向对象、图形化用户界面、数据库编程、中级扩展模块(中英文分词、PIL、正则化、Requests、Beautiful Soup、TuShare等)适合于理工类专业学生进行选择性学习;高阶内容包括高级扩展模块(Numpy、Pandas、Scipy)、多线程编程、数据可视化和网络爬虫框架等内容,适合于计算机类不同专业学生进行选择学习。

2.3 设计混合教学流程

Python程序设计课程的混合式教学设计主要由课前预习、课中讨论、课后知识巩固三部分组成。课前教学通过发布课前任务的形式,让学生通过微视频学习和教学课件学习提前自主获取课堂知识,并针对学习难点提出疑问。课堂教学运用研讨式及启发式情景教学方法,帮助学生构建知识体系。例如:引入π的求解案例,将学生分成3组,分别通过蒙特卡洛方法、莱布尼茨公式和Machin公式分别进行求解,在过程中植入复杂工程计算、random库和循环的知识点,并最终由小组进行成果展示。课后教学通过课后专项练习、线上实践练习、学习总结和论坛交流的形式,巩固学生课堂知识,并通过与学生交流和定期发布问卷调查等方式获取学生反馈,并根据反馈意见课程组将进行教学反思和教学方案优化,提高学生的满意度。

2.4 提升学生学习积极性。

针对非计算机专业的学生,课程组可以通过在教学过程中穿插学生对应专业的案例,通过计算机+专业的形式,让学生在学习中感觉到课程中学习的知识是对自己专业有所帮助,提高学生的学习兴趣。例如:可以针对商学院的特点,添加python+金融数据分析的案例分析,针对文法学院的特点,添加python+文学作品分词分析的案例,针对机械学院的特点,增加python+工程应用案例。

计算机专业学生不仅需要学生掌握Python语言的语法知识,还需要学生掌握其强大的生态工具,能够初步解决例如:大数据处理、图形图像处理、科学计算可视化等领域中的实际问题,为后续大数据处理等课程奠定坚实的基础。因此,课程组在教学内容中引入第三方库的内容,利用章节知识和第三方库解决实际工程问题。例如,课程组在流程控制章节添加了Random库的讲解,让学生利用章节所学知识(循环结构和分支结构)和Random库结合,使用蒙特卡洛思想求解圆周率π。让学生在解决实际问题过程中,不仅加深了对教学知识点的理解,还拓展了Python的第三方库知识,激励了学生的实践探索兴趣。

2.5 建立全过程考核评价机制。

具体而言,从过程考核和结果考核两个维度考虑。从过程考核来看,通过专家评审、同行评价、学生调查问卷等多种形式进行效果评估(如图1所示)。例如:随机抽选了125名学生分别对教学目标、教学内容、教学考核方式和评分标准、内容是否有挑战度等问题进行调研,结果总体满意度达到90%。

图1 某班问卷调查部分截图

从结果考核来看,将传统教学和混合式教学通过SPSS并结合问卷调查与学情数据对学生成绩进行分析,具体如下所示,平均成绩提高了12分,标准差由原来的5.53降为5.30,均值的标准差由0.78降为0.75。总体上看,线上线下混合模式更能提高学生的学习兴趣,提高学生对知识点的掌握,也更具有包容性(实际效果如图2、图3所示)。

图2 学生平均学习时长

图3 学生成绩分布图

2.6 加强资源建设

逐步形成了较为系统化教学支撑资源,以支撑混合式教学模式的完成。 具体包括: ①以教材和在线教学视频为主的课程教学资源建设(现有授课视频78个,视频总时长817分钟,非视频资源206个,习题库448题,线上实践教学项目57个,现累计页面浏览量952454,累计选课人数832人),具体内容如图4所示;②充分利用以实践教学为主的头歌教学平台(www.educoder.net)[4];③具备合作关系、面向不同行业的本地化企业为主的“第二校园” 。

图4 线上教学基础数据

3 结束语

Python程序设计不仅肩负着大学计算机教育的普及工作,也是计算机专业深入大数据处理和数据分析的基础入门课程,在大学本科教育中占据了非常重要的地位。本文立足于本校学生的学习特性,引入混合式教学模式,切合实际的改进教学流程、更新教学内容、改革考核评价模式,并付诸实际教学过程中。实践表明,该方案充分发挥了线上教学的优势,将部分基础教学内容搬上了网络,既变相的扩展了教学时间,提高了学生学习自主性,又能利用线上教学的功能,收集学生的学习的数据,便于教师实时动态的调整教学进度。与此同时,教师在课堂教育中将拥有更多的时间来进行课程思政教育和开展例如课堂讨论、专题汇报多种形式的教学,提高学生的学习参与度。Python程序设计课程的教学改革不是一蹴而就的过程,这需要教育工作者投入更多的时间和精力,进行深入的教学改革,使其教学内容不断的贴合社会发展的需要,培养出更多的高素质计算机应用人才[5]。

猜你喜欢

程序设计专业课程
基于OBE的Java程序设计个性化教学研究
项目化教学在Python程序设计课程中的应用
C++程序设计课程教学改革研究
一句话惹毛一个专业
课程思政在专业基础课程中的实施
《管理学原理》课程中开展“课程思政”教学改革
医学专业“Python程序设计”课程教学改革总结与思考
课程思政在组织行为学课程教学中的探索与实践
部分专业介绍
更聚焦、更深入、更专业的数据分析