王 宇,陆 秋
(桂林理工大学 信息科学与工程学院,广西 桂林 541004)
“新工科”这一概念自2016年提出以来,教育部组织高校进行深入研讨,形成了“复旦共识”和“天大行动”。“新工科”不是局部考量,而是在新科技革命、新产业革命、新经济背景下工程教育改革的重大战略选择,是今后我国工程教育发展的新思维、新方式[1]。2016年,国内工科本科在校生538万人,毕业生123万人,专业布点17 037个。工科在校生占高等教育在校生总数的1/3。近年来,每年我国工科本科毕业生约占世界总数的1/3以上[2]。新经济快速发展迫切需要新型工科人才支撑,需要高校面向未来布局新工科建设,探索更加多样化和个性化的人才培养模式,培养具有创新创业能力和跨界整合能力的工程科技人才。不断推动新工科建设,主动适应和引领新经济[3]。而计算思维是新型工科人才必备素质,需要大力推广和提升。
计算思维概念起源于美国麻省理工学院西蒙·帕佩特(Seymour Papert)教授,美国卡内基·梅隆大学周以真教授对其进行了系统阐述和推广,即“计算思维涉及运用计算机科学的基础概念去求解问题、设计系统和理解人类的行为。计算思维涵盖了反映计算机科学之广泛性的一系列思维活动”[4]。在课堂教学中,程序语言设计是构建和训练计算思维的重要依托课程。
C语言作为一门结构化程序设计语言,是目前应用最广泛的程序设计语言之一,也是学生学习程序设计语言的基础。该课程通过讲述C语言基础理论,帮助学生初步形成独立分析问题、解决问题的能力。在课程讲授过程中,强调编程思想的重要性,注重计算思维培养。在教学互动中,通过对知识点的梳理和项目问题的解决,到达提高学生的计算思维的目的。以此课程作为计算思维培养模式研究的平台具有普适性和一定的针对性。
目前,无论是计算机专业还是非计算机专业的程序设计课程,其教学基本沿用传统的教学模式——讲授法,即教师利用多媒体和黑板等教学手段,按照程序设计课程自有的知识体系进行教学。按照概念、术语、语法、编程的顺序讲授。这种方式使得在教学过程中普遍存在以下问题:①课程教学目标模糊,对学生能力的要求不具体;②课程教学内容繁杂,课程知识体系有待优化和调整;③课程教学方法陈旧,模式单一,教学理念和手段急需改革。
这是由于很多任课教师对课程教学目标认识不清,面对抽象繁杂的教学内容,教学方法和手段单一,使得学生在学习过程中,虽然掌握了大量的程序设计概念和语法,却缺乏求解工程实际问题的科学思维能力、算法设计能力和编程实现能力[5]。
“新工科”是有别于传统工科的学科交叉产物,强调以信息化带动工业化。相对于传统的工科人才,未来新兴产业和新经济需要的是工程实践能力强、创新能力强、具备国际竞争力的高素质复合型“新工科”人才。
在国家推动实施创新驱动发展背景下,从2016年开始开展新工科背景下非计算机专业计算思维的培养模式探究,以计算思维的培养为教学核心,在课程改革教学实践活动中,以“一线三层四维”的思路开展教学,让学生通过比较、分析、实践等活动理解和掌握计算思维的科学思维方法,具体实现过程如下。
通过贯穿教学活动的主线,完成教学的终极目标,使学生掌握C语言基础知识,具备一定的程序设计和程序调试能力,为今后使用计算思维解决实际问题及后续应用型课程学习和相关系统开发打下良好的基础。程序设计语言应该成为学生利用计算思维将计算问题转变为计算机程序的有效手段,使学生能够通过程序设计更好地利用计算机的计算性能。
在课程教授中,通过项目实施进程的推进,让学生逐步掌握基础的知识技能,深刻理解简单系统开发的原理及过程。体会面向过程强调“自顶向下,逐步求精”以事件为中心的编程思想。通过学习该课程,学生掌握程序设计的基本方法和解决问题的思路,具备应用计算机解决和处理实际问题的思维方法和基本能力。
在设计培养目标时,设定基础级、提高级、进阶级、竞赛级等不同目标满足不同层次学生的需求。在进行项目设计时,注意选取和生活相关的项目,使学生在项目实施过程中,深刻体会利用计算机解决实际问题的思维和方法,达到培养计算思维的目的。
课程教学更注重对实施过程的考核,注重学生的实时反馈。这样一方面可以调动学生的参与热情,另一方面有助于教师及时调整教学内容,做到有的放矢。在教学过程中,鼓励学生探寻问题的多种解法,在启发、探究、释疑的过程中,进一步分析、总结、改进,寻找问题的优化思路,将计算思维的优化特性融入到程序设计的教学活动中。
3.1.1 注重成果导向
增加教学内容,重新整合教材,以学生为主,采用“项目驱动式”“情景教学”等教学方法,将实践教学项目化、工程化。在教学过程中,强调学生的实际完成项目过程情况,教师辅助引导学生完成实践任务。在实践过程中,注重“以学生为本”,突出以学生为中心,全面锻炼学生的实践和创新能力。
培养学生的专业应用能力,包括掌握计算思维的基本知识和方法,能用计算思维及相关工具解决专业问题。比如通过各专业的数据处理,加深对专业知识的理解,形成从基本问题到综合问题的解决思路,这些将有助于计算思维培养。
3.1.2 注重能力训练
陈国良院士提出计算思维教育的目的是培养一种思维习惯[6]。能力训练要符合学生的个性特点。哈尔滨工业大学战德臣教授等用“计算之树”给出了计算思维多维度的表述框架,认为“0和1”“程序”“递归”三大思维最为重要[7]。
C程序设计课程蕴含了大量的科学思维和方法,如选择、循环、分治、递归等。该课程学习中很重要一点就是思维方法的学习、训练、掌握和运用。教师在教授专业知识的同时要转换身份,跳出原有“老师教,学生学”的框架,不断帮助学生形成和完善观察世界、思考问题的方式。
采用现代化辅助教学手段(如微课、微助教、雨课堂、教育在线等)开展教学活动,提高学生在教学活动中的参与度。授课方式主要为理论知识讲解和案例分析相结合,课后借助较完善的课程工程能力强化训练平台,加强学生课后自主学习编程的训练力度,培养学生的自主学习意识,形成良好的学习习惯。
3.1.3 注重参与互动
针对学生实际情况,转变教学理念,从“教”与“学”两方面加以改进。主要从以下4个方面入手,如图1所示。
图1 项目驱动实时反馈流程图
在课堂参与模块实施过程中,构建全新的项目化教学模式,让学生成为学习主体,教师成为学生成长的引领者。在教学活动中穿插具有导向性和实效性的案例及讨论。在课后复习模块,通过微信、QQ等构建数字化“新媒体”互动平台,加强与学生的沟通和交流。
多方位的教学互动有助于活跃课堂气氛,在允许错误和变化的宽松氛围中提高学生的学习兴趣,有助于提高学生的自主学习能力,有助于学生综合能力的发展,有助于计算思维能力的培养。同时,教师也可以从教学实践活动中和理论讲授中不断提升自身水平。
3.1.4 注重过程考核
建立课程实施项目过程综合考核评价体系,实行教学做一体化,建立综合评价体系。全面、综合、动态、长期、不断更新,定期公开,及时沟通交流。老师明确任务,学生分析思考,按照拟定方案、查阅资料、完成项目、师生交流总结考核的流程开展教学活动。协同完成“启动疑惑、发现问题、解析疑惑、解决问题”的教学过程。
为了保证目标的顺利达成,还需制定合理的质量评价方案和目标达成度评价表。课程改革后的课程考核更注重教学过程的考核,评价反馈贯穿整个教学活动。更加注重课程教学实施环节的学生反馈,鼓励学生运用正确的思维方式对问题进行思考和分析,敢于表达自己的观点。
1)提高学生的参与互动。
对学生进行网上问卷调查,共收集了294份有效问卷。将“一线三层四维”教学模式运用于C程序设计课程的教学实践中,68.25%的非计算机专业学生不再认为程序设计是计算机专业特有的课程内容,并认为在今后工作中可以帮助其解决专业问题;64.73%的学生认为程序设计有利于培养计算思维能力;45.13%的学生认为“一线三层四维”的教学模式使编写程序更贴近生活,更有趣,对课程学习有帮助,愿意主动参与教学活动;60.48%的学生认为“项目化”教学有助于培养从基本问题到综合问题的解决思路。
2)提高学生的整体能力。
从2016年实施教学改革以来,2年多的教学实践证明,从知识点的基础学习到灵活运用的推进是适合本校学生特点和能力的,很好地调动了更多学生参与教学活动的积极性。学生参加统一命题、闭卷考试,难度相近。在选修本课程的349名同学中,采用新的教学模式,学生考试平均分均有所提高,见表1。
表1 学生成绩统计表
3)提高学生的创新能力。
按照分层要求鼓励学有余力的同学自觉地进行更深入的学习,鼓励更多的同学挑战不同难度的题目等级,按照“模仿、修改、编写”的教学模式进行实践,取得了良好的教学效果,使学生逻辑思维能力、创造能力、综合能力得到了一定提高,学生可以在老师指导下完成简单项目任务,课题组授课老师指导学生参加“蓝桥杯全国软件和信息技术专业人才大赛”获奖。
计算思维是基于计算机技术的科学思维,教学改革要符合并适应计算机技术的发展阶段。从2016年起,先后在桂林理工大学土木与建筑工程学院、材料科学与工程学院、环境科学与工程学院、商学院等4个学院进行了基于C语言程序设计的非计算机专业计算思维的培养模式教学改革探索,按照“一线三层四维”的教学思想,通过设计教学任务,采用慕课、微课等教学手段,强调问题抽象建模、独立分析解决问题的等计算思维能力的培养,从而切实提升学生的实际动手能力和灵活运用知识能力。今后在项目任务设计、描述和要求方面还将作进一步完善。