“新工科”背景下以计算思维能力培养为导向的《程序设计》课程教学改革

2021-04-13 10:37田红磊李传秀钟敏
课程教育研究 2021年8期
关键词:计算思维新工科程序设计

田红磊 李传秀 钟敏

【摘要】“新工科”是新科技、新产业、新经济背景下高等工程教育改革的重大战略部署,强调学科之间的交叉与融合、协作与共享。在“新工科”建设中,如何面向非计算机专业学生开展计算思维能力的培养是《程序设计》课程教学的首要问题。针对“新工科”的主要特点,在分析《程序设计》课程教学现状的基础上,对《程序设计》课程教学改革进行了探讨。

【关键词】新工科  计算思维  程序设计

【中图分类号】G642    【文献标识码】A 【文章编号】2095-3089(2021)08-0056-03

1.“新工科”与“计算思维”

2006 年,美国卡内基梅隆大学的周以真教授在计算机权威杂志上发表了一篇标题为“Computational Thinking”的论文,对计算思维进行了详细的论述和分析。她认为,计算思维就是运用计算机科学的概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动[1]。这一概念一经提出,获得了国内外学者的广泛关注,越来越多的专家学者认识到“计算思维”的重要性,将其与理论思维、实验思维并列为人类认识和改造世界的三种思维方式之一。

2017 年 2 月,教育部高等教育司《关于开展新工科研究与实践的通知》以高等工程教育要适应国家面临新时代新经济的发展为依据,从工程教育新理念、学科专业新结构、人才培养新模式、教育教学新质量和分类发展新体系五个方面界定了“新工科”的“新”内容,表明“新工科”建设就是要培养人工智能、智能制造、“互联网+制造”、机器人、云计算与大数据等方面的跨学科、跨专业的新型人才[2]’。随着“新工科”建设的深入开展,各学科的发展对计算机的需求与日俱增,特别在高端交叉学科的人才培养上,计算思维的培养更是至关重要。因此,计算思维不仅是计算机专业的学生必不可少的,也是非计算机专业的学生必须具备的思维能力[3]。

《程序设计》课程作为“新工科”体系中较活跃的课程之一,在“计算思维”学术层面诠释了学科交叉、专业融合的理念。如何引导非计算机专业的学生学习、理解、掌握和应用计算思维,是“新工科”建设中《程序设计》课程建设的重要问题。因此,探索更科学的教学模式、教学设计,以及科学的实施教学过程,成为《程序设计》课程改革的重要任务。

2.《程序设计》课程教学现状

目前,《程序设计》课程在传统教学模式下以“知识点”为教学重点的填鸭式教学方法取得了较好的效果,也得到了学生的认可,但是在新工科背景下,以“计算思维”能力培养为导向的《程序设计》课程仍面临着巨大的问题与挑战,以我校为例主要存在以下问题:

(1)教学模式以教师讲授为主,不利于学生独立思考能力的培养

传统的教学模式中,教师是课堂的主导、知识的传播者,学生只是机械地接受,不是主动学习,忽视了学生的认知主体作用,不利于学生的独立思考能力的培养。而且在传统的教学模式中,学生较少参与到教学活动中,课堂气氛活跃度较低,学生在这样的课堂中对课程的学习兴趣逐渐消失。

(2)教学内容重语法轻思维,不利于学生编程思维的培养

传统的教学模式中,教学内容过分注重语法知识的讲解,轻视了算法设计、逻辑思维和编程方法等编程能力的培养,大多数学生能够掌握语法知识点,但是在实践课中感到实验难度大,存在“听得懂,编不出”的问题,还有部分学生能够把课本上的例题调试好,但是自己编程解决问题感觉无从下手,没有真正掌握计算机编程的思维。

(3)实践教学重结果轻过程,不利于学生创新能力的培养

实践课中教师布置实验任务时,基本上统一安排实验任务,没有考虑学生的个性化差异。这样的教学方式没有针对性,既使得能力较差的同学总是无法完成任务、失去学习热情和信心,也使基础好的同学能力得不到体现、无法进一步提高。同时在实践课中对于一道题,学生只要能够编程输出正确结果就可以了,但是学生是用什么方法做的,教学中没有重视,这使得学生做题不关心有多少种解决问题的方案、哪一种方案最优。这种实践教学方式既不能全面展现学生对知识的运用能力,更不利于培养学生的创新能力。

(4)单一的笔试考核形式,缺乏对教学过程有效的反馈和编程能力的培养

传统的教学模式中,考核形式采用单一的笔试考试,忽略学生的学习过程,更多的只看学生的最终考试结果。仅凭期末一张试卷检验学习效果,成绩获得的偶然性大,学生易养成“临时抱佛脚”的学习习惯。以纸质试卷的笔试考试形式,早期对语法等死记硬背的内容的考核占据较大比重,主要以选择、填空形式为主,卷面笔试等于纸上谈兵,无法真正考核学生实践能力尤其是编程能力及程序调试能力,最终的考试成绩很难科学、真实地反映出学生对所学知识的掌握及应用程度,学生的思维、创新能力也反映不出来。

3.《程序设计》课程教学改革

在“新工科”背景下,针对《程序设计》课程存在的问题,围绕“以计算思维能力培养”为导向,利用信息化辅助教学工具设计混合式教学[4]对课程进行改革,如图1所示,让学生在“输出”与“实践”中学习编程,掌握《程序设计》课程的精髓——“计算思维”。

(1)混合式教学模式,培养学生的独立思考能力

打破传统教学模式,结合传统课堂与网络课堂设计混合式教学模式,教学活动分为课前、课中、课后。课前阶段主要通过线上学习,掌握基本知识;课中阶段组织学生实践与讨论,巩固基本知识,加强对所学知识的实践应用,提高学生的编程能力;课后阶段结合线上与线下所学内容进行综合提高,结合专业加强学生计算思维能力的培养。学生在教师的引导下,课前完成知识的自主学习,课堂变为师生之間互动交流的场所,包括答疑解惑、知识的运用和拓展等,课后变成对知识的进一步提高,整个教学过程均培养了学生独立思考的能力,达到更好的教育效果。

为了加强计算思维能力的培养,重构教学内容,培养学生的编程能力,以与专业相关的案例组织教学内容,因此打破程序设计传统语法的界限,将语法知识点分散到案例中,将课程内容划分为三部分:基础知识、案例导教、知识拓展,分别在课前、课中、课后学习。

课前学生通过线上自主学习基础知识,兼有传统教学的课前预习和课堂教学的一些功能,教师课前把相关的学习资料上传到教学平台上,学习资料包括基础知识点与经典案例的微视频、单元测验等,学生可以根据自己的学习进度学习相应的资料,最终完成单元测验进行自我考核,有问题可以通过平台或课程答疑群与教师交流,教师通过平台全面收集学生自主学习的反馈信息,了解学生对相关学习资料的吸收和掌握情况,增强信息反馈教学的指导力度,更新和完善线下教学内容。

课中主要通过线下教学进行,教学内容主要是案例教学,以讨论、实践为主,有探究学习、小组合作、交流讨论、成果展示等,围绕学生课前任务阶段的生成性问题展开,提出一个新颖的、能吸引学生注意力的案例,案例与专业问题相结合。例如在对通信专业学生进行教学时,可以利用奇偶校验码的原理变一个魔术,让学生在好奇心的驱使下,既掌握二维数组的使用,又学习专业知识。然后从案例中归纳出问题,引导学生思考并进行讨论,让尽量多的学生参与到讨论中,教师的主要作用是将学生向解决方案上引导。线下教学采用信息化工具雨课堂,教师在电脑端和手机端安装雨课堂,学生在手机端安装雨课堂,这样,教师上课的整个资料将会在学生和教师的手机雨课堂中保存,学生随时随地可以查看上课的全部资料,有问题随时可以与教师交流,为教学更好地进行提供了支持。

课后巩固拓展,通过归纳课堂教学活动时出现的问题和发现的新思路、新想法,将完善后的课件和学习资源再次发布到平台上,帮助学生巩固知识,同时分层次设计一些具有挑战性的与专业相关的任务和小组任务,激励不同水平的学生进行自我挑战,以此达到循环、拓展和拔高的效果。

(2)分层次的实践教学,培养学生的创新能力

为了适应不同层次的学生的特点,通过增加不同难度的实验题目构建基础型、设计型、探究型三个层次的实验教学内容,尽可能让不同层次的学生在程序设计课程过程中都有所付出、有所收获。

基础型实验题目设置明确的知识属性,突出重要的知识点,学生根据知识点的重要性进行基于知识点的实验题目练习;设计型实验题目包涵多个知识点,对实验题目进行算法属性分类,突出比较常用的算法,增加知识的广度;探究型实验题目精选带有创新型的题目,包含多个知识点、多个算法,主要用于培养学生解决实际问题的能力、计算思维能力,学习能力较强、基础相对较好的学生根据自己的情况挑战探究型的题目,增加知识深度的掌握。

在实践教学过程中,建立学习小组,培养学生的创新能力及团队协作精神。建立学习小组,小组内有问题分歧时,学生进行讨论,教师把组内讨论学生的活跃度作为平时考核的指标,这可以大大提高学生的自主学习能力。同时针对同一个实验任务,鼓励学生使用不同的方法来实现,然后小组能进行讲解、评价,从而培养学生计算思维的多样性和创新性。

(3)分阶段、累加式考评体系,培养学生的综合能力

《程序设计》课程以国内外先进的教学理论为指导,采用过程性评价和终结性评价相结合的分阶段、累加式考评体系,如图2所示,从知识、思维、能力等多个方面考核学生,着重考核学生的实际工作能力、团队合作能力和创新意识,考核方式与培养目标相结合,主要评价在相应的培养目标下学生的学习达成度情况。

形成性评价的具体方式与课程学习任务的安排相配套。课前任务阶段,学生通过在线测试、在线作业、交流反思等环节对知识点的掌握进行自我评价和同伴互评。课堂教学环节,主要是针对学习成果展示和课堂表现进行综合评价。课堂表现主要基于课堂发言、研讨的数量和质量、出勤率等指标进行学生自评、同伴互评和教师评价。课后拓展环节,老师基于每个同学的个体差异进行差异性评价,使每个学生在知识、能力和素质方面得到持续性发展。终结性评价包括章节测验成绩、期末考试成绩,由基于 Moodle 开发的“知码开门”和ACM Online Judge的在线评测模块给出,该过程不再是传统的对知识概念的考核,真正考核了学生对所学知识的灵活运用能力和综合处理问题能力。

推行分阶段、累加式成绩考核方法的核心和目标是通过成果引导学生学会自主学习、训练知识应用能力,激发创新意识,提升创新能力,特别重视学生个人预期与最终预期之间的差异,摆脱传统教学固有的“标准化”的状况,强调个性化、多元化,充分发挥个体的优势,这一过程对于学生的综合考核具有一定的实际意义,也从某种方面上刺激学生主动学习。

4.总结

本文以计算思维能力培养为导向探究《程序设计》课程的教学改革,从教学模式、教学设计、实验体系、考核方式四个方面对课程进行了改革,以更适合在“新工科”背景下实践能力强、创新能力强、具备国际竞争力的高素质复合型人才培养目标。

参考文献:

[1]周以真.计算思维[J].中国计算机学会通讯,2007(3):83-85.

[2]教育部高教司.关于开展新工科研究与实践的通知[EB/ OL].(2017-2-20)[2018-5-20].http://www.moe.edu.cn/s78/A08/A08_gggs/A08_sjhj/201702/t20170223_297158.html.

[3]王立松,潘梅园,朱敏.新工科”背景下非计算机专业的计算思维教学思考[J].工业和信息化教育,2018(9):28-32.

[4]李晓红.翻转课堂在计算机程序设计类课程中的应用探究[J].教学园地,2014(18):29-31.

作者簡介:

田红磊(1980年-),女,山东潍坊人,讲师,工学硕士,从事大学计算机、程序设计语言教学研究。

猜你喜欢
计算思维新工科程序设计
基于Visual Studio Code的C语言程序设计实践教学探索
从细节入手,谈PLC程序设计技巧
面向新工科的Python程序设计交叉融合案例教学
新工科形势下高校二级学院毕业设计管理探索
新工科背景下大学生创新创业教育探索
高职高专院校C语言程序设计教学改革探索
程序设计课程中计算思维和应用能力培养问题研究
算法的案例教学探析
浅谈艺术专业学生计算思维能力的培养
PLC梯形图程序设计技巧及应用