摘 要:计算机在各个行业的融入,使得社会对非计算机专业人才的计算机素质和能力的要求不断提高。本文从工科非计算机专业公共基础编程类课程C程序设计的教学实践为例,教学中贯穿多方位、多层次提升学生计算思维能力的培养为中心的教学理念,在教学内容和教学方法上进行了探索改革,使非计算机专业学生在掌握编程语言及其应用的同时提高计算思维能力,为学生在专业领域内应用计算机技术奠定良好的基础。
关键词:非计算机专业;计算思维;教学改革;人才培养
中图分类号:G642.0
Research on Teaching Reform of C Programming Language Course
for Computational Thinking Ability Cultivation
Fan Zhe
Zhengzhou Institute Of Aeronautical Industry Management HenanZhengzhou 450046
Abstract:Demands for computer cultivation quality of noncomputer majors have been continuously raised with the application of computers in various industries.Taking the teaching practice of the public basic course C programming language for noncomputer engineering undergraduates as an example this paper introduces pedagogy and teaching content design under the teaching philosophy of the cultivation of students' computational thinking ability in multiple dimensions and layers.The exploration and reform are carried out to enable noncomputer majors to improve their computing thinking ability while mastering the application of programming language to provide methodological reference for talent cultivation.
Keywords:noncomputer majors;computational thinking;teaching reform;talent cultivation
一、概述
计算机在各个行业的融入使得社会对高校人才培养的需求发生变化。随着信息技术的不断提高,尤其是智能制造、物联网等技术在工业领域中的研究与发展,对工科非计算机专业学生在新形势下的综合素质和能力培养更是提出了新的要求。面对新的产业和技术带来的挑战,教育部积极推进工程人才的培养模式,不断加强新工科专业建设和工科教育改革,促进高校开展新工科的研究与实践以应对未来的竞争。高校在专业设置和课程建设等方面进行了一系列工程教育的改革,以提高工科人才的培养质量。
新工科内涵的核心特征之一就是“计算机+各学科”,其精髓是“融合”[1]。根据专业的要求和特点,培养学生具备应用计算机技术的高级能力,使学生具有在专业领域中的创新思维,国内外教育愈发重视计算教育。工程与计算已成为不可分割的整体,培养工程教育中的计算思维,通过计算的知识和技术以更高效、更精准地解决工程问题成为必然趋势[2]。我校为非计算机专业工科学生开设了程序设计类公共基础课程。通过课程的学习,能够给非计算机专业学生奠定必要的计算机理论和计算机应用的基础。为支持新工科建设,提高学生应用计算机技术的能力,满足专业建设对学生的计算机能力的需求,在程序设计类公共基础课程的教学理念、教学内容、教学方法等方面不断进行探索改革,多方位加强课程对学生计算思维能力培养的要求。本文以我校非计算机工科专业所开设的程序设计类公共基础课程C程序设计为例,结合作者的教学实践探讨了以提升学生计算思维能力的培养为理念的教學改革。
二、教学中存在的问题
程序设计公共基础课程C程序设计面向大学一年级学生开设,传统的教学目的是使学生具有基本的计算机应用能力和思维能力,主要是为了培养学生对计算机程序的认识,使学生具有基本的编程能力,因此主要讲述高级语言程序设计的基本概念、规则和方法。在教学的过程中,课程内容具有不仅琐碎而且量大枯燥的特点,在对学生进行程序设计的训练中,也存在部分内容比较抽象、不易理解的现象,造成学生学习效果不好,部分内容没有被学生掌握的问题,甚至出现有的学生在教学中随着课程内容难度的加大而放弃了思考学习。另外,学生在课程上学习的层次差别很大,给非计算机类学生的教学工作造成了一定的困难。由于在中学阶段计算机基础教育的不同,而且由于学生所学的专业是非计算机类,对计算机的学习兴趣也有所不同,所以学生表现出的差异程度比较大。在教学中如果忽视这些问题,往往会使很多学生达不到思维训练要求,无法取得理想的教学效果。原有的教学内容和教学方式由于教学理念的改变已经不能很好地满足要求,在新的教学要求下如果达到在专业领域中能够运用计算机高级技术的教学目的,必须使学生具有较强的计算思维能力,需要对教学内容进行调整和对教学方法进行进一步的改进。
三、教学内容和教学方法设计
(一)拓展和合理组织教学内容,多方位思维训练
如何更有效地组织和安排教学内容是提升学生计算思维能力需要考虑的关键问题。首先,从教材内容入手。教材内容不仅是教学内容中重要的组成部分,也是如何安排教学内容的基础。根据非计算机专业学生对教材内容中各部分的理解程度来对教材内容进行划分,决定是否需要补充教学内容,增加把提升计算思维能力转化为教学内容的部分。正确理解计算思维科学内涵是实施计算思维教育并达成预期目标的关键[3]。把教材的内容和计算思维的培养结合起来,将计算思维的培养细分成各种构成性思维能力的培养,比如抽象思维、算法思维、逻辑思维等,在教学中把这些思维在教材内容讲解时加以深化或拓展。比如在提升学生的系统思维能力方面,教学中加入利用计算机处理实际问题时分析问题和解决问题的步骤、数学建模的概念、数学建模和编程之间的关系等内容;在提升学生的数据思维方面,讲解基本数据类型的部分时可以加入讲述结构化数据的概念、数据类型与结构化数据的关系、数据存储差异的原理等内容;在提升学生的算法思维方面,教学中加入讲述算法的常见分类、算法的常见思想、对较复杂的程序增加算法的流程图描述等内容。其次,合理安排教学顺序,促进深入思考问题。由于课程的知识点前后内容互相依赖,联系紧密,不仅后面的章节会应用前面的知识,也会出现在前面的教学内容中多次用到后面的章节内容的情况。在教学中机械按照教材内容安排的顺序进行讲解,会存在学生对问题无法深入理解的现象,导致学生在这部分的知识学习时比较吃力,上课时就无法深入地进行思考判断。合理安排教学内容的顺序,不僅可以促使学生对某些知识点的理解,而且学生可以对某些知识点进行对比学习,从而更好地思考问题。为了促进学生清晰地思考问题,消除学生存在的疑问,可以在课程中进行交叉讲解。比如简单程序设计中的格式输出函数部分交叉至基本数据类型中的常量变量部分进行讲解,程序概述中的程序调试原理部分交叉至基本数据类型及运算结束后讲解,程序结构设计部分中的关系运算符和关系表达式的讲解交叉至数据和运算部分集中进行对比讲解等。
(二)充分设计教学活动,教学案例与生活实践相结合
课堂教学时根据教学内容,以学生为中心,设计多种课堂活动以提升学生的计算思维能力。比如选择鼓励法,设计多道题目,每次邀请几名同学同时参加,每位同学可以根据自己对知识的掌握情况自由选择一个题目进行解答,任课教师在学生发言的时候,可以引导学生进行思考,对知识点进行扩充,并在学生参与后进行评价奖励。归纳讨论法,在教学过程中分阶段把学生在程序编制中出现的问题归纳在一起,在每一章节的教学内容讲解完后在课堂上进行展示,让同学们积极发言,进行辨别和讨论。在讨论的过程中,任课教师注意及时纠正学生对知识点的错误认识,并引导学生改正在程序设计中出现的错误思维。自主编程法,挑选程度好的同学,即时编写程序代码,然后给大家讲解自己的编程思路和方法,其他的同学可以结合各自的认识和算法设计,指出其中出现的问题或对程序加以更改。以学生为主体的课堂活动,课堂气氛活跃,是学生通过和老师的交流来提升其计算思维能力的有效途径,但注意任课教师在评价学生的回答时要多鼓励学生,尤其是平时发言较少的学生。在教学活动中遇到学生难以理解和思考的问题时,要注意对学生进行引导,鼓励学生勇于向难题挑战。
教学中由于有的程序设计案例比较抽象,需要学生认真思考,而该阶段的非计算机类专业学生,由于接触计算机少,对程序设计的概念和方法比较陌生,另外由于所修专业和计算机专业的差别,导致有的学生对编程不够重视,所以客观上造成课堂上学生往往缺乏思考问题的耐心,等着听老师讲解的现象。在设计程序设计的案例时,采用案例和实践相结合的方式。案例设计时选取生活中的实例可以引发学生的兴趣,积极思考问题。比如在讲解程序结构时设计商品的购物篮问题、图形输出问题、猜字游戏等案例,讲解数组时设计班级同学的成绩统计问题、棋盘生成问题等案例。这样通过在教学中解决实际问题的过程中,可以不断激发学生的学习兴趣,使学生通过对案例的主动学习来提升计算思维能力。
(三)多方位构建教学平台
教学中运用多种教学平台多方位促进学生思维能力的提高。首先,使用超星平台设计网络教学平台,使学生可以自由选择学习内容和学习方式。课堂教学在教学中能够直接和学生交流互动,有利于对教学内容和教学效果及时做出反馈,便于授课教师快速进行调整,但编程思考需要很多时间的投入。在教学中充分利用网络和云平台技术研究新形态教学以补充有限的教学时间,设计数字化学习方式提升学生计算思维的能力。平台上针对课程每一章节放置相关的学习内容,在章节内容的设计上充分考虑了拓展学习和加强思维训练等方面的问题。比如平台在放置需要阅读学习的文字部分基础上,把相关内容的拓展知识设计成相关PPT或视频穿插在页面内,把课程中需要重点学习的部分设为任务点视频,在页面的学习中针对某部分内容编制一些思考问题让学生进行深入思考。平台上提供教学大纲、课程视频、多种开发工具、自主阅读材料等,给学生推荐与课程相关的网络资源,学生可以根据自己的学习能力情况进行电脑端和手机端的自主在线学习。网络教学平台的设计不仅加强学生课程内容学习的自由度,而且还可以借助平台进行问题抢答、下发问卷、课外讨论等有助于提高计算思维的教学活动。在组织平台的课外讨论时,任课教师要注意根据平台显示的讨论情况及时发言。因为积极思考问题的部分学生不仅会在讨论中说明自己的答案,而且也会去评价其他同学的答案,任课教师对于这些更深入的讨论交流活动表达意见并给予肯定,对于促进参与课外讨论的同学进一步思考问题,提升其思维能力是很有帮助的,同时也会促进班级其他同学进行讨论学习。其次,开发练习测试平台,利用评价机制促进学生思维能力的提高。计算思维的评价对计算思维在实践中的应用效果研究有重要价值,同时也影响着计算思维领域研究的发展[4]。练习测试平台不仅可以使学生进行自主练习的选择,以便总结现阶段自身的学习状况,而且授课教师可以根据教学内容的进展情况选择性地对学生进行阶段性测评,以查看教学中学生思维能力的训练效果。测试平台对每章内容设计易、中、难程度的题目,以不同形式比如选择、判断、简答、填空、编程考查学生,从不同角度比如章节练习、综合练习、模拟考试等提高学生思维能力。为了使学生在练习时能及时根据疑问查找所学内容,平台上还提供了针对练习中经常使用的知识点总结的精简小视频。最后,答疑使用学习通、钉钉和线下相结合的方式,以便快速解决学生在思维过程中产生的问题。学生在利用计算机编程的过程中,会遇到各种各样的问题,加强师生沟通,及时解决问题会提高学生的学习效率。由于学生使用手机比较方便,所以在手机端学习通上进行在线学习比较多,而在电脑上编程时,如果程序有问题需要和老师讨论,学生往往需要把产生的问题画面截图呈现给老师,这时在电脑上直接利用钉钉平台上传,操作比较方便。
(四)多层次合理规划课堂教学
对教学中所有学生要求同样的学习难度,思维训练的效果往往不理想。为了使不同层次的学生在学习中能积极地思考问题,促进其计算思维能力的提升,课堂教学中根据每节课的教学特点,结合学生的学习层次,把内容设计为易、中等和高难度的不同层次,并规划不同层次内容所占用的时间。层次性设置应结合授课知识的特点,要根据教学内容的信息量的多少和难易来决定。比如对于语法规则的学习部分,课堂内容信息量大,需要学生理解的知識点很多,如果这部分内容学生没有充分掌握,则程序编制时就会出现很多问题,教学设计时应以中易层次的学习内容为主,促进所有学生积极进行思考和回答问题,以便于在教学中达到能够使各个层次的学生对知识点的快速理解掌握的目的;对于程序结构的学习部分,课堂内容的信息量和难度适中,则在中易难度层次的内容学习上增加一些高难度教学内容,以促进计算机能力层次较高的学生积极思考和讨论问题,提高其学习效率。注意在教学中为学生营造良好的思维氛围,尽可能使全部学生参与教学活动和讨论,可以促使不同层次的学生积极地思考问题,以互相促进思维能力的提升。
结语
为了支持在新形势下的工科人才教育改革,培养工科非计算机专业学生运用计算机高级技术的思维能力,根据课程特点和非计算机专业学生特点设计了公共基础编程类课程C程序设计的教学过程。课程教学中坚持多方位、多层次提升学生计算思维能力的培养为中心的教学理念,在教学内容和教学方法等环节进行了探索实践。在教学中运用多种平台,合理组织和拓展课程内容,课堂上注重学生的参与程度,设计多种方式,训练学生如何利用计算机解决实际问题,使学生在掌握编程语言的同时提高其计算思维能力,为学生在专业领域中使用计算机技术奠定良好的计算机应用基础。
参考文献:
[1]邓磊,战德臣,姜学锋.新工科教育中计算思维能力培养的价值探索与实践[J].高等工程教育研究,2020(02):4953.
[2]吕正则,张炜,邹晓东.智能化社会下计算教育的演进趋势与多元路径[J].高等工程教育研究,2018(05):5257+122.
[3]唐培和,秦福利,王宇,等.加强计算思维教育 提升创新创业能力[J].中国高等教育,2018(08):4748.
[4]陈鹏,黄荣怀,梁跃,等.如何培养计算思维——基于2006—2016年研究文献及最新国际会议论文[J].现代远程教育研究,2018(01):98112.
作者简介:范喆(1972— ),女,汉族,河南洛阳人,硕士,副教授,研究方向:计算机应用。