闵 源,许春冬
(江西理工大学信息工程学院,江西 赣州 341000)
21世纪,可以称之为人工智能的时代,在此时代背景下,如何培养专业基础扎实,创新创业能力强,综合素质高的复合型应用型人才[1],是各大高校重点关注及不断努力的方向。人工智能技术并非独立存在于工科类专业之中,它与生物学、信号处理、数字通信原理等学科相互交叉、彼此融合,延伸出众多新的研究领域。计算机编程则是将众多学科与人工智能进行融合的必要手段。在600多种编程语言中,Python具有语法简洁、粘性扩展、通用灵活及类库丰富等优点,在学科交叉融合及工程计算等方面具有得天独厚的优势,受此影响,许多高校纷纷开设了Python相关课程。《Python程序设计》课程具有内容丰富、理论结合实际、思维发散等特点,但目前大多数开设该课程的高校依旧保留着与C++课程类似的灌输式授课方式,这使得工科类学生在课程学习的过程中往往会感觉枯燥乏味。如何让学生在学习该课程的过程中,同时掌握时代背景下的新技能和较高兴趣地获得乏味的基础理论知识,是课程教学改革及培养复合型应用型人才的关键。
课程教学改革与实践的目标就是夯实学生理论基础,同时培养学生自主学习及创新能力,以及树立正确的世界观、人生观、价值观,最终培养出国家需要的复合型应用型人才。为实现这个目标,我们从教学内容、教学方式、教学实践三个方面进行课程的改革与实践。
(1)有目标的选取课程配套教材。工欲善其事,必先利其器,一门课程最终能让学生获得多少有用的知识,很大程度在于教材的选定。我们既针对培养复合型应用型人才这一目标,又为了能和国内外知名高校的Python程序设计课程实现接轨,结合江西理工大学的实际情况,从Python程序设计的众多教材中,最终选择北京理工大学嵩天老师的《Python语言程序设计基础》(第2版)作为本校Python课程的使用教材。该教材具有结合实际、各类知识点描述清晰、由浅入深的特点,适用各类初学Python的学生学习,同时,可以结合各工科类专业具有差异的方面,形成不一样的授课方式,既能够为高校教师丰富课堂内容提供相关资料,又能够为培养复合型应用型人才打下坚实的基础。
(2)引导并激发学生的自主学习意识。Python程序设计是一门编程语言课程,大多数高校依然沿用C++等开设时间较为长久,且一般为教师单方面“灌输教学”方式来教授Python程序设计,这将导致工科类学生在学习相关课程时感到乏味,无法将之与实际生活相结合,总有一种空中楼阁的感觉,最终,致使学生学习积极性不高、掌握不了理应掌握的技术。因此,教师应通过专业的独特性与Python程序设计课程的融合来进行内容的教学,在课程基础理论知识讲述前,设置与其专业相关的问题,引导并激发学生的自主学习意识,令其带着问题在课程中寻找答案,保持高昂的兴趣进行理论基础的学习。例如,在金融专业班级进行分支结构的内容传授时,可以课前设置几个问题:(1)假如某个用户需要进行货币的兑换,相应的汇率是什么,可以用什么途径来获取相应汇率?(2)应该输入什么样的格式,才能让用户清楚了解所需要进行兑换的货币以及转换后的货币表示方式呢?(3)怎样才能利用查询到的汇率,将对应的货币转换成目标货币呢?通过理论知识讲解前的问题设置,引导学生产生自主思考的意识,激发其自主学习的能力,使得学生可以带着问题学习,结合讲述的分支结构理论知识思考相应的解决方法。
(3)注重课程整体性的同时要有所取舍。所有课程都具有课时量限制,不可能将课程涉及的内容在课堂中都追根究底,因此,教师进行基础理论知识的讲授时,应保证课程的循序渐进、由易到难,也应保证课程各章之间的关联性,可以不完全按书籍编排顺序进行教学,但也不能将整本书拆得零零散散且毫无章法地进行讲解。此外,还应有一定的取舍,教师讲授哪些内容?哪些内容需要同学自己课后学习?通过什么方式进行学习?这些都是在课程内容确定时应该考虑的问题。以学习Python程序设计的循环结构为例,首先,在循环结构的讲解阶段,关于计算框图的相关原理和具体流程是初等教育的内容,因此,可以对框图计算的知识点进行舍弃。其次,在进行循环结构的其他理论知识讲解前,可将前面章节实现的较为基础且具有一定重复性的代码作为铺垫,指出这段代码具有重复累赘的缺点,然后开始讲述循环结构的遍历循环及无限循环相关理论,接着讲述循环结构的高级使用方法,再通过循环结构将前面章节具有重复性的代码进行改写,实现相同的功能,保证编写的程序向更好的简洁性与可读性不断靠拢。最后,布置相关作业时可以将舍弃的框图部分加入,以达到让学生自学的目的。注重课程整体性的同时有所取舍,不仅可以减少教师的工作量,同时也可以加强学生自学能力的锻炼。
教学方式的改革与创新,一直是课程教学过程最为重要的环节。如何改进教学方式来实现培养复合型应用型人才的目标,也是当前时代背景下的一个重要课题。本文列举了两种与时俱进的教学方式:结合“思政教育”的教学和进行新型“翻转课堂”的教学,利用这两种教学方式更能丰富课堂内容、提高学生学习兴趣和引导正确的三观。
(1)结合“思政教育”的教学。在人工智能时代,高等教育依旧要高举立德树人的旗帜,只有将“德智体美劳”全面发展的理念贯彻到教学中,才能为国家与社会培养出复合型应用型人才。虽然“课程思政”[3]于2016年就在全国高校思想政治工作会议上被提出,但目前思政教育与课程融合的程度不尽理想,很多高校教师没有经过系统的培训,也不具备专业的政治理论素养,在思政教育方面,只能将政治理论生搬硬套至课堂之中,脱离实际,令学生反感,反而导致了负面效果,既令课程知识的传授程度降低,又无法很好地引导学生树立正确的三观。因此,在将思政教育与专业课程相结合时,应做到悄无声息和步步为营,要让学生在接收基础理论知识的同时,补充了相关思想政治精神食粮。在Python程序设计的传统教学方式(如板书授课、PPT授课等方式)中应融入国际形势、社会主义核心价值观等思政课程的元素,实现在传授基础理论知识的同时,引导学生树立正确的三观。以Python程序设计的turtle绘图标准库为例,在教导学生如何编写绘图程序时,可以教导学生在做事情过程中,应该保持严谨、循序渐进的态度,将每一个步骤考虑清楚再进行编程,而在编写程序出现问题时,可以教导学生应该发扬不畏困难、吃苦耐劳的精神,树立他们能迎难而上、敢打敢拼的作风,此外,还可以让学生自主寻找带有正能量,且是自己想要绘画的图片,从整个利用编程语言进行绘画的过程中,教导学生应该发扬善于观察、善于发现美的能力。
(2)进行新型“翻转课堂”的教学。传统的“翻转课堂”[3-4]通过制作课程相关的教学视频,先让学生进行视频学习,将自身学习时产生的问题记录下来,在课程中与教师和其他同学进行交流互动,在提高学生参与感与自主学习能力的同时,令学生可以更大程度了解自身存在问题,有针对性地提升自身专业素养。但传统的“翻转课堂”具有一定局限性,该模式要教师提前花费大量时间准备与教材配套的学习视频,而国内高校中大部分教师都具有一定的科研压力,所以很多教师认为这种模式极为耗费精力,令大多数高校教师都不情愿采取这种教学模式。此外,这种教学模式还要学生的积极配合,对于每个专业班级中只求应试技巧和及格分数的同学来说,这种通过课外时间进行提前预习的方式,是一个巨大的“学习负担”,久而久之,积欠的学习任务越来越多,最终选择不再学习,这也将导致教师对这种积极性不高的学生所接受知识的程度掌握不到位,无法及时“对症下药”。而新型的“翻转课堂”模式是通过教师与学生的身份进行转换,让所有学生一起进行课程PPT的准备,可以极大程度上降低教师的工作量,同时可以让学生以各自喜欢的方式来进行课程理论知识的交流,此外,教师还可以对学生有误解部分和遗漏部分进行改正与补充,实现课程理论知识的传授。以《Python程序设计》课程为例,新型“翻转课堂”的教学方式,可以利用好教师与学生这二者的身份差异进行“身份转换课堂”,因为教师的最终目标是为学生传道授业解惑,而学生的任务也不仅仅是学习理论知识,还应该包括各种资源的获取手段学习、办公软件的使用方法学习等。教师可以通过“身份转换课堂”将学生进行随机分组,再将每次需要讲解的内容范围提前给予对应小组的学生,让其在预留课堂十分钟的前提下准备好课程相关PPT,准备期间可运用自己所知道的方式,如慕课网、B站等网站的学习视频等进行课程的准备,最后,教师利用预留时间向大家点明相关组别学生的优点与不足,以及解答其他组别学生的疑惑,如有遗漏知识,可以在课程中进行补充,最后布置课程内容相关作业,以此来检验学生对课程内容的掌握程度。
《Python程序设计》课程属于编程语言类课程,本质上是利用计算思维替代数学思维或实证思维来处理复杂的事务。如果只是在课堂中讲解理论知识,并不让学生进行实践操作,将会导致学生对课程的内容掌握不全面,且无法灵活的利用所学理论来解决实际问题,而目前大多数高校实行的实践方式,依旧保持着为学生安排固定的实践任务,然后集中时间让每个学生独立完成相关任务,这种实践方式仅仅让学生初步掌握基础理论与有限情况结合的处理方式。为此,设计更加科学合理的实践方式,对提升学生解决实际问题的能力,以及提升学生各方面综合素质就显得尤为重要。
(1)高校中的项目式实践方式,顾名思义,就是将高校内实践划分成一个个的项目,利用项目规划的方式完成课程规定的实践任务。教师在实践设计方面,可以基于所需学习的课程理论知识,结合自身所接触的企业项目、基金项目等,按照项目驱动的模式展开教学实践。以《Python程序设计》课程为例,首先,教师可以于课前结合当前技术热点与时事新闻[5],给学生确定每次实践课程的主题,如:利用网络爬虫分别收集全球因疫情死亡与治愈各自的人数,并设计访问界面供用户进行数据查询等功能、利用turtle库和math库的结合,在不与原始标志重叠的前提下,为第33届夏季奥林匹克运动会设计一个你心目中的会标等等。其次,对所有同学进行分组,每个小组选出一名小组长,成员按照小组长任务规划完成各自的部分,结合小组所有成员最终实现的模块,完成项目规定的功能制作,教师在批阅完所有小组的项目报告后,给出评价以及排名。最后,可以设置“身份转换课堂”,让作品逻辑性强、功能性全的小组作为榜样进行思路讲解,让其他组别学习这种编程思维,进一步提升自己的编程能力,同时教师还可以指出该作品的不足,以及实现作品升级的大致方向,让学生进一步了解想要实现性能优越的作品应该具备的元素。
(2)高校外的项目式实践方式,即学生可以借助教师所具有的资源,进入企业进行专业相关的工作实习,以联合培养的方式提高自身能力素养。以《Python程序设计》课程为例,教师可以在课后与专业相关的企业,如利用Python语言编写算法进行物品检测、自动驾驶等领域的企业进行合作,让学生了解目前市场上流行的技术以及自身领域较为先进的技术,并且让学生掌握好在企业工作必须具备的能力,为将来的工作夯实基础。实习期间,让学生完全按照企业的规章制度进行自身工作,如上班时间按时打卡、酬金分配方式为多劳多得等,令他们提前熟悉企业项目的具体生产流程,并清楚的认知到在整个企业中上级所下发的任务,自己在其中所扮演的角色是什么,以及最适合扮演的角色是什么,从而找准未来的目标,将职业生涯规划得更加清晰,为培养复合型应用型人才的目标实现提供巨大动力。
《Python程序设计》课程的教学改革与实践是时代交给我们的重大任务,虽然我们为了培养国家需要的复合型应用型人才这个目标做了许多努力,也取得了些许成果,但是课程的改革与实践是一条没有尽头的道路,只有在遵循教学规律的前提下与时俱进,不断突破思想的禁锢,不断丰富课程内容,不断提升教学技术手段,才能进一步拔高我们所培养的复合型应用型人才的各种素质,让培养的人才在更大的舞台上具有更强的竞争力。