APP下载

面向测绘工程专业程序开发教学实践探索

2024-04-10董州楠奚旭

现代职业教育·高职高专 2024年3期
关键词:程序开发编程语言程序设计

董州楠 奚旭

[摘           要]  大数据时代海量信息的挑战与测绘专业的紧密结合,决定了编程技能的重要性。针对行业发展现状,测绘本科编程类教学亟须优化,以培养学生数据处理和分析的编程能力。只有进一步引入先进的编程教育理念和体系,才能培养统揽测绘专业知识与技能的人才,以适应行业变革。以测绘工程专业程序设计课程教学实践为基础,探讨课程教学中的相关问题,希望能为测绘同仁开展程序开发课程提供参考。

[关    键   词]  测绘工程;程序设计;教学实践;教学改革

[中图分类号]  G642                   [文献标志码]  A                   [文章编号]  2096-0603(2024)03-0101-04

随着测绘领域不断的技术革新[1],尤其是当前信息智能化的发展,测绘行业由传统的注重数据采集逐渐转向数据的处理和分析。因此,在测绘专业本科生的培养中,编程技能应被视为一项核心竞争力,纳入本科人才培养方案中。通过完整、合理的课程体系支持,培养适应新形势下测绘行业需求的复合型人才[2-4]。当前测绘类高校正在强化测绘程序开发课程,但在制定培养方案、明确培养目标、改进教学方法和优化课程设置等方面仍存在亟待解决的问题[5-6]。

在迎接技术变革的大环境下,测绘专业需采用更为灵活创新的教育手段[7-8]。程序设计课程注重实践,要求进一步培养学生的逻辑思维、抽象概括与模块化设计能力[9],这就需要学生经过持续实践来掌握,对初学者构成一定的挑战。随着行业需求的发展,测绘专业的程序开发课程数量逐步增多,在已有的培养方案和教学模式下,出现了一些新问题。鉴于编程对测绘专业发展的重要性,本文旨在结合作者的教学实践,深入探讨程序开发课程在新形势下面临的具体问题,并探讨解决相关问题的途径和方法。

一、程序设计课程中显现的问题

(一)课程设置存在问题,编程语言亟待统一

编程语言选择不合理,对初学编程学生的学习造成一定的阻碍。以笔者所就职的院校为例,表1(见文末)摘录了测绘专业培养方案中与编程相关的课程信息。多门编程相关课程凸显了院校对学生开发能力培养的重视,但在课程设置时存在依据授课教师专长选择编程语言的情况。如本院系为大一新生开设了测绘编程基础,课程大纲要求使用C/C++语言。大二必修空间数据结构继续使用C语言。大三限选测量程序设计,大纲要求使用C#语言。此外,一些選修课程,如GNSS程序设计,授课教师使用MATLAB进行开发教学。尽管设计专业课程体系时需要综合考虑多方因素,编程语言间存在互通性,但多种编程语言的引入给初学者带来困扰。对于基础相对薄弱的学生,主修第一门语言课程后会产生对后继课程的畏难情绪。

(二)课时安排紧凑,教材选择及教学工具有待优化

部分程序开发课程的学时分配不合理。目前测绘专业会先后开设基础语言和开发应用两门课程。但在基础语言和应用开发课程间未实现较好的统筹衔接,存在语言切换的情况,致后续的应用开发课程将宝贵时间浪费在新语言的学习中,难以开展足够的开发项目训练。以就职院校的应用开发课程C#测量程序设计为例,其课程目标、课程目标、内涵权重如表2(见文末),该门课程总共40学时,其中理论学时16个,实验学时24个。但学生此前主修的基础语言课程地学编程基础聚焦C/C+基本语法教学。切换新的编程语言后,后继课程教师需将部分精力继续分散到C#基础语法和面向对象开发的基本概念中,严重压缩了具体应用项目开发设计的讲授和锻炼时间。此外,缺乏契合测绘专业应用方向的实践教材,难以提供符合测绘专业特点的多样化练习项目。现代化的开发工具和辅助开发工具已经被广泛使用在程序设计开发领域,当前大语言模型驱动的辅助开发工具,可以提供强大的联想能力并辅助纠错,同时可以提供开发实例,对已编写代码进行详细解释,然而这些工具还未引入测绘专业的程序开发课堂。

(三)教与学理念需转变,实践过程需持续评估

当前依旧存在对成果导向教学理念认识不够深入的问题[10],忽视主动引导学生进行学习思维方式的转变,导致程序设计开发课程偏离实践。对于大一新生,其学习方式和状态受高中教育的影响,习惯于被动听讲,动手实践意识较弱。这种学习方式不适用于程序开发课程,教师需要着重引导和培养学生的实践观念。调研结果表明,绝大多数学生对开发课程充满期待,但初期授课和学习效果不理想,尤其是锻炼中频繁的报错导致部分学生逐渐丧失信心。而对于程序设计课程实践的评价,仍以批阅作业和实验报告的方式实现,难以达到持续评估和促进的作用。需要探索更加灵活、实时的评估方式,切实了解学生的学习状态和对课程内容的掌握程度,以提供针对性的指导。

二、课程思考与目标规划

(一) 明确教学目标和课程安排

测绘专业的程序开发课程应以实践为导向,注重培养学生的实际应用能力。强调以编程基础知识为辅助,以测绘程序设计应用为主导,旨在有限的学时内使学生快速掌握基本语言语法规则,达到初步可应用的水平。始终以应用为核心,通过实践使学生能够迅速应用所学知识,并在实际开发中进行强化锻炼。不同开发课程的开课时间应当经过慎重安排,对于语言基础课,应尽早开设,以确保学生在编程语言方面建立坚实的基础。然而,对于面向进一步应用和实际问题求解的测量程序设计课程,开设时间尤为关键,特别需要审慎考虑。若安排在第3学期,将面临一系列挑战[3],尽管该时间段能够与前两学期的基础语言课程有机衔接,但与测绘专业课程的结合可能带来一些问题。由于专业课程基本上从第3学期开始,同时开设面向应用开发的课程,学生在专业知识方面尚未形成较为牢固的基础,且课堂案例相对缺乏专业知识的支持。因此,应用型编程课程的安排应尽量安排在测量学、测量平差、大地测量学等专业核心课程之后,以确保学生已经掌握了必要的专业知识,更好地理解和应用编程技能于实际测绘问题的解决中。

(二) 统筹课程大纲设计

在课程开设或者讲授中应尽量避免在本科教学中引入过多的编程语言,避免学生感到困惑和畏惧。编程语言的选择应对初学者的接受能力进行审慎评估,在满足专业需求的前提下追求适度统一,并注重知识的渐进和实践练习,以消除学生的畏难情绪。采用必修一门静态语言和选修一门动态语言的教学模式,以综合考虑学生日后就业和科研深造的需求,具有较高的合理性。以C/C++作为必修静态语言,结合选修动态语言如Python,有助于学生全面掌握不同编程范式和语法特点。特别对于测绘学生而言,强调引导和鼓励实际动手开发的实践性学习至关重要。在制定专业教学大纲时,需兼顾满足测绘专业的专业课程要求,避免过度借鉴计算机专业的设计,确保课程内容贴合专业实际应用。同时,鼓励其他专业课程的任课教师在布置课程作业时,引导学生进行编程实践,借助协作方式促进编程技能的培养。通过优化课程结构,建立符合本教学特点的内容和教材,确保教学资源的有效利用。

(三) 合理选择教学内容

在构建课程体系的过程中,特别是在教学大纲设计方面,应当纳入程序设计基本理论的内容。当前,越来越多的学校选择通过本专业教师的授课来开设程序设计课程,这样可以更好地与专业背景相结合。然而,本专业的教师往往存在忽视编程基本原理和理论铺垫的现象,这可能是因为教师自身缺乏较为全面系统的程序开发设计理论背景。尽管这些教师能够灵活运用编程语言来解决领域内的问题,但这一能力往往仅局限于实际应用,缺乏对编程理论的深刻理解。因此,在课程设计中应当重视对编程基本原理和理论的系统介绍,以确保学生在实际应用的同时能够建立坚实的理论基础。同时,对待测绘专业的开发课程,在课程内容上也要有一定的取舍,重视理论与实践的平衡,通过有针对性的取舍确保课程内容既有足够的深度,又能够满足学生的实际需求。强调项目实践导向,将课程重点放在实际项目的开发上,培养学生解决问题和团队协作的能力,特别关注与测绘领域需求相结合。通过选择综合性项目,涉及多个方面的知识和技能,深入学科交叉,引入最新技术趋势,以及定期审查更新学科发展动态,旨在提升学生在测绘领域的综合应用能力,使其具备面向未来的实践和创新能力。

三、教学方法的实践与提升

(一) 符合测绘工程专业特点的教学方法

在程序开发课程教学中,通常遵循介绍编程语言的基础,再过渡到测绘问题的实际应用示例。但部分院校的测绘专业培养方案中往往缺乏计算机和操作系统基础课程,导致学生对基本的计算机运行、数据存储等概念缺少了解,对编程语言中的数据类型、变量的定义以及函数和类的封装概念缺乏深刻理解,这些内容需要在教学内容中关注。此外,对于测绘专业程序设计课程,项目驱动型教学是一种很好的方式[7]。项目驱动型编程教学方法是一种以项目为核心的教学方法,如图1(见文末)旨在不同的学习阶段通过实际项目的设计和完成在具体的实践中学习编程技能和概念。此外,需要明确对于测绘专业程序设计课程,专业培养目标并非旨在将每个学生培养成为程序员,而是以编程为工具,解决专业问题。在测绘专业的程序设计课程中,通过差异化教学策略,进行个性化指导提升教学效果。通过学生背景调查和分层教学,个性化指导可以更好地满足学生的不同水平和需求。采用项目驱动的教学方法,设置多层次的项目难度,鼓励学生根据自身兴趣和挑战水平选择适合的项目。

(二) 善用教学资源和辅助开发工具

当前学生的学习环境和工具资源已经得到显著改善。各教学单位提供了充足的软硬件资源,为学生创造了优越的学习条件。学校的在线学习平台和互联网上有丰富的学习资料、编程实例,可以满足学生的自主学习需求。教师在教授教学内容以外,应适当拓展介绍如何高效地利用这些资源,鼓励学生在开发过程中正确、合理、灵活地使用辅助工具。引导学生充分利用大语言模型及其驱动的编程辅助开发工具,包括文心一言、通义千问、ChatGPT、GitHub Copilot、亚马逊云CodeWhisperer等,这些工具可提供实时反馈和疑问解答,有效激发学生的学习兴趣和创造力。尤其对初学者和简单开发任务,这些工具展现出良好的性能,有助于学生迅速理解和解决编程问题。通过生成示例代码和解释,协助学生掌握基本的测绘编程概念。尽管一些教师对学生过度依赖大模型表示担忧,甚至存在学生完全通过大模型完成作业和实验的情况,然而,完全禁用这些工具在课堂上几乎是不切实际的。因此,教师应通过介绍、示范、练习、鼓励自主学习以及提供反馈等手段,正确引导学生合理使用这些工具。

(三) 重视过程评价关注学习心理

在当前的教学环境中,我们需要深刻认识到成果导向的教学理念,不仅要求学生完成任务,还要注重引导学生进行学习思维方式的全面转变。在程序設计开发课程中,学生需要培养的不仅是代码开发的熟练度,还需要解决实际问题时的创新和独立思考能力。因此,我们应当加强对学生学习习惯的观察和分析,通过调整教学方法,引导学生从被动的知识接收者转变为主动的问题解决者。在课程设计中注重培养学生的自主学习和实践意识。通过设计项目驱动的课程内容,引导学生通过实际项目来应用所学知识,从而激发学生的学习兴趣和动手实践的热情。在教学实践中,我们可以采用更加灵活的教学方法,例如引入案例分析、小组合作和项目实践等形式,使学生能够更好地将理论知识与实际问题相结合。此外,针对学生在学习过程中可能遇到的问题,我们可以通过提供详细的学习指导和常见问题的解答,帮助学生更好地克服困难,增强他们的学科自信心。探索更为灵活、实时的评估方式,例如采用在线编程平台进行代码评审,引入同行评议机制,以及定期的小组讨论和展示。这不仅有助于更全面地了解学生的学习情况,还能够激发学生的学习动力和合作意识。通过持续评估,我们可以及时发现学生在实践过程中的问题,为他们提供个性化的指导,促进其全面发展。

四、结束语

生活在当今大数据信息时代,我们面对着庞大的数据和信息量。测绘专业,作为以时空数据的收集、整理和展示为核心的领域,其重要性进一步凸显。在这一背景下,编程技能成为处理、分析和利用这些数据的强大工具。为应对新时代和行业发展,测绘专业本科教学亟须改革,以优化教学体系,强调培养学生的编程技能,使其能够在数据驱动的测绘实践中灵活运用。通过引入先进的编程教育,以培养具备扎实测绘专业技能和知识的人才,适应未来测绘行业的发展和变革。

本文从测绘专业程序开发课程教学实践出发,探讨了教学目标设置、教学内容选择和实践教学等方面的问题,并提出了一些建设性的意见,旨在为测绘专业学生的培养教育提供相关的反思和借鉴。

参考文献:

[1]宁津生,王正涛.面向信息化时代的测绘科学技术新进展[J].测绘科学,2010,35(5):5-10.

[2]高井祥,王坚,李增科.智能背景下测绘科技发展的几点思考[J].武汉大学学报(信息科学版),2019,44(1):55-61.

[3]王新志,曹爽,孙景领.测绘专业“面向对象程序设计”课程教学实践与思考[J].测绘工程,2012,21(2):73-76.

[4]贺小星,鲁铁定,李长春.卓越工程师计划背景下测绘工程专业人才培养模式探索[J].测绘工程,2018,27(1):77-80.

[5]张云生,潘林.“测绘程序设计”基础课程达成度评价及持续改进探讨[J].教育教学论坛,2020(33):166-168.

[6]王建强,肖根如,张飞.“测绘程序设计”课程教学改革的探讨[J].东华理工大学学报(社会科学版),2019,38(1):82-84.

[7]邓岳川,王延霞,李德亮,等.基于MOOC翻转课堂的“GPS原理与应用”课程教学改革实践[J].测绘工程,2017,26(2):76-80.

[8]張恒璟,王崇倡.基于项目教学法的测绘软件设计与开发教学模式综合改革[J].测绘工程,2018,27(7):76-80.

[9]董超,丛康林,彭勃.新形势下测绘程序设计课程教学改革研究[J].大学教育,2021(2):75-77.

[10]刘畅,林海.以OBE理念探索一流本科建设的实现路径[J].教育评论,2018(8):33-36.

猜你喜欢

程序开发编程语言程序设计
压力-体积转换在CFC编程语言中的实现解析
基于Visual Studio Code的C语言程序设计实践教学探索
APP应用程序开发模式探究
Java编程语言的特点与应用
从细节入手,谈PLC程序设计技巧
基于TestStand的自动检测程序开发
浅谈不同编程语言对计算机软件开发的影响
基于嵌入式系统Windows CE的应用程序开发
基于App inventor 2手机程序开发过程的学习与实——以“喵喵定时器”APP开发为例
高职高专院校C语言程序设计教学改革探索