吴洪状 程诚 杨聪 彭涛
摘要:“新工科”建设旨在培养具备跨学科知识和综合技能的工程科技人才,更多地强调了创新能力、实践经验、团队合作能力等综合素质,对工科人才的要求显著提高。程序设计类课程是计算机类、机电类等众多工科专业的必修课,是培养学生计算思维、实践创新能力的核心课程。然而,传统的程序设计类课程教学存在教学模式与学生能力需求不匹配、考核评价方法与学生培养目标不匹配、课程思政建设不足等问题。因此,文章从教学模式、考核评价方法、课程思政三方面进行程序设计类课程教学改革研究,以培养学生实践创新、团队协作等综合能力,更好地适应现代科技领域的需求。
关键词:新工科;程序设计;教学改革;教学模式;考核评价方法;课程思政
中图分类号:G642 文献标识码:A
文章编号:1009-3044(2024)08-0162-03
开放科学(资源服务)标识码(OSID)
0 引言
2017年,教育部通过“复旦共识”“天大行动”以及“北京指南”,探索形成了“新工科”建设理念,并开启了“新工科”建设模式[1]。在当前时代背景下,工科人才的跨学科知识技能、实践经验、创新创业能力、团队合作能力、国际视野、社会责任感、自主学习和问题解决能力等综合素质受到更多的关注,成为人才评价的重要组成要素,“新工科”建设是适应时代需求,推动工程教育创新的一项重要战略举措。2023年2月,教育部等五部门印发《普通高等教育学科专业设置调整优化改革方案》,提出“推动高校积极主动适应经济社会发展需要,深化学科专业供给侧改革,全面提高人才自主培养质量,建设高质量高等教育体系”等改革指导意见。
程序设计类课程在高等工科教育中具有重要的意义,因为它们不仅培养了学生在计算机科学和软件工程领域的核心技能和知识,还能够有效培养学生在各个科学领域的计算思维,提高问题解决能力,适应科技行业的需求,促进创新創业,推动各种产业的数字化转型。另一方面,在当前人工智能、大数据、科学计算、智能化等领域的技术风暴下,掌握并灵活运用一种或几种计算机编程语言是当代工科人才必备的能力。然而,目前部分高校在教授C/C++、Python、Java等计算机程序设计类课程时,还保留着传统的灌输式授课方式以及常规的考核评价体系,不利于工科学生开拓思维、灵活掌握知识、创造性地运用知识[2]。因此,在“新工科”建设背景下,对计算机程序设计类课程进行教学改革具有重要的意义。
为了满足“新工科”背景下多样化、实践创新型人才的培养诉求,程序设计类课程教学改革势在必行。近年来,许多教育者对程序设计类课程进行了教学改革研究。于莉莉等[3]针对非计算机专业的计算机C语言程序设计课程如何融入专业知识问题,提出了合理选择案例教学的改革重点。赵满坤等[4]提出基于学生中心、产出导向、持续改进理念的程序设计类课程教学改革方法,以解决学生个体差异大、理论与实践脱节等问题。张学钦等[5]提出基于“OBE+课程思政”的教学理念,用于Java语言程序设计课程改革,以培养学生分析问题、解决问题的能力以及创新思维。童宇等[6]以Python程序设计为例,从教学目标、教学内容、教学模式和考核方式四个方面进行教学改革,提出了能力培养为主,融入思政元素,契合社会需求,解决复杂问题,以学生为中心,能力与知识考核并重等改革思想。这些改革都取得了一定的成效,并对未来进一步改革的方向具有指导作用。然而,在当代科技发展现状下,对工科人才提出更高的要求,课程改革需紧跟时代的步伐;另一方面,思政内容还需进一步融入,潜移默化地培养学生的工匠精神。
该文章以苏州大学未来科学与工程学院“新工科”建设实践为背景,以多学科交叉创新为载体,以培养符合时代发展与国家未来需求的拔尖创新人才为导向,致力于解决程序设计类课程在教学目标、教学内容、教学方法、考核评价等改革中遇到的关键问题,进行课程教学模式与考核评价方法改革,并加入课程思政建设,总结出一套适用于“新工科”建设创新性人才培养的程序设计类课程教学体系,以鼓励学生更加深入思考,提高学生团队协作能力与解决问题的能力,培养符合需求的工科人才。最终,以Python程序设计课程教学改革为例,进行实践研究。
1 程序设计类课程教学现状及分析
在“新工科”建设背景下,当前的计算机程序设计类课程教学体系主要存在以下问题:
1)教学模式与学生能力需求不匹配。计算机程序设计类课程与其他专业课不同,具有抽象概念理解难度大、知识点多且杂的特点,编程涉及很多抽象概念,如变量、函数、对象、类等,初学者可能需要时间来理解这些概念,尤其是没有编程经验的学生,在不理解教学内容的情况下会使学生失去学习兴趣和积极性。传统的教学注重理论知识的讲解,以教师讲授为主,学生被动接受知识,缺乏与学生的互动交流,缺乏对学生学习主动性的积极引导,难以培养学生的创新能力和实践能力,所涉及的实验案例也往往是“为了实验而实验”,保留着应试教育的特征,无法满足“新工科”建设背景下对工科人才实践创新能力等综合素质培养的需求。另外,对于程序设计类课程,学生层次化明显,传统的教学方法很难根据学生已有的知识体系进行个性化培养。
2)考核评价方法与培养目标不匹配。在当前“新工科”建设背景下,计算机程序设计类课程的人才培养目标应该更加贴近行业需求和技术发展趋势,培养学生的创新思维与问题解决能力、跨学科知识融合能力、团队合作与沟通能力等综合素质。然而,当前程序设计类课程考核方法一般沿用传统方法,即以上机考试的形式对课程基础理论与方法进行考核,主要包括选择题、填空题和编程题,其中编程题大多是脱离生产实际的、为了考察特定知识点而设计的问题。这种考核方式较为单一,只能考查学生对于知识点的接受能力,无法考查学生对于知识的运用能力、实践创新能力,导致学生动手能力较弱、解决实际问题的能力无法得到培养。
3)课程思政建设不足。课程是提升高等教育质量的根本元素,专业课程是课程思政建设的基本载体,然而,思政教学融入计算机程序设计类专业课面临着以下困难:课程建设与课程思政脱节,教师往往关注教学内容的完善性和逻辑性、教学方式的可行性与先进性等,而对课程的育人功能重视不够,造成“教书”与“育人”不同;课程思政实践中生搬硬套,无法将思政元素有机融入课堂教学中。
2 程序设计类课程教学改革
针对“新工科”背景下计算机程序设计类课程存在的教学模式与学生能力需求不匹配、考核评价方法与学生培养目标不匹配以及课程思政建设不足等问题,研究致力于程序设计类课程教学模式与考核评价方法改革,并将思政元素有机融入课堂教学中。在教学模式上,构建“教师-学生中心过渡”型课堂教学模式;在考核评价方法上,设计“个人考核+团队项目”的考试结构;在课程思政建设上,开展基础知识、案例探究、综合训练三位一体思政元素融入设计。
1)“教师-学生中心过渡”型教学模式。对于程序设计类课程,以教师为中心的课堂教学具有以下优势。①结构明确:由教师按照既定的教学计划和大纲来组织课程,确保课程内容的有序传授。②有效教授专业知识:教师通常具有深厚的专业知识和经验,可以向学生传授重要的编程概念和技巧。③有效控制课堂:教师可以更好地控制教学过程,确保学生学习到必要的内容,并且可以快速解决学生的疑问。④适用于基础知识教授:更适合向学生传授基础的编程知识和技能,特别是对初学者。而以学生为中心的教学具有以下优势。①学生参与度高:这种教学方法鼓励学生积极参与学习过程,提问问题,讨论和分享观点,从而增强学习动力。②促进学生自主学习:学生有更多的自主权,可以选择自己感兴趣的项目和学习路径,有助于培养独立学习的能力。③适用于实践和项目导向:学生可以参与实际项目和科技竞赛,通过实际操作来巩固所学知识。④个性化学习:更好地满足不同学生的学习需求,因为每个学生的背景和学习速度都不同。⑤培养问题解决能力与实践创新能力:学生为中心的教学鼓励学生独立思考和探索问题解决方法,培养了实践创新能力。
仅使用以教师为中心的教学模式无法满足“新工科”建设下对工科人才实践创新能力的要求,且仅使用以学生为中心的教学模式会导致课堂的不可控性,尤其是在学生还没有学习大量基础知识时,找不到学习方向,很难进行自主探讨式的学习。因此,提出“教师-学生中心过渡”型教学模式:在计算机程序设计类课程中,可以首先以教师为中心,建立坚实的基础,然后逐渐过渡到以学生为中心的教学,鼓励学生应用所学知识来解决实际问题。对于基础知识教授,采用以教师为中心的模式,但需要基于实际生产生活,设计具有趣味性、涵盖主要知识点的教学案例,引出并总结主要知识点,使学生潜移默化地掌握知识;在后续的综合性教学和实验教学中,采用以学生为中心的模式,基于工程需要、比赛项目等设计具有层次性的问题案例,以师生研讨和学生小组讨论的方式,引导学生思考,一步一步地解决综合问题,提高新工科背景下学生的创新意识和创新能力。
2)个人考核与团队项目并重的考核评价方法。个人基础知识考核旨在评估学生对计算机程序设计的核心概念和技能的理解与掌握程度,主要包括基础知识的考核和简单的编程应用考核。个人基础知识考核方法一般通过期末考试完成,其能够有效评估个人能力,有助于教师确定每个学生在课程核心概念方面的独立水平;可以提供有针对性的反馈,帮助学生了解自己的强项和弱点;考核方式相对公平,每个学生都有机会在独立环境下展示自己的技能。但是这种考核方式无法体现学生的实践创新能力以及团队协作和沟通能力。
团队项目考核是对学生团队合作环境下运用程序设计知识与技巧解决实际问题的能力进行评估,学生需要清晰地表达项目设计和实施过程,演示项目成果,并且说明他们在项目中的角色和贡献。其可以考查学生在项目实践中的团队协作、沟通和解决问题的能力;展示学生的实践能力,为学生适应当代社会生产模式奠定基础。然而仅使用这种考核方法无法准确评估个人能力,如不同成员的代码编写能力、算法设计能力等。
因此,针对当前考核评价方法与学生培养目标不匹配的问题,提出个人考核与团队项目并重的考核评价方法。对于个人考核,建立一个能力与知识考核并重的多元化考核评价体系,以考试的形式,对学生的知识掌握与应用情况进行考核,以保证学生的知识水平;对于团队项目考核,以学生自行组建团队、自拟课题、老师审核可行性的方式进行,以路演及答辩的形式完成考核,根据团队成员分工与完成情况进行打分,培养学生创新能力、团队协作能力等综合素质。
3)深化课程思政立德树人建设。围绕社会主义核心价值观教育、法治教育与中华优秀传统文化教育,展开程序设计类课程思政元素设计。在基础知识教授、师生案例探究、综合实验训练三方面的教学过程中,精心选择既能涵盖核心知识点,又能履行思政教育使命的案例任务,能让学生在完成课程知识学习的同时,在案例分析中受到教育和启发,以培养学生精益求精、坚韧不拔的大国工匠精神,潜移默化地提高学生的思想水平、政治觉悟、道德素质与文化素养。
在基础知识教授方面,为核心知识点设计课程思政教学案例,例如,在函数讲解时,通过软件模块的耦合介绍人与人、人与社会的关系,一个完整程序是整体,每个函数是局部,演示局部对整体的影响,帮助学生建立积极正确的社会认知。在师生案例探究方面,设计具有思政教学意义的应用举例,例如,在开发一个社交网站时,需要考虑用户言辞的合适性,需对關键字做出过滤,防止用户发布过激、不当的言论,引导学生尊重他人的感情与个人隐私,并且学会做一个对自己负责的人。在综合实验训练方面,考虑思政元素,设计团队项目实验内容,例如,以小组的形式进行垃圾识别与分类项目,项目本身能够激发学生的环保意识,引导学生保护环境。另外,项目需要进行模块化编程,每人负责不同的模块,一个模块存在问题,会导致整个项目的失败,帮助学生培养社会责任感,同时也能培养学生互相帮助、协作共赢的精神。
3 结束语
在“新工科”建设背景下,针对计算机程序设计类课程存在的教学模式与学生能力需求不匹配、考核评价方法与学生培养目标不匹配以及课程思政建设不足等问题,进行教学模式和考核评价方法改革,并深化课程思政建设,提出“教师-学生中心过渡”型教学模式、个人考核与团队项目并重的考核评价方法,促进“新工科”建设下工科人才实践创新能力、团结协作和解决问题能力等综合素质的培养。进行了Python程序设计课程教学改革实践,实践表明,课程教学改革对教学起到了促进作用,好评率达到99.2%,学生上课积极性和教学效果显著提高。
参考文献:
[1] 王春,肖建于,沈龙凤,等.新工科背景下Python语言课程教学改革[J].淮北师范大学学报(自然科学版),2021,42(4):88-91.
[2] 闵源, 许春冬. 人工智能时代的《Python程序设计》课程教学改革与实践[J]. 科教导刊-电子版(下旬), 2022(12):187-189.
[3] 于莉莉, 苏晓光, 李晶. 新工科背景下计算机程序设计类课程案例教学改革研究[J]. 电脑知识与技术, 2018,14(15):158-159.
[4] 赵满坤, 徐天一,张文彬, 等. 新工科背景下程序设计类课程教学改革探索[J]. 计算机教育, 2023(2):149-152.
[5] 张学钦,贾媚媚. 新工科背景下基于“OBE+课程思政”理念的教学设计与实施——以“Java语言程序设计”为例[J]. 南阳师范学院学报, 2023,22(1):60-63.
[6] 童宇, 张明键. 面向新工科的Python课程改革探析[J]. 科技视界, 2022(21):95-98.
【通联编辑:王 力】