程序设计课程跨学科融合教学研究
2023-04-10王云楼
摘 要:在程序设计类专业技能课程的学习中,职校学生普遍存在着目标不清、认识不明、理解不易和畏难情绪严重等问题。基于新时代教育对提升学生核心素养的要求展开理论研究,发现培养学生的计算思维是程序设计课程实施的关键点,而跨学科融合教学是实现这一目标的突破口。因此,借助丰富的信息技术手段制订教学方案,提高了学习效果,增强了学生的参与度、满意度及愉悦度。
关键词:跨学科教学;计算思维;程序设计课程
Abstract:In the study of program design professional skills,there are many problems in vocational school students,such as unclear goals,unclear understanding,difficult understanding and serious fear of difficulties.Based on the requirements of the new era education to improve students' core literacy,theoretical research is carried out,and it is found that cultivating students' computational thinking is the key point of the implementation of programming curriculum,and interdisciplinary integrated teaching is the breakthrough to achieve this goal.Therefore,with the help of rich information technology means to develop teaching programs,improve the learning effect,enhance students' participation,satisfaction and pleasure.
Keywords:Interdisciplinary teaching;Computational thinking;Program Design course
1 新时代人才培养的要求与价值取向
教育部确定了发展学生的核心素养是落实立德树人根本任务的一项重要举措。我国在新一轮信息技术课程标准中,也将计算思维列为信息技术课程的核心学科素养,“引导学生亲历计算思维过程”在课堂教学的变革中占有突出位置。计算思维教育已是当前国际计算机领域广为关注的一个重要概念,也是当前信息技术教育研究的一个重要课题。程序设计作为信息技术学习中的一大难点,应依据新理念及时改进教学,助力学生的高质量学习与全面发展。
2 职校学生程序设计课程学习存在着诸多问题
2.1 学习目标不清晰
“C语言程序设计”属于专业技能核心课程,根据专业人才培养方案和课程标准的要求,学生需具备从事本专业职业岗位所必需的程序设计基本知识、理论和技能,并具有程序设计和简单的开发能力,进而通过学业水平测试获取全国计算机等级考试二级C语言合格证。由此一来,学生会片面地认为“学习=考证”,目标功利化导致学生接受知识的方式方法过于死板。但是,考证是学业要求,职业发展、素养提高与终身学习能力才是教育的深层价值所在。尤其是在计算机基础尚且薄弱时,程序设计课程的学习还需要逐步建立学生的高阶思维,过于追求结果,会导致学生遇难而退,止步不前。
2.2 专业认识不明确
课程教材《C语言程序设计》按照江苏省《学业水平测试考试大纲》的要求编写,该教材中项目的设置虽然接近学生的学习生活,但是不能激发他们的兴趣,与学生的职业定位相关性弱,知识点向本专业工作内容的迁移程度不高。中职阶段的学生仍未脱离小学、初中阶段学科学习的惯性思维,专业认识与职业定位尚不明晰,这使得学生只是被动地、机械地接受学校和老师所做的一切学习安排,主观能动性受到极大的限制,学习兴趣相应地有所抑制,这与职业教育提倡学生多实践,有创新的教育目标存在矛盾。
2.3 知识理解不容易
中职生学习能力相对较弱,主要体现在对知识的理解以及理论向实践的迁移上。学生对专业课内容几乎都是第一次接触,在程序设计课程的学习过程中两极分化现象严重。例如,通过教学内容编排和活动的组织,个别同学能迅速获取知識要点,达到“顿悟”的状态,而相应地,一部分同学通过反复探索仍无法在知识间建立关联,如何使两者互“利”共赢,并在计算思维的触发下,渐渐主动、共同生成科学有效的学习机制,进而专业课间的学习和知识应用上形成联动,是本研究关注的焦点。
2.4 畏难情绪很严重
中考后进入职校的学生自我效能感较弱,畏难情绪是普遍存在的,故而要从学生易消化、接受快的方面入手,潜移默化,攻其不备,逐步增强他们的自我效能感,提升其学习获得感与专业素养,将工匠精神的塑造融入日常。
3 国内外研究现状
3.1 面向计算思维培养的教学
计算思维是以计算机领域的学科方法界定问题、抽象特征、建立结构模型、合理组织数据,通过判断、分析与综合各种信息资源,运用合理的算法形成解决问题的方案,总结利用计算机解决问题的过程与方法,并可迁移到与之相关的其他问题解决中的一种学科思维。面对世界各国遭遇的各种环境、生态、能源、安全、经济、政治等诸多复杂问题,培养跨领域思考、具有高度理性与客观、以问题解决为导向的复合型人才已经是大势所趋[1]。国外计算思维的应用研究也聚焦于计算思维的教育过程,应用层次涵盖了K-12到高等教育的所有学段,但主要集中在K-12阶段[2]。目前国外在探讨如何促进与评估计算思维发展的实际问题时,更加关注K-12阶段。国内自核心素养正式提出以来,计算思维培养的研究层次逐步从高等教育聚焦到基础教育上来。从内容上看,高等教育针对如何培养学生的计算思维,不仅探索了以培养学生计算思维为导向的大学计算机基础课程教学有效改革的相关模式、策略、方法与实践等,而且还从宏观层面探讨了在高等教育阶段开展计算思维教育的相关对策与实施的有效路径。而初中等教育主要通过教学实践探究,促进计算思维的生成,提升核心素养,落实立德树人根本任务。
3.2 程序设计课程教学中计算思维的培养
当前,国外计算思维研究的重心已转向如何促进与评估计算思维发展的实际问题上。关于如何促进计算思维的落地,虽然学者们一致认为应在具体的教学中推进,但对于在教学中是把计算思维视为一般学科、学科专业还是多学科专题的问题尚未达成共识。此外,需要在教学中培养的思维并不仅有计算思维,还有正在形成的其他思维。对此,计算思维的倡导者指出,虽然计算思维与数学、工程和设计思想共享元素,并且利用了其他思维方式的相关框架,但计算思维以其独特的方式对其他思维技能进行了扩展[3]。关于课程的选择,国外相关的研究主要聚焦于计算机编程或计算机科学相关的课程,但也有少量的研究涉及英语、数学、语言艺术等课程。
近年来,随着关注中小学计算思维教育学者的增多,研究层次在中小学教育的文献数量也有所增加。这些研究也聚焦于如何培养学生的计算思维,不同的是它们更侧重于在信息技术课程中探索培养学生计算思维的有效教学模式、方法与策略。
3.3 基于跨学科融合教学的计算思维培养
国外之所以聚集在K-12阶段,是因为许多学者与教育界人士认为,计算思维这种“多元抽象的思维”可从计算机科学领域扩展到所有学科,为分析和开发能够通过计算方法解决的问题提供一种独特的方法,理应成为K-12学生的基本要求[4]。更为重要的是,计算思维与培养学生21世纪核心竞争力在许多方面是一致的,譬如创造力、批判性思维与问题解决等。随着计算思维被视为科学、技术、工程与数学(STEM)学科的核心,许多教育工作者都深刻认识到,培养K-12阶段学生的计算思维有助于学生能够尽早地使用计算思维,更好地解决现实世界中遇到的各种问题。
国内研究中最早实施跨学科计算思维教学的学者是北京大学的李晓明教授,他以社会学与经济学的若干经典问题为背景,以应用数学和计算机科学的基本概念为语言,向学生展示了一种交叉学科尤其是计算思维在社会科学中运用的广阔图景[5]。复旦大学的徐迎晓博士探讨了在跨学科课堂中开展统一的、结合学生各自学科的计算思维练习形式,结合跨学科的通识教育课程,通过设计统一的练习,使不同学科的学生都能够结合自己的专业知识进行计算思维特定方面的训练,并实现跨学科的相互启发[6]。近年来,从基础教育领域越来越多的教学实践中发现,跨学科融合教学能够通过促进学生建立计算思维,从而提高其问题解决能力。
4 教学设计与实践
4.1 教学分析
授课对象为计算机网络技术(无人机)专业的五年制高职一年级学生,基于调查和访谈发现,其在入校前计算机学习的基础较差,编程经验全部为零。经过一个学期的学习,能够读懂基本结构的程序代码,95%以上的同学能够使用基本的C语言元素和结构编写简单的程序。在日常教学与管理中发现,学生对无人机专业课有着极大的兴趣,并且在职业规划上有所偏向,因此与该门课程的任课老师展开协同备课,实施跨学科融合。此外,传统课堂中讲练结合的方法难以促进学生计算思维的培养,故而借助丰富的信息技术手段,使得学生思维可视化,感知理解的发生。
4.2 教学实施
“数组”是C语言学习中的一大难点,“一维数组”属于教材《数组与字符串》中的一个教学单元,旨在使学生理解C语言中数组的概念,掌握其使用方法,进而建立批量化处理思想,为计算机专业学生深造大数据的数据结构提供底层认知。计算思维解决问题一般有四个基本步骤:分解、抽象、模拟和算法。本文以一维数组的学习展开论述,以计算思维建立的主要环节为线索,切实探究跨学科融合教学中生成计算思维的具体实施策略,针对性地化解学生的学习难题。
4.2.1 情境导入,分解问题
在计算思维建立过程中,“分解”是指将一个问题拆分成几个可执行的操作步骤。通过观看“无人机点亮夜空 向建党百年献上真挚祝福”的震撼视频,在融入课程思政的同时,创设无人机编队形的跨学科专业情境,与学生当前所学的无人机模拟操作联系起来。思考问题,已有矩阵列队有什么样的局限性?以问题为桥梁,将条件语句和数组这两个前后知识巧妙关联。学生能够在理解的基础上,顺利地将大项目分解为小步骤,在问题界定中融入知识点,同时自然过渡,衔接学习内容,并体现出程序设计的优化理念。
跨学科的情境设置有利于学生进行问题分解,将虚拟抽象的程序代码跟真实可触的无人机操作建立了思维联结。
4.2.2 概念提取,抽象要素
计算思维中“抽象”是指提取现实问题中的关键概念,并将其转化为计算机科学中具体的可执行要素。这一過程主要实现问题的化繁为简,在程序设计中用代码元素来表示问题的关键概念。通过微课展示,无人机列队与数组矩阵可以在视觉上进行直观的对应、转换。无人机点位可以抽象成数组中的元素,学生可利用课前自主学习的命令,将元素按照顺序保存在数组中,完成“数组的定义、初始化”这一教学重点。
在新知识学习初期,“抽象”思维的水平取决于学生对概念的理解程度,利用更加具象化的内容来降低学生的认知负荷,将高度概括的计算机术语表征为学生易接受的事物。
4.2.3 规律对比,模拟方法
“模拟”是指预测问题发生的规律,并找出符合这个规律的模式来进行测试。使用动画演示一维数组引用的原理,带领学生发现在输入输出时,数组引用的规律——一般情况下,与for循环结合使用。根据学生在无人机实操课上的学习要点,vlog记录无人机排列队伍实况,引导学生发现在入场和出场时具有“结构固定”的规律。利用这两个模式的相通点,在数组引用时采取for循环的方法模拟无人机的进场与出场。
4.2.4 分析结构,形成算法
计算思维生成中的“算法”这一环节是指创建一个机制,其中包含了能够解决同一模式相似问题的可重复执行的具体步骤。算法的形成是C语言程序设计学习的难点、痛点、堵点。经过以上环节的铺垫,完成向“算法”的转化以及“算法思想”的迁移是发展学生信息技术核心素养的一大飞跃。无人机操控课程可见可操控,但较难激发学生思考,学习的深度不足。因此,利用无人机课程的“形”与“实”来攻克C语言程序设计的“道”与“虚”,通过实操及视频记录发现规律,使用在线协作工具Processon,通过小组合作的方式将规律用思维导图(流程图)的形式表示出来,并用程序语言描述,加以比对,进而形成算法。结合算法“反哺”无人机操控模拟,实现自动化处理。
在协作学习中,学生参与度提高明显是由于对信息化手段的好奇心,并且使用工具可以认可每一位学生在学习过程中的点滴付出,而非以最终结果的正误“一锤定音”,这样学生能更容易感受到学习的发生。
4.3 教学效果
“空间展示”“动态变化”“现象模拟”……这些跨学科学习不仅有助于学生掌握多学科的知识和技能,更能提供丰富的知觉刺激来促进其发散思维、拓宽眼界,在“一技之长”的基础上,逐渐迈向高素质提升。根据作品档案袋分析法的结果显示,从纵向(与往届学生相比)与横向(与同届学生相比)两方面来看,学生的学习效果均有显著提高。同时,在课堂教学观察中发现,学生的学习参与度、满意度及愉悦度均有所增强,在练中思、做中学,实现了技能的有意义学习目标。
结语
在新时代高质量发展的背景下,职教人才所需的不仅是专业技能上的高度,更要具备多元化跨领域的广度与深度。跨学科融合教学的方式通过更为现实且系统的问题解决,帮助学生在学习之初明确了符合自身认知水平的学习目标,激励学生在学习过程中认识所学专业,用学生的兴趣点降低其畏难情緒。同时,在建立计算思维的基础上,有效提高学生对知识的理解水平,在教学引导下完成内容的意义建构,在潜移默化中实现学以致用。
参考文献:
[1]陈鹏,黄荣怀,梁跃,等.如何培养计算思维——基于2006—2016年研究文献及最新国际会议论文[J].中国大学教学,2018(1):98-112.
[2]FilizK,YaseminG,VolkanK.A Framework for Computational Thinking Based on a Systematic Research Review[J].Baltic Journal of Modern Computing,2016(3):583-596.
[3]LeeI,MartinF,DennerJ,etal.Computational Thinking for Youth in Practice[J].AcmInroads,2011(1):32-37.
[4]HeintzF,MannilaL,FarnqvistT.A Review of Models for Introducing Computational Thinking,Computer Scienceand Computing in K-12 Education[C].Frontiersin Education Conference,2016:1-9.
[5]李晓明.跨学科计算思维教学的认识与实践浅谈[J].中国大学教学,2011(11):4-5.
[6]徐迎晓,李妍.跨学科课堂的计算思维练习[J].中国大学教学,2014,36(A2):46-48.
基金项目:南京市第十一期个人课题“程序设计课程跨学科融合教学研究——以C语言教学为例”(项目编号:Aq3175)
作者简介:王云楼(1992— ),女,河南洛阳人,硕士,讲师,研究方向:计算机教学、信息技术与教育应用。