多种计算机语言协同教学的可行性探讨
肖秀春 石丽梅 肖华
生成PDF 清样下载 引用

复制成功

导出题录

参考文献( GB/T 7714-2015 ) 复制

肖秀春 石丽梅 肖华,. 多种计算机语言协同教学的可行性探讨[J]. 计算机研究与应用,20253. DOI:10.12721/ccn.2025.157025.
摘要: 在传统计算机语言类课程的教学模式与课程设置方案中,教师往往单一地进行某种计算机语言的讲授。该教学模式较难让学习者理解计算机语言之间共通的核心思想,存在教学效率低下,难以同时灵活运用多种计算机语言进行编程等弊端。本文拟结合多种计算机语言的固有特性,探讨在计算机语言教学过程中,综合多种计算机语言进行协同教学时,可能面临的问题及其可行的解决方案。同时,对学生同步自学多种计算机语言课程提出若干切实可行的指导性建议。
关键词: 计算机语言课程;教学改革;创新教学;协同教学
DOI:10.12721/ccn.2025.157025
基金资助:教育部产学合作协同育人项目 (201801328005, 201902040030);广东省研究生时期学校项目 (230420005);广东海洋大学质量工程项目 (570219009);广东海洋大学教学改革项目 (524210329)

1 引言

随着科技与社会的快速发展,由人工智能、大数据、物联网、云计算、互联网+、区块链、5G通信等技术及其互融互通产生的新兴信息技术体系正逐步把中国带入全面智能信息化时代[1]。显然,智能信息化作为国家主导开展的“新基建”核心内容,对推动我国工业、农业以及服务业向高效率、高质量方面发展有至关重要的作用,同时也极大地推动了专业人才市场对于信息相关专业人才的广泛需求[1-3]

因为计算机语言类课程作为专业基础课,是学生学习程序设计的重要渠道。一般来说,高校中信息技术相关专业如计算机、软件、电子、通信、自动化等都会开设多门计算机语言类课程。当前,计算机语言类课程主要包括C/C++/C#、Java、Python、汇编、JavaScript、PHP、Basic、Pascal、Matlab等。

在传统专业课程设置体系中,几乎所有高校的信息技术相关专业都按计算机语言的难易程度,先后安排多门计算机语言类课程的教学任务。然而,由于计算机语言的核心语法是相通或者相似的,传统的单一讲授某种计算机语言的教学模式且先后多个学期安排不同计算机语言的课程设置方案,导致教学内容重复率高,割裂各计算机语言之间的联系,无法让学习者理解计算机语言中一些共通的核心思想,以致难以同时灵活运用多种计算机语言的优点进行混合式编程,最终产生教学效率低下等弊端。综上所述,本文拟结合多种计算机语言的特性,探讨如何从单一计算机语言教学变为多种计算机语言进行协同教学等教学改革问题。

2 传统计算机语言类课程教学模式存在的问题

目前,各高校的计算机语言课程大多采用传统讲授单一的计算机语言课程教学模式。这种模式下需要先后在多个学期开设多门计算机语言课程。传统单一的计算机语言课程教学模式在实际课程教学中被广泛应用,该模式过多强调“教”的重要性,忽视了多种计算机语言课程之间存在的联系,导致以下可能问题:

(1)计算机语言类课程教学内容之间衔接不够充分

教师根据课程教学大纲和教学计划要求,选定教材,独立完成设计教学内容和教学方式,对于不同计算机语言类课程之间的联系关注较少,不同计算机语言课程之间的衔接不够充分。

(2)计算机语言类课程教学缺乏学习思维模式的引导

计算机语言课程的教学目标不仅仅是编程语言知识的积累和运用,更需要注重学生思维能力的培养。思维能力的培养是计算机学科学习的重要基础,在教学过程中要从思维能力的培养入手,让学生适应和理解计算机思维方法,在日常教学中不断渗透,才能奠定开展教学的基础[1]

(3)计算机语言类课程教学中师生、教师沟通交流较少

传统单一的计算机语言类课程教学模式中,教师根据教材、教学大纲,从计算机语言的发展、语言概述、语言语法、控制语句等方面展开详细内容教学,情感交流、课程讨论时间少,因此。这种情况不利于计算机语言类课程教学工作的高效开展。

(4)相同或者相似的内容重复教学

通常,计算机语言课程一般有着复杂的语法结构;然而,在不同的计算机语言中,这些复杂的语法结构却是相通或者相似的,典型的重复语法如程序流程控制语句 if、for、while以及switch等,会在不同的高级语言中稍有变化地出现。在单一的计算机语言教学模式下,每一种计算机语言课程都需要重复学习这些复杂的语法结构。然而,每门课程都无法安排足够的课时让学生深入、透彻地掌握。如果按照传统单一语言的教学方法讲授其他计算机语言,甚至会有70%的知识重复[2]。这会降低学生的学习效率和学习兴趣,导致教学效果差,学生难以对编程类课程进行融会贯通,举一反三。

3 基于协同教学模式的多种计算机语言的教学模式

(1)协同教学模式

协同教学需要在多个教师的共同合作下,负责承担学生的全部教学或者主要教学部分,它是一种资源整合型教学组织形式。这种课程协同教学模式将教师和学生的知识、能力与经验等作为宝贵的资源,利用多种协同交互手段和工具,促使学生和教师共同进行课程内容的教学和创新,这是对当前以教师为中心的课程教学理念的拓展[3]。 

(2)基于协同教学模式的多种计算机语言的教学模式

计算机语言类课程之间既存在着区别又存在着紧密的联系,因此在高校组织教学过程中,不能采用固定不变的教学模式讲授所有计算机语言类的课程,但是又不能完全脱节整体变成分离式教学[4]。因此,为了解决上述问题,本文将在计算机语言课程的教学中采用协同教学模式。

高校的计算机语言类课程通常可以进行模块划分。不同于进阶类计算机语言课程,如C++、Java、Matlab以及Phython等,C语言程序设计是入门级的必修基础课,涵盖了计算机程序开发的基本原理、数据类型、算法描述、程序流程控制、数据结构、文件预处理等跟其它计算机语言类课程相通的内容。学生通常在完成C语言的学习后又会按照教材或者大纲对其它计算机高级语言进行学习出现知识的重复学习。

下面以C语言程序设计和Java程序设计这两门计算机高级语言课程的学习思维逻辑为例,梳理、分析并探讨多种计算机语言协同教学模式的可行性。

如果对C语言以及java语言程序设计这两种学习思维的编程思想和程序设计基础进行比对分析可以发现,虽然它们编程思想的主体不尽相同,但它们在程序设计基础部分的内容表述极为相似。在不尽相同的编程思想环节中,虽然C语言是面向过程的程序设计思想,而java语言是面向对象程序设计思想,但两种程序设计思想在算法内核的实现上仍然有共通的思维模式。由此可见,以上两种高级计算机语言的讲授完全可以通过协同式教学,统一讲授共通的学习内容,协同讲授并互相对比差异较大的学习内容。

如果将两种高级计算机语言类课程的协同教学推广到多种高级计算机语言类课程的协同教学模式,该模式的具体的教学执行可以分为以下两种情况:

1)接续协同式多语言教学

当不具备严格的多语言协同教学条件时,可通过对本专业讲授计算机语言类课程的教师组织座谈、研讨等方式,对可在同一学期内接续协同式教学的计算机语言类课程进行先后排序,排序可遵循“基础先行,差异后补”的标准进行。同时,不同课程的讲授内容也要教师间相互协调,避免相同或者相似的内容重复教学。

由于接续协同式多语言教学把高校计算机语言类课程,由原有的分散学期式开设改为基础相似、内容接续的课程在相同学期协同式开设,因此接续协同式多语言教学方式1) 可以改善同一学期中不同计算机语言类课程教学内容之间的衔接性;2) 可以引导同一学期不同计算机语言类课程学习思维模式;3) 可以增加同一学期不同计算机语言类课程中师生、教师间的沟通交流;4) 可以降低同一学期不同计算机语言课程的重复教学;5) 可以以授课教师协商合作、协同教学的方式进行灵活的教学。综上所述,可以在不改变课程独立性、不改变课程教学大纲、不变动原有课程教材的条件下实现多种计算机语言的协同教学。

由于接续协同式多语言教学模式中不同计算机语言课程具有独立性,如果仅仅在不同课程的开设时间以及内容设置上进行了简单的接续式协同,会导致接续协同式多语言教学只能够完成课程教学内容之间简单的衔接,不能顾及不同课程之间的独立性和完整性,难以同时完成多种计算机语言的协同性教学。上述问题会导致不同计算机语言类课程教学内容之间的衔接多样性不足、学习思维模式的对比强度不够、师生、教师之间的交流不充分。由于接续协同式多语言教学没有在根本上改变不同计算机语言课程的独立性,因而其本质上并不完全符合协同教学模式的内涵,但是其应用门槛较低,可在协同教学前提条件不成熟的情况下应用。

2)糅合协同式多语言教学

糅合协同式多语言教学是指把多种计算机语言类课程糅合为一门“大课程”,课程可分为两个或多个学期完成。在该门课程的第一学期的讲授过程中,对多种计算机语言共用的基础逻辑部分统一讲授;对语言基础的差异部分,协同多位教师共同讲授,且讲授过程中要插入语言间差异对比的讲授方式,加深学生对不同语言差异性的认知。例如:C++程序设计具有面向对象的编程思想,在学习这种计算机高级语言的基础逻辑部分的时候可以与Java、JavaScript以及Phython的内容进行资源整合,统一讲授共同或共通的基础部分,协同讲授具有差异的部分。在该门课程后续学期的讲授过程中,采用“功能模块”式多教师协同教学模式。例如:“数学运算类模块”可以讲授Matlab语言在其中的应用;“移动端模块”可以讲授JavaScript语言在其中的应用;“PC网页端模块”可以讲授PHP语言在其中的应用;“人工智能模块”可以讲授Phython语言在其中的应用。同时,同一模块间可选择的语言可以不同,例如“移动端模块”也可以用Java语言讲授。

通过以上对糅合协同式多语言教学模式的具体介绍,可以发现该模式可以避免传统计算机语言类课程教学模式的诸多缺点,且相对于接续协同式教学模式,其优势更为突出:

① 可对语言类课程的相同或相通的基础逻辑部分统一进行教学;对语言基础的差异部分,可协同多位教师共同讲授,增强不同计算机语言类课程教学内容的衔接性;

② 可在授课过程中突出不同计算机语言逻辑的对比,强化对学生学习思维模式的引导;

③可以统筹不同计算机语言的教学顺序、教学时间以及根据学生接受程度对教学内容进行协同安排,有效增强教师与教师、教师与学生间的沟通交流;

④剔除了不同计算机语言在教学过程中的课程独立性,可以最大限度的降低重复性教学。

⑤可在总课时不变的情况下,让学生深入、透彻地掌握和灵活运用多种计算机语言进行不同功能模块的编程,促进学生对编程类课程进行融会贯通,举一反三。

虽然糅合协同式多语言教学具有以上诸多优点,但在具体执行的过程中,可能存在一些问题。例如:适合糅合协同式多语言教学的教材的编写或现有教材的搭配问题、实验设计、大纲修订、师资培训等问题。以上问题均无法在短时间内解决,需要结合学校和学生的层次水平、专业的发展方向和实验室已有实验条件等现实问题来逐一制定方案=。

现实可行的实现路径为:1) 先采用低门槛的接续协同式多语言教学模式;2) 在教学中总结经验,摸索适合自身专业的糅合协同式多语言教学的搭配教材;或3) 编纂编写符合现有实验条件的糅合协同式教学模式下的实验设计方案; 4) 整合专业一线语言类教师协同制定的、符合糅合协同式多语言教学的“大课程”教学大纲;5) 组织适合糅合协同式多语言教学的师资培训; 6)条件成熟后,最后采用糅合协同式多语言教学模式,实现多种计算机语言的协同教学。

学生在多种计算机语言的协同教学模式中,除了享受上述优势之外,仍需面对多语言协同教学所带来的学习困难。例如,多语言协同教学中的语言基础内容多于单一、语言且不同、细节点增多等,皆提高了对学生学习要求。因此,学生在学习的过程中,不能只专注于课本和课堂讲授的内容,还需充分利用网络中的慕课、微课以及技术论坛等手段,提高对问题理解的层次。其次,学生需药通过课后对多计算机语言混合编码的练习,加深对多种计算机语言的理解。同时,授课教师间也需要协同合作,在授课过程中突出不同计算机语言逻辑的对比,强化多种不同计算机语言类课程学习思维模式的引导,加强学生由点及面,举一反三的能力。对于多种计算机语言的协同教学模式中的“功能模块”式教学中,学生要在教师的“预警”下,复习并掌握该模块所需要的专业知识,消除该模块语言学习的专业门槛。同时,该模块的教师也需要和专业课的教师协同合作,合理将该模块的语言学习安排在专业知识的讲授之后。

通过上述分析可以看出,基于多种计算机编程语言的协同教学具有可行性。由于计算机语言的多样性、内容的复杂性、细节的差异性,计算机语言类课程协同教学的开展需要多位老师进行教学内容、教学顺序以及教学重难点的共同协调,最终还要对教学大纲的内容进行调整,确保教学内容的合理搭配,才能凸显协同教学的优势。

4 总结

协同教学注重强调团队协作,充分考虑分工合作以及专业对话,有利于教学资源的系统整合,是促进教师专业发展的良好途径。结合计算机语言课程的特点以及协同教学模式,本文对传统的单一计算机语言教学模式存在的问题进行分析,以C语言程序设计和Java程序设计两门基础计算机语言课程为例探究协同式教学的可行性,提出了接续协同式多语言教学和糅合协同式多语言教学这两种可行的多种计算机语言的协同教学模式。在不完全满足协同教学的条件下,可先采用门槛较低的接续协同式多语言教学,并逐步完善教学条件,最终实现糅合协同式多语言教学。最后,针对学生在多种计算机语言的协同教学模式中可能面临的问题,本文给出了合理化建议。

参考文献:

[1] 仇宇婕. 高职计算机教学中计算机思维能力的培养[J]. 计算机产品与流通, 2020(08): 207+209.

[2] 周化钢. 功能教学法在计算机语言教学中的应用[J]. 现代计算机(专业版), 2013(01): 24-26+38.

[3] 张雪峰, 费志敏, 丁一, 操雅琴. 高校课程教学中学生角色分析及其协同教学探究[J]. 中国教育技术装备, 2018(18): 68-70.

[4] 焦莉娟, 宗春梅. 面向应用的计算机语言类课程教学改革研究[J]. 软件导刊, 2016, 15(04): 212-213.

作者简介: 

肖秀春,男,教授,博士,主要研究方向为人工智能,图像处理,计算机视觉等 

石丽梅,女(通信作者),硕士,讲师,主要研究方向为通信技术、移动开发,神经网络、智能信息处理等。

肖华,女,博士,讲师,主要研究方向为神经网络、智能信息处理等 。