工科大学生应用软件开发课程教学改革与实践

2022-05-30 20:45张权艾学山
电脑知识与技术 2022年27期
关键词:工科教学实践

张权 艾学山

摘要:应用软件是工科大学生专业课学习的重要工具,开发应用软件对促进大学生对专业课程相关知识的理解与掌握至关重要。文章以水利应用开发技术课程为背景,提出了工科大学生应用软件开发课程的建设思路、建设方案,并对近几年的教学效果进行总结,为工科大学生应用软件开发类课程的建设提供参考。

关键词:工科;应用软件开发;教学实践

中图分类号:G642      文献标识码:A

文章编号:1009-3044(2022)27-0163-03

开放科学(资源服务)标识码(OSID):

1 引言

2016年6月,中国成为第18个《华盛顿协议》正式成员。这标志着我国工程教育质量得到国际认可,工程教育国际化迈出重要步伐[1]。这也为提高我国工程类大学生教育提出新的要求和挑战。工程教育与产业发展紧密联系、相互支撑。教育部推动高校主动应对新一轮科技革命和产业变革的挑战,建设发展新工科。以应对变化、塑造未来为指引,以继承与创新、交叉与融合、协同与共享为主要途径,深入开展新工科研究与实践,推动思想创新、机制创新、模式创新,实现从学科导向转向以产业需求为导向,从专业分割转向跨界交叉融合,从适应服务转向支撑引领。大力发展大数据、云计算、物联网应用、人工智能、虚拟现实、基因工程、核技术等新技术和智能制造、集成电路、空天海洋、生物医药、新材料等新产业相关的新兴工科专业和特色专业集群。新工科的建设,一方面要设置和发展一批新兴工科专业,另一方面要推动现有工科专业的改革创新。在新工科建设的背景下,培养多元化复合型和创新型工程人才对程序设计类课程的实践教学提出了更高的要求[2]。

高校工科课程既具有普遍的理论性、又具有特殊的工科领域的专业性、实践操作性和一定的可创新性,存在着鲜明而突出的专业特点。课程教学既需要解决工科专业基础理论的认知,也需要解决专业技能的培养,特别是对工程建设的实践能力[3]。工科专业课程通常具有应用性强、数据量大、模型复杂、方法众多等特点。为推动传统工科专业的改革创新,以数据库为基础的专业应用软件成为工科学生的重要工具,开发专业应用软件不仅对专业知识点的理解、模型的结构、算法的逻辑关系等都是一个全面整理、总结和提高的过程,而且对各知识点的数据需求,参数敏感性分析,计算结果展示等都有很好的认识,对问题的理解也更加透彻。本文结合水文学及水资源工程专业的学科背景,依托水利应用开发技术课程,探索了基于新工科背景下的专业应用软件开发课程教学理念、教学方法,取得了一定的教学效果,学生们在软件开发过程中熟练掌握了数据库的使用和计算机软件界面设计开发基本技能,锻炼了严谨的思维能力,提高了专业知识的认识水平,增强了专业软件设计开发的信心。

2 软件开发工具的选择

软件开发工具能够搭建一个基本的开发框架,编程人员在这个框架上进行开发,无须编写太多的代码便可快速开发出企业级应用系统[4],目前可用的软件开发工具很多,根据工科大学生的专业特点,考虑软件的可持续性要求,软件开发平台的选择以主流软件为主,通常主流软件具有用户量大、操作简便、资源丰富等优势,适用于学生的持续学习。

另外,在选择软件开发平台时要考虑学生课时少的现状,以生成C/S模式操作界面为目标,选择容易上手的开发工具,最好与大学生已学过的软件相衔接,这样可让大多数学生都能够很快掌握,同时使先修的软件课程得到延伸。在水利应用开发技术课程的软件开发平台选择的过程中,根据专业软件开发的特点,选用的是微软公司的Microsoft Visual Studio开发工具包,最早是以Visual C++为程序设计工具,经过几年的教学实践后发现学生难以在一个学期内掌握,也很难实现独立开发专业软件的目的。后来经过多个语言的比较,最近几年选择了C#作为开发语言,重点讲解控制台应用程序和界面应用程序开发。由于C#具有简洁实用易上手等优势,逐渐成为目前主流软件开发工具之一,在互联网上有海量学习资源,便于大学生在软件开发过程中遇到问题时及时找到解决方法。虽然C++和C#都是学生在低年级普遍学习过的C语言的基础上发展起来的优秀程序语言,但C#在界面开发方面更显优秀。使用Visual C#作为开发工具,不仅是对学生以前C语言学习内容的一次回顾和提升,同时在软件开发过程中可以实现编程语言的连续性。经过近3年的针对武汉大学水利水电学院本科生教学实践表明,该开发工具比较适用于本课程的需要,在课堂上受到学生的普遍好评。

3 应用软件开发课程内容的设计

课程内容本着以学生为中心、循序渐进的原则,从学生现有的知识情况入手,兼顾零基础学习的同学进行设计,主要从以下几个方面考虑。

3.1 快速入门

入门是深入学习的基础,对于一门新的编程语言,首先要能在电脑上正确安装所需要的开发平台,微软提供了Visual Studio的学习版本,在官网即可下载,安装时选择C#等主要功能语言模块,按步骤安装即可。此外需要能够新建工程并运行,开始學习新建控制台应用程序,在编辑界面中给出简单的代码并能够运行出结果,理解各代码的作用,在掌握了C#语法中几个关键语句后,就可以将以前学习过的C语言的编程内容在C#语言环境中进行重现了,这样学生就很快掌握了开发C#的控制台应用程序。学生可以快速入门,一方面节约了学生宝贵的学习时间,另一方面则提高了学生学习的积极性,为课堂教学效果打下了基础。

3.2 基本语法

C#语言的主要特点是面向对象编程的思想,在基础及语法上,C#语言基础与C语言差异不大,可概括地讲解;面向对象是目前主流软件均采用的编程思想,需要较详细地讲解及实例演练。让学生理解并掌握面向对象编程的精髓所在,这样对任何的编程题目都能够很快找到解决思路。通过实例练习,使学生能够编写并学会如何调试控制台应用程序,掌握编程要领及出现错误时的调试方法。

3.3 界面编程

控制台应用程序虽然可以解决专业中需要解决的问题,但不直观,不方便使用和传播。窗体界面是目前主要的界面形式,易于使用,把专业软件转化成窗体界面软件有助于软件的长久使用和分享。首先学习创建窗体,了解窗体的基本结构和界面与代码间的逻辑关系;其次,通过一些简单的实例了解窗体应用程序的基本使用方法;再次,学习各种工具箱控件的使用方法,以及菜单栏、工具栏和状态栏的创建和使用。最后,学习各要素的综合使用以及一些组件、外部控件的引入方法等。

3.4 数据库应用

工科的一大特点就是数据量大,如果管理和使用数据成为工科学生的重要能力之一。在学习软件开发过程中,可以选择诸如Access,SQL Server等常用数据库作为数据库管理工具,学习用C#调用数据库并使用数据的方法,C#中提供了很好的控件能使数据库中的数据与界面控件灵活交互,即界面可以从数据库中读取数据,也可以向数据库写入数据,这样界面软件的数据处理能力提升,使用数据库就更加方便。

3.5 综合应用软件开发

有了以上的基础,就可以着手开发专业领域的各知识点软件了。在开发时,首先要明确该知识点需要哪些基础数据、输入数据和输出结果数据。基础数据可以放在数据库中,软件启动或计算时调用;输入数据可放在界面上,便于设置和调整;输出结果数据可以表格和图形形式展示在界面上,在计算完成后直接可以看到,也可同时写入到数据库或其他文件(如Excel、txt文件等)中,成为永久文件在需要时查看。因此,可以实现具有一定功能的软件封装的开发,从而实现课程教学的预期效果。

4 水利应用开发技术课程的探索与实践

4.1 水利应用开发的特点

1)数据量大:水利应用开发涉及水文基础数据、水库特性资料数据、水电站运行数据、水生态环境变化过程数据等多种数据,且数据多呈现不断累积、逐渐增大等特点。

2)模型多:在水文预报中就有非常多的模型,通常在应用过程中都是多个模型同时计算,以方便进行结果的互相比较分析;在水库调度中,根据目标函数的不同也有多个模型需要进行同时计算。

3)求解方法多:无论是水文预报模型还是水库调度模型均有很多种求解方法,也经常出现对同一个模型应用多种方法同时进行求解的情况。

4)影响因素复杂:对有些知识点模块的开发(如水文预报)需要考虑的参数非常多,且不容易得到合适的参数值,需要不断地试算或通过优化算法优化参数。

4.2 界面设计

为使软件更加方便实用,通常将不必要的信息放在后台,不在主界面上显示,主界面主要显示各参数输入框、各模型方法的选择控件、计算结果表和图形以及计算结果的统计值等信息。基本信息可以通过菜单或按钮等在其他页面查询显示。界面程序设计好还可以很方便地进行参数敏感性分析,可从各参数的变化与计算结果的变化关系进行统计得到。界面设计可以较好地实现人机交互功能,从而使得开发的软件具有“用户友好”的特点。

4.3 教学过程

为了克服部分同学对软件开发的畏惧心理,在开课前给同学们录了一段如何使用开发工具的录像,同学们可以熟悉开发的基本操作,前几次课程在上课时注重学生的理解程度,课后安排与课程内容相近的内容作为作业,使学生能够掌握本节内容。当学生有一定基础后,课后的作业就可以适当加大难度,不局限于课上的内容,还需要在网上查找相关资料才能完成。因此课程内容的设置通常遵循由简入深的原则,不断调动学生的积极性,并发挥自身的能动性,投入探索性的软件开发实践中。

4.4 结课作业

课程结束不安排考试,而是以结课作业的形式进行考核,在结课的安排上,让学生每4人一组,每人需要开发一项本专业领域某知识点的软件,每组共同开发一项指定的专业领域较为复杂的软件。每组设置组长一名,负责组内成员的分工、进度与协调等工作。同时要求每位同学都要进行结课汇报,以幻灯片形式介绍自己开发的软件和在小组中的工作。同学们在完成结课作业的过程中,在组内会有充分的交流沟通,组间也经常沟通,最后每位同学都开发出了自己的专业软件,每組也协作开发出了相对较复杂的基于数据库的水利专业软件,起到了互相促进、共同提高的效果。

软件开发的实践类课程,以软件开发形式作为结课大作业,可以有效地考核同学们掌握课程知识和开发实践能力。此外,结课作业可以采用同学们以往课程内开发过的程序作为基础,有效地促进了同学们对课程知识体系建设的理念,将以往的专业课知识有效地串联起来。

4.5 教学效果

在近3年的课程教学实践中,均取得了较好的教学效果,且教学效果与产出逐年提高。每届约70人规模的课堂,都能申请10项以上与专业紧密结合的软件著作权,如水文资料的皮尔逊3型频率曲线分析、应用遗传算法进行水文预报新安江模型参数的率定、水库兴利调节计算中的兴利库容-调节流量-保证率关系、水库调度中的等流量调节计算和水利工程经济中的财务评价计算等,该课程的学习对同学们自信心的培养、成就感的取得起到了积极作用。该课程的实践表明,通过引导学生进行创新性的实践探索,学生便可在课堂内完成最基础的软件开发以及软件著作权申请的实践,这为本科生进一步深造以及进行更深层次的软件开发,打下良好的基础。

当学生们将自己开发的软件申请了软件著作权,并能将自己开发的软件应用于课程实践和项目研究时,大大促进了学生们对专业的认可程度,这在当前高等教育过于重视分数、绩点情况下,是一个很好的尝试。从而通过提升同学们实践能力,促进人才培养的新路径探索。

4.6 教学启示

工科教育重点在于培养学生的动手实践能力,尤其解决工程实际问题的能力,这一点不仅限于笔者所在的水利工程行业,对所有工科专业都应如此。软件开发课程的教学,首先教师要自我提高,能适应新工科教学的需要;其次,合适的软件开发工具可以起到事半功倍的效果;再次,课程讲授及课后练习的设计对提高教学效果发挥重要作用;最后,使学生能够开发出自己喜欢的软件作品能起到学生主动学习、持续学习的动力,从而培养学生终身学习的习惯。工科教育中的动手能力,需要通过课程设置,进行积极地培养和引导,这需要教育者在课程设计之时就要做好规划。在当前我国面临工科转型的外部压力情况下,是对工科人才培养,尤其是实践动手能力的培养,本课程的教学实践提供了较好的教学改革尝试。工科教育开展得好,可为社会不断输送工程技术人才,这对于当前我们诸多领域面临“卡脖子”问题来说,是值得格外重视的教育方面。

5 结束语

工程改变世界,行动创造未来。在当前通识教育已经大规模开展之时[5],我们需要思考专才的教育。而专业应用软件是工科大学生的重要学习工具,工科大学生既有理论基础,又有较强的实践动手能力,在任课老师的正确引导下,提高自己动手开发专业应用软件,不仅可以提高软件编程能力,同时也对专业知识有了更深刻的认识,起到事半功倍的效果。应用软件开发能力的培养也为大学生继续学习深造或参加专业领域工作都打下了坚实的基础。专业软件开发课程的学习,对增强学生的就业创业能力,培养具有较强行业背景知识、工程实践能力、胜任行业发展需求的应用型和技术技能型人才具有重要的推动作用。随着我国对新工科建设行动的常态化,培养出更多优秀的工科人才,为应对我国在发展过程中不断面临的各种挑战,支撑国家的创新发展将起到重要作用。

参考文献:

[1] 贺迎春,熊旭.中国成为《华盛顿协议》第18个正式成员[EB/OL].(2016-06-02)[2021-10-18].http://edu.people.com.cn/n1/2016/0602/c1006-28407215.html.

[2] 高俊锋,张淑丽,刘欢,等.新工科背景下程序设计类课程的实验教学改革[J].高校实验室科学技术,2019(4):42-44.

[3] 王广政,李相峰,段金辉,等.基于能力培养的高校工科课程混合式教学模式构建[J].教育现代化,2018,5(33):200-201.

[4] 王永连,李树虎,张丽娜.软件开发平台综述[J].电脑编程技巧与维护,2018(4):65-66,69.

[5] 张权.关于我国高等通识教育的若干思考[J].教育教学论坛,2019(42):44-45.

【通联编辑:谢媛媛】

猜你喜欢
工科教学实践
87年工科“学霸”成都追梦记
新工科背景下《材料腐蚀与防护》课程的教学改革探索
新工科下创新型人才培养的探索
新工科背景下项目推动式教学模式的探索
基于三维软件和云班课APP的机械设计课程教学实践
中职职业生涯规划课程的教学反思
中职计算机应用课程教学改革与反思
浅论高中化学生活化教学的实践与思考
浅谈初中物理实验教学与学生创新能力的培养
测量平差课程教学改革探讨与实践