0 引 言
人工智能程序设计是一门面向人工智能专业大一学生的核心基础课,旨在介绍各种人工智能编程语言,并以 Python 语言为主体,进一步讲解人工智能编程方法。与其他程序设计类课程对比,该课程具有以下 5 个特点:①人工智能是一个新兴的计算机专业,人工智能程序设计也是一门新课程,因此缺少可以参考的资料和方法;②以程序设计基础为先修课程,学生已经具有初步的编程概念,了解基本的编程思想;③除了基础语法的讲解,更注重将编程语言应用于简单的人工智能领域;④ Python 涉及的函数、包和库众多,无法在规定的学时内一一讲解,所以要培养学生的思辨能力、自学能力和创新能力;⑤人工智能编程涉及伦理道德,在课程中要树立学生正确的价值观。
在实际教学中,会遇到如下问题:①基本语法的讲授枯燥无味,学生的学习兴趣不高;②课堂互动少,学生参与度低下;③学生无法灵活应用,课堂知识难以内化成学生的编程能力;④教师在课堂规定时间内除了要完成基础知识的讲授,还要讨论程序设计思想以及培养学生应用编程语言解决人工智能领域问题的能力 [1]。在有限的时间内,教师缺少对学生掌握程度的全面了解,无法及时调整教学进度,帮助学生提升学习效果。
1 基于实践的多层次逆向探究式教学
基于实践的多层次逆向探究式教学是指以推动学生自主探索为主,摆脱传统先学后做的教学规律,通过不同种类和规模的实践活动,逆向引导学生学习基础知识和设计思想,以达到加速知识内化和提高创新能力的教学模式。
1.1 重构知识内容
传统的程序设计学习都是先讲解语法知识,再对其进行简单应用。这种方法以老师为主体来推动整个教学过程,学生被动接受知识,没有引导学生主动分析和研究问题的过程 [2]。缺少思考的填鸭式输入是低效能的无用学习,因此新模式中将教师和学生的角色转换为教练和问题解决者,以学生为主,先思后学,结合人文科学中的批判性思维和基于哲学层面的思考,启发学生抽象和解决问题。
重构知识内容主要从 3 个层次引导学生“思而学”。第一层次:引导学生先“思”知识点与社会、生活和时代的联系,再“学”社会主义价值观,弘扬爱国主义精神。比如在讲到 Python 元组时,通过元组安全特性,让学生讨论计算机安全方面的案例,从而明白在程序设计时安全机制的重要性。第二层次:先“思”代码段运行结果出现的原因,比如以小组讨论的方式促进学生自主思考、自我发现和自我理解。在讨论中,学生得出的观点往往是比较表面和朴素的,难以达到简洁明了的层面,因此,在其发表完观点后,再“学”代码段中蕴含的语法知识点,总结理论,升华理解。这样循序渐进地一步步“导学”,可以颠覆枯燥的语法讲解和模仿,让学生有机会主动参与到教学过程中来,激发他们的学习兴趣,加速知识内化。第三层次:为了让学生在课堂中有参与感、成就感,更好地调动学习积极性,教师选择能体现知识点并具有一定趣味性的小型程序直接运行,与学生互动。学生先“思”,实现该程序需要的设计,然而他们的分析往往是发散浅显的,需要教师作出引导,再系统地“学”程序设计。通过不断地提问帮助学生抽象和简化问题,总结出一个简单可行的程序实现框架。在此框架下,让学生进行当堂编程实践,鼓励学生探索问题背后的理论,促进计算思维的建立和自主创新能力的培养。通过参与把理论转变成解决现实问题的程序训练,学生深刻体会知识转化成实践能力的思维逻辑过程,在潜移默化中逐渐掌握计算思维的精髓。
1.2 优化评价体系
在教学过程中,了解学生的学习情况,及时调整教学进度,把握学生的学习难点,有的放矢地答疑解惑是提升教学质量的关键。但是为了完成教学任务,教师在授课时较少考查学生的掌握情况,导致学习上的困惑无法及时反馈和解决,打击了学生的学习动力。在课后则统一布置作业,忽视不同层次学生的接受程度,没有将其分层对待,无法让他们获得学习的成就感。因此借助网络技术、手机 APP 和智能教学平台等开展过程评价和结果评价,优化整个教学评价体系,可以使老师和学生都深度参与教学全过程,促使教师不断改进教学方法,真正帮助学生提高学习效率,达到教学相长。
优化评价体系主要从两个层次引导学生“学而思”。第一个层次:在课前,教师需要对本次课的难点和易混淆知识进行预判;在课中,针对难点、重点,及时考查学生,考查形式尽量简单快捷,如选择题和判断题。利用移动端 APP 数据问卷平台和二维码的形式在线发布题目和收集每个学生的答案。通过数据分析手段即可实时得到答案的分布占比,以此了解学生的情况,并在接下来的教学中有针对性地抽丝剥茧,解惑释疑。进行当堂实践时,由于时间有限,无法全面了解所有学生的情况,这时也可以利用移动端APP 让学生把程序拍照上传,通过抽取 2~3 名同学的程序来展现不同的设计思想。这样的当场点评不仅可以发现学生的技术性问题,也可以让他们明白同一个问题可以从不同的角度切入解决,揭示不同层次的思路和观点,由此激发学生的创新意识。另一层次:承认、尊重和兼顾学生的学习能力差异,设计不同难度的课后作业和实践,真正促进个体能力发展。通过智能教学平台发布和收取作业,并利用智能手段分析评分数据,帮助教师因材施教。对学习特别困难的学生,教师和助教对其进行一对一的辅导和互动,帮助他们建立信心并克服障碍。对于总体得分很低的题目,教师归纳总结其涉及的知识点,然后制作讲解视频让学生在线上巩固提高。实践中的优秀作业上传到教学平台,鼓励向优秀学生学习和交流。练习、反馈、辅导 3 个步骤让每个学生都得到相应的指导,通过师生交流和生生交流,有利于发现和解决学生的疑问。
1.3 创新学习资源
线上资源的优势在于可以引用较成熟的课程,有利于知识扩展和深化,其适合于个性化学习,视频可以反复回看,也能有效弥补课堂教学听不懂或者缺课的问题 [3]。虽然各大网络教学平台中已经汇聚了丰富且优质的教学资料 [4],但是研究如何有效整合已有资源和创新学习资源仍然具有意义。首先,网络上的教学素材纷繁多样,如果不加以指引地让学生自行搜索观看,会让他们抓不到重点,浪费时间也失去学习的耐心。其次,虽然线上资源丰富,但是真正对接课堂进度的素材却不多见。好的资源应该生动形象且短小精练,可以启发思维,便于自学理解。所以需要利用简单易用的动画技术制作难点和要点讲解视频,并推动学生自制视频,这既促进了学生吸收新知识,又提高了自主学习的能力,以此适应不断更迭的人工智能技术。
以课堂知识为点,拓宽相关知识面,主要从两个层次让学生“学而时习之”。第一个层次:“学”线上优秀资源,教师依据课程内容甄选合适的教学视频,即生动有趣、解析深入透彻、时间不超过 10 分钟的小视频,放到教学平台供学生课后观看,加深对课本知识点的理解。“习”即鼓励学生根据自己对课本知识点或者编程思想的理解自制讲解视频,视频的形式可以是 PPT讲解、动画、道具展现等。教师将优秀的视频上传到教学平台共享,从同龄人视角出发的讲解更有利于学生领会知识。第二层次:由于课时有限且人工智能程序设计涉及范围广泛,所以很多内容无法在课堂内完成,这时就需要结合线上教学的优势,打破时空局限来增长和积累知识。“学”拓展知识,即结合教学内容从网络上精选与之相关的扩充知识。这些知识通常包含多个知识点,教师抽取或者制作主要知识点的讲解视频放到教学平台供学生观看。但是“听一遍不如看一遍,看一遍不如讲一遍”,因此更重要的是鼓励学生“习”,即发挥主观能动性来探究新知识,自制拓展知识点讲解视频,这样使有限的课堂时间得到延伸,拓展了学生的学习深度和宽度,并帮助他们建立自主学习意识,获得自主学习能力,以助其后的终身学习。
2 具体教学实施案例
以“Python 函数和模块”一课为例,图 1 展示了课堂教学过程设计。在课前,教师已经让学生在线上了解了这次课的主要学习内容,并在前一次课程作业中指引同学对 Python 中常用的模块进行了探索实践。基于此就可以顺利地进行课堂面授,整个教学过程分为思—学—思,由思考导入知识点的学习,再由所学的知识引导学生进一步思考和练习。在课堂开始时,为了让学生快速进入学习状态,以一个猜数字的游戏程序与其互动来吸引注意力,引起他们探究程序的兴趣。通过运行结果和互动反馈,启发学生从程序框架的 3 个部分:输入、处理和输出入手思索该程序所涉及的知识,并从此处导入新知识。在“学”中还可以有基本语法点的导思与导学。在课堂中后段,通过当堂的小练习来实时掌握学生的学习情况并根据反馈结果来重点讲解,并要求学生在给定的程序框架中应用本次课新学的知识来实现程序。最后抽取 1~2 名同学的代码进行比较和讲解,总结和归纳本次课的内容。在面对面的教学中,先思后学再思的过程给了学生完整的思维转化体验,将理论与求解问题的能力有机融合,强化了学生们的参与感和实践性。在课堂教学结束后,通过线上和线下的作业训练,课堂资源和拓展资源的观看和制作则可以让学生很好地巩固新知、进阶提高。
3 线上线下混合考核方式
结合人工智能程序设计课程轻理论重实践的特点,为了提高编程能力,并让学生能在人工智能领域来分析和求解问题,需要设计合理的考核方式。该考核方案由平时成绩(50%)和期末考试成绩(50%)组成,其中平时成绩又由课程讨论(10%),课程作业(20%)和平时小测(20%)组成。由于课时限制,需要以线上和线下混合方式进行考核。
对于课程知识疑点无法在课堂解决的,可以在线上展开深入讨论,以促进学生理解。对于实践中遇到问题无法面对面指导的,则可以在线上提出问题,大家跟帖解决。这样可以为学生打开编程的多视角,获得新思路和新观点,从而深化计算思维的培养。
课程作业中包括课后作业、阶段性作业和综合作业。课后作业即每次课后需要完成的作业,包括问答题、上机题和探索上机题。其中问答题为本次课内知识探索和下一次课预习知识探索,上机题为本次课内知识简单应用,探索上机题为拓展课内知识自学与实践。阶段性作业则是在经过一段时间的课程后,学生需要综合应用所学内容来求解具有一定难度的实际应用问题。在最后的综合实验作业中,根据人工智能领域问题的特点,在线上提供相关项目资料让学生自主学习,并灵活应用知识完成项目。这样的综合项目一般与科技前沿相关,可以极大地提升学生的工程能力,并能让其深刻体会编程语言在人工智能中的巨大作用。
为了让学生在学习过程中能不断反思和调整状态,可以安排初阶入门知识、提高阶段知识以及人工智能知识相对应的 3 个线上测试。该测试在课外由班级学习委员组织,在规定时间内通过试题库产生题目作答。期末考试则是线下组织专门时间统一考试。
4 教学改革成效
教师以问带学,通过丰富的案例和项目讲解以及当堂的实操训练引起学生的热烈参与,深受学生的喜爱,他们对本课程的评估分数均在96 分以上。多层次地引导学生探究知识,引导其思考和学习编程技巧和程序设计思想,让学生能很好地掌握课程内容,其期末成绩平均分都在 75 分以上。课程应用智能统计分析技术来对课堂教学进行及时有效反馈,对学习难点各个击破,而结合新技术进行资源拓展,推动了学生自学。在线测试和在线资源学习延伸了课堂,持续提升学生编程能力。在最新智能开发平台上的综合项目开发训练,则提高了学生科研和创新能力,学生完成项目后,对知识能如此广泛应用并能真正为社会做贡献的感受颇深,受益匪浅。
5 结 语
人工智能是大学计算机学科的新兴专业,而人工智能程序设计作为面向人工智能专业的核心基础课程具有知识面广、实践性和应用性强的特点。基于实践的多层次逆向教学从课程内容、评价体系和资源优化 3 个方面展开改革,通过线上和线下相融合教学和考核,加速了知识内化成能力的过程,提升了教学质量。
参考文献:
[1] 孙玉星, 陈一飞, 韩志耕. 程序设计课程互动式教学模式的探讨[J]. 计算机时代, 2020(12): 101-104.
[2] 路龙宾, 王小银, 金小敏. 工程思维引导的Python语言程序设计教学模式探索[J]. 计算机教育, 2022(3): 43-48.
[3] 张波, 张辉, 马金强. 程序设计课程O2O混合式教学模式探索: 以“程序设计基础”课程为例[J]. 武警学院学报, 2021(8): 78-82.
[4] 刘勇. 程序设计课程“线上+线下”混合式模式教学的改革与创新[J]. 现代职业教育, 2021(48): 150-151.
第一作者简介:李晶晶,女,华南师范大学副教授,研究方向为无线传感器网络、智能计算、边缘计算, lijingjing@scnu.edu.cn。
引文格式:李晶晶,汤娜,余建兴. 基于实践的人工智能程序设计课程多层次逆向探究式教学探索[J].计算机教育,2022(10):145-149.
转自:“计算机教育”微信公众号
如有侵权,请联系本站删除!