李俊芳

[摘           要]  在社会不断发展下,更加注重应用型人才的培养,这对本科院校教学提出了新的要求。而对非计算机专业开设的Python程序设计课程,主要目的是培养复合型应用人才,通过教学帮助学生掌握程序设计的思想和方法,促使学生养成解决问题的思维习惯,并能够运用这种思维解决工程领域的实际问题。主要分析了应用型本科院校非计算机专业Python程序设计课程面临的问题、Python程序设计课程教学内容设计以及Python程序设计课程教学具体的实施途径。

[关    键   词]  应用型本科院校;非计算机专业;Python程序设计;教学模式

[中图分类号]  G642                   [文献标志码]  A                      [文章编号]  2096-0603(2020)32-0058-02

目前,新一代人工智能技术已经逐步应用起来,这也意味着要进行再一次的工业革命,而作为应用型本科院校,在这一背景下如何跟上时代脚步,是当下众多高校教育工作者值得探究的问题。在非计算机专业开设Python程序设计课程,主要是帮助学生掌握基础的计算机知识,具备程序设计思维和方法,可以用于解决问题。Python作为一种高级脚本语言,其融合了解释性、编译性、互动性等语言,受到了人工智能领域的广泛应用。本文主要结合多年的教学经验,对其教学在教学内容、方法、模式等相关问题进行了研究和分析。

一、应用型本科院校非计算机专业Python程序设计课程面临的问题

从目前我国高校针对非计算机专业开设的计算机课程看,大多数都是以C语言程序设计课程为主,并且在实际教学内容安排上主要是数据类型、内存、字符操作等内容。但这些内容对于非计算机专业学生而言,学生并不具备相应的计算机体系结构相关知识,同时对专业的需求性不高,也缺乏正确认识,再加上存在诸多学习困难,综合这些情况,C语言程序设计课程内容并不能满足非计算机专业学生日后的学习需求[1],所以,本文采用Python语言替代非计算机专业的C语言,其原因在于:(1)Python语言代码简洁,与C语言相比较,其代码行数较为简短;(2)Python在语法上非常简单,没有涉及C语言中的指针、地址等,这样有助于降低知识难度,提升非计算机专业学生的理解能力;(3)在Python中具有非常丰富的图形库、科学计算库,在很大程度上可以提高学生学习程序设计的兴趣;(4)Python语言中具有强大的标准库,在其作用下,可以实现机器学习、大数据处理、网络爬虫等,学习这些可以帮助学生学习以后专业可以用到的知识。

但从当前实际教学情况看,仍然存在很多问题。首先,虽然在形式上Python语言成为C语言的替代品,但在实际教学内容中,对应的教学案例却依然按照C语言形式,依然还是以编程语言为主进行教学,此种形式的教学并不能发挥出Python语言自身的优势[2],可以说课程内容严重缺乏创新性。其次,在具体课程教学内容方面,教师并没有结合不同的专业进行调整,所以导致学生并没有认识到学习程序设计课程的重要性,也片面地认为学习该课程不会对其专业的后课程起到积极作用,所以学生在实际学习过程中只为拿到学分。最后,在教学模式上,并没有根据实际情况对程序设计语言进行调整,呈现出以教师为主,学生为辅的教学现状,同时,教师在实际教学过程中多采用传统教学方式,导致学生难以产生学习兴趣,所以学习成效不高。

二、Python程序设计课程教学内容设计

(一)明确课程目标,制定教学计划

本着“思维培养、能力培养,服务专业”的教学目标,对Python程序设计课程教学内容进行设计。Python程序设计课程的开展可激发师生的兴趣和创造力,提升教学质量,让学生喜欢编程、会编程,培养学生的计算思维能力、创新能力和发现问题、分析问题和解决问题的能力。[3]此教学目标的设立突出了不同专业的特点以及需求,同时也进一步明确了对学生创新思维能力以及计算机实际应用能力的培养目标,制定相应的教学计划,不断探索新的教学模式、教学方法,从而有效促使学生将知识进行内化,使能力得以提升。

(二)教学内容设计

根据上述课程目标,需要对相应的教学内容进行改革,可以规划为基础、能力、应用三部分。其中的基础部分,包含基础语法、基本程序结构;能力部分则是基本算法、高级数据结构;应用部分,主要是在不同专业需求下,设计相应的应用,而后引导学生根据自身专业,进行程序设计,以此来提高学生的知识运用能力。按照此种方式设计课程,可以帮助教师梳理课程难点、重点,更好地设计实际教学内容。而这种课程内容组织形式还可以帮助非计算机专业学生理解课程的总体结构,并在由浅入深的过程中逐步提升学生的计算思维能力和系统能力。对课程中所涉及的语法知识[4],教师可以在课堂上进行简单讲解,而后通过MOOC平台,引导学生自主学习。学生在学习中遇到问题时,可以通过反复观看MOOC上的视频和课件资源。积极有效地利用网络资源,并鼓励学生参与线上讨论,进一步激发学生的学习兴趣,改变学习模式。

(三)教学模式设计

对程序设计课程而言,需要通过实践促使学生对知识的进一步掌握,可以充分利用“理论+实践”的方式实施。教师可以将授课地点安排到机房,这样有利于学生当堂进行实践验证,促使学生在思维和技能上都得到提高。

在课前导入环节中,教师可以利用前导课程RAPTOR可视化程序设计,激发学生的兴趣,促进学生计算思维能力提升,可以通过构建翻转课堂模式,搭建“RAPTOR流程图+程序设计”教学框架、引入实例等方式,开展多元化教学模式,从而有效激发学生的学习兴趣,帮助学生进一步自主学习。[5]

三、Python程序设计课程教学具体实施途径

(一)构建翻转课堂教学模式

翻转课堂的实施,其目的在于要充分落实“理论教学融于实践,实践贯穿教学全过程”,为此,本次教学改革引入了MOOC上开设的Python程序设计课程资源,采用先精讲导学,而后引导学生课外自主学习并进行自测的模式,完成理论知识教学。

首先,需要创建SPOC,在Python程序设计MOOC课程资源基础上,建设校本SPOC,而后结合课程实际需求,建立学生学习需要用到的资源,并在学生知识认知程度基础上合理设置课前引导问题,为学生课前学习设置方向和问题[6]。

其次,学生课前自主学习。学生结合教师布置的学习任务,借助SPOC资源和“雨课堂”教学工具开展自主学习,在学习过程中要记录不理解的问题,并及时反馈给教师,从而让教师可以掌握学生的学习情况,为后期讲解提供参考。

再次,在实际课堂中,教师可以先让学生自测,获取到学生的答题情况,而后有针对性地开展实际教学,并且教师要注意,应当将更多的精力用于启发和引导学生分析问题、解决问题中。此外,需要在Python程序设计中融入理论知识,帮助学生在课上开展编程实践,而后教师仅需要讲解难点、重点即可,有利于提升教学效率。

最后,学生自测,完成SPOC平台中的基础编程题目测试,进一步巩固所需理论知识点。

(二)搭建“RAPTOR流程图+程序设计”教学框架

为了让学生更好地理解和掌握程序设计中的难点,可以在签到课程RAPTOR可视化程序设计下,结合Python程序设计,这样不仅可以帮助学生理解Python程序设计语言结构,还可以训练学生的思维[7]。

例如,“PM2.5空气污染指数分级问题”,学生难以理解Python的分支嵌套结构。对此,教师可以引导学生利用RAPTOR给出的解决流程图,而后启发其对照之前学习过的if-else结构,让学生写出分支嵌套结构。帮助学生理解程序设计的不同方法,促使学生对其有更加直观的认识。

(三)灵活运用教学案例

在实际教学过程中,教师可以引入实例,从而促使学生从基本问题过渡到综合问题,进行深入学习,发挥Python的语言优势,提升学生的学习兴趣以及计算机思维。对此,教师可以引入图形化案例,增强学生的学习兴趣,要注意案例的趣味性,能够融合知识点,进而实现提高学生应用能力的目标。

例如,如何利用Turtle库绘制等边三角形,可以先引导学生使用Python库以及程序循序结构设计,而后再讲解利用其循环结构方法简化代码行,最后通过等边三角形旋转,提出高级数据结构列表的概念。以此为例,促使学生循序渐进地学习知识[8]。

四、教学效果分析

通过对学生的调查不难发现,在Python程序设计课程中开展多元化教学模式,促使教与学的方式都发生了改变,改变了非计算机专业学生对程序设计课程的固有认识,其中大约有63.86%的学生认为其对提升计算机思维具有重要帮助。47.72%的学生愿意开展SPOC课堂翻转,可以帮助到自身学习。而对教师而言,也不再是单一的知识传授者,更是开发者、引导者以及利用者,对提升教学质量具有重要帮助。

总之,通过本文的研究,希望对应用型本科院校非计算机专业程序设计课程教学提供帮助,促使其与专业实践应用更好地结合,提升教学质量以及学生的程序设计实践能力。

参考文献:

[1]李瑞芳,刘华蓥,时贵英,等.新工科背景下非计算机专业计算机基础课程教学改革与实践[J].微型电脑应用,2020,36(3):122-124.

[2]冯秀娟.高校非计算机专业计算机基础课程教学现状分析及改革探究[J].公关世界,2020,4(2):128-129.

[3]曹凤雪,陈艳萍,黄成.非计算机专业C语言课程的教学方法[J].福建电脑,2020,36(1):104-105.

[4]李丽,王大勇,易俗,等.基于Python程序设计的多元化逐级式教学模式[J].计算机教育,2020,56(1):177-181.

[5]牛荣,高贤强.大学计算机基础课程教学改革研究:以塔里木大学为例[J].科技资讯,2020,18(1):135-136.

[6]周洁,张永波.慕课在非计算机专业C语言教学中的应用[J].科技资讯,2019,17(25):172,174.

[7]张珏,刘美玲,李波.非计算机专业C语言程序设计课程教学的改革研究[J].电脑知识与技术,2019,15(22):173-174.

[8]张月琴.浅谈非计算机专业C程序设计课程教学改革[J].电脑知识与技术,2019,15(16):122-123.

◎编辑 马燕萍