1. 前言
《大学计算机基础》作为大学本科教育阶段计算机技术的启蒙课,对学生计算机文化水平和信息素养能力的提升至关重要,其教学质量的好坏直接影响学生其他学科对计算机的运用能力。传统的教学方法往往采取“满堂灌”的讲授型教学方式,再辅助绚丽的PPT和视频素材等“炫技课件”完成教学任务。这必然导致学生课堂兴趣不足、教学效果不佳的现象存在。因此,笔者选择交互体验好、目标针对性强的“案例教学法”作为本课程的主要教学方法,通过案例设计、知识点归纳、讨论与总结,激趣助学,能较好的完成教学目标。
案例教学法,起源于“哈佛大学”的情景案例教学课,教师根据知识体系提前设定教学案例,引导学生在案例的具体情境中积极思考探索。它强调以学生为主体,以培养学生的自主学习能力、实践能力和创新能力为基本价值取向 [1]。
根据本门课程的教学内容,笔者将其划分为六大案例模块,见表1。
Table 1. Module division of course cases
表1. 课程案例模块划分
本文以python语言基础模块中的“打印月历”案例进行有关分析。
2. 《大学计算机基础》课程案例教学法实施的意义
2.1. 贯彻“以学生为中心”的教育理念
这是案例教学法的突出特点。案例教学法能够将计算机理论知识和实践操作有机结合,学生通过对案例进行分析与讨论,找出合适的解决方案。在《大学计算机基础》课程教学中,采用案例教学法能够更深入引导学生剖析现实问题,通过计算机知识分析问题、解决问题,这个过程不仅锻炼了学生的计算思维能力,更加锻炼了学生的实际编程能力,达到了解决实际问题的目的。
2.2. 激发学生的兴趣
案例教学法是一种启发式、讨论式的开放教学方式。采用案例教学法教学,教学实施过程中学生的主体地位凸显,主观学习能动性被有效激发,学生能感受到主动融入到案例中学习、思考和讨论的乐趣,主动编写程序代码的意愿加强,通过完成代码解决实际问题后的学习正反馈效果不断强化,从而保证了课堂教学效率的大幅提高。需要强调的是,案例教学法中,学生主体地位被凸显的同时要规避“学生中心论”,应该始终贯彻学生的主体性与教师主导性相结合的教学原则,才能真正助力案例教学的有效性 [2]。
2.3. 提高学生的综合能力
案例教学法采用沉浸式的方式将学生带入到现实案例中进行教学。在案例教学法的实施过程中,学生不仅仅是掌握了计算机理论知识和一定的操作技能,更加是提升了自身综合能力,增强了未来就业的竞争力。应用案例教学法教学,通过学生之间的合作来研究和探讨计算机课程中的教学案例,并主动投入到亲手实践操作中。在此过程中,勇于实践最新操作方法,使得学生的实践操作能力得到锻炼与提高,同时促进了学生主动与教师和同学的互动交流,让学生在实践操作中感受到团队协作的益处和对新知识的探索激情,使得学生的综合能力得到提高。
3. 《大学计算机基础》课程案例教学法的实施策略
案例教学法的具体实施步骤包括:制定教学计划、选择教学案例、学生为主体的课堂讨论、案例教学总结评价。
3.1. 制定教学计划
教师在课程开始之前要根据“人才培养方案”制定严格的《大学计算机基础》课程教学计划,包括:各章节的逻辑关联、各章节课时分布,各章节的知识体系、确认需要案例教学法的章节、每个案例的具体实施时间、案例的应用范围、学生的课前预习内容、预设课堂讨论问题、可能出现的结论等。案例教学的主导者是教师,主体是学生,教师要通过具体案例引导学生进入情境中参与讨论,串联知识点形成体系。
3.2. 选择教学案例
在课程教学之前,教师应该根据教学对象计算机水平的不同进行分层教学(基础班和提高班) [3],并选择恰当的教学案例。例如讲解计算机系统模块时,采用的案例包括“冯·诺依曼体系结构计算机角色扮演”和“python程序实现冯·诺依曼体系结构模仿实验”两个案例。在具体实施阶段,教师根据不同的教学对象进行案例差异化选择和具体实施过程的调整。教学案例应该统筹考虑专业知识难度和实用性问题,同时也要随着计算机技术的发展变化对案例进行针对性的调整和更新,以达到案例选择的典型性、新颖性和前沿性等特点。案例的选择在教学过程中还需要是动态的形式,根据学生对前期知识的掌握程度,及时调整案例以及案例具体的实施方案。以期达到学生因案例的新颖被吸引,因案例的生动讨论分析而形成知识的积累,因案例难点的成功突破而完成知识的迁移。
3.3. 组织教学案例讨论
在开展案例教学的课堂中,教师首先进行案例展示,展示的形式有口述、发放文档材料、播放视频、程序演示和角色扮演等方式 [4],其次,教师根据案例抛出有针对性的问题,学生对问题进行剖析并展开分组讨论,讨论能够有效地激活学生的思维,充分发挥其主观能动性。在讨论交流的过程中,教师根据课程的教学目标和实施进度,将融入了教学知识点的问题,由浅入深、环环相扣引导学生进行思考,使学生进入到自主探究的学习阶段,最大限度发挥了学生的主体作用。学生在进行自主探究学习过程中,教师针对“瓶颈性”问题应多采用引导启发方式,使得学生在探究和讨论过程中顺利突破瓶颈。此过程的实施,不仅让学生印象深刻地掌握了相应的计算机知识,调动学生获取知识的主观能动性,还提高了学生运用计算思维解决现实问题的综合素养。
3.4. 案例教学总结点评
教师和学生应共同参与总结点评环节,主要针对与案例相关的计算机理论知识点的串联与归纳,使得学生能够结合相应知识点对案例的讨论得到升华,并将知识内化吸收。学生在点评其他组成果的同时,使得自己的能力也得到进一步提升,而且也体现出了案例教学法的优势,突显学生课堂的主体角色。教师的总结点评要力求全面客观、褒贬分明,使得学生更加愿意积极参与到案例教学活动中。
4. 《大学计算机基础》课程案例教学法的实施举例
《大学计算机基础》中python语言基础模块的课程教学中,在讲授函数知识时,笔者选择“运用python编程实现月历的打印输出”这个案例,引导学生对针对月历的各种形态展开讨论,并归纳总结出月历的结构特点。课堂上通过真实的程序效果展示,让学生随机提供年月,然后通过程序输出验证结果展示月历功能的实现效果。直观的案例结果展示,使学生们对完成项目充满信心,学生们编程兴趣被激发,达到了案例教学的预期效果。最后通过下列层层递进的问题深入课程知识点的学习和归纳,形成子模块。
问题①:如何联系前期所学python编程知识实现“打印月历”功能?结论:采用编写函数的形式来实现相关功能,且函数相对于其他形式写法具有优越性,使得学生对函数知识的认识得到升华(函数是一段具有特定功能的程序段,具有模块功能化的特点)。
问题②:“打印月历”如何通过函数来实现呢?结论:采用程序设计的“自顶向下,分而治之”的思想,将“打印月历”功能进行模块化划分,将案例化分为“获取年、月”,“计算该月第一天是星期几”,“计算该月天数”,“打印月历”四个模块。
任务分组:将细分的四个模块以子案例的形式分别下发到各分组,组内讨论达成一致意见后,在课堂上汇报讨论结果和实施计划,笔者给予指导意见。组内协作使得学生们的编程能力实现共同进步,组与组之间编程竞赛强化了学生的团队协作意识和集体荣誉感。
总结点评:笔者针对各组子案例的功能实现给出评价和建议,统一组织学生在消化吸收其他子案例的基础上,进行“打印月历”的组合工作,并完成整体代码,实现“打印月历”案例。
评奖激励:评奖工作采取“学生自评、组间互评和教师评价”相结合的方式进行。通过综合评价挖掘出“案例火箭组”,“编程达人”等优秀团队和个人,给予表扬。
5. 《大学计算机基础》课程案例教学法与传统教学法效果比较
我校2021级学生共计497人,分为4个大班,6个专业大类。这里选取90名学生参与案例教学法试点,整个教学环节结束后,根据教学实施过程和期末考试成绩对案例教学法与传统教学法的教学效果进行了对比分析。
5.1. 案例教学法与传统教学法教学过程比较
在整个教学实施过程中,案例教学法与传统教学法有明显的区别,对应比较见表2。
Table 2. Comparison of the implementation process of case teaching method and traditional teaching method
表2. 案例教学法与传统教学法实施过程比较
5.2. 案例教学法与传统教学法教学效果比较
这里选择相同的教学内容和考核标准,以期末考试成绩为参照、相同专业以及入校平均录取成绩相差10分的两个不同专业对比分析,重点关注计算机问题求解等主观题型(程序设计题)的考核结果,具体见表3。
Table 3. Comparison of test scores between case teaching method and traditional teaching method
表3. 案例教学法与传统教学法考试成绩比较
6. 结束语
由实施结果可知,案例教学法因为具有交互性、灵活性、具体性的特点 [5],其在《大学计算机基础》课程中的教学效果明显优于传统教学法。采用案例教学法,既能突显学生在教育中的主体地位,也能激发学生的自觉能动性,使其主动融入到案例中、探究知识,正反馈效果不断强化,从而保证了课堂教学效率的大幅提高。在具体实施中,若教师在选择案例时,多融入趣味性;在与学生的交互中,共同探究,定能促进素质教育的发展和学生综合素质的提升。