结合学科竞赛的计算机专业应用开发类课程群建设
2022-07-01李小智黄辛迪
刘 伟,李小智,胡 为,黄辛迪
(湖南中医药大学信息科学与工程学院,湖南 长沙 410208)
引言
大学生学科竞赛是传统课堂教学的重要补充,也是提升大学生专业能力和综合素质的重要手段。中国高等教育学会于2017 年成立了“高校竞赛评估与管理体系研究”专家工作组,自2017 年12 月14 日在杭州发布第一轮全国普通高校大学生竞赛排行榜以来,截至2021 年3 月已发布五轮榜单,学科竞赛的参赛水平和参赛成绩已成为检验和评估高校综合实力和创新人才培养效果的一项重要指标。大量已有的研究和实践结果表明,学科竞赛在教育教学和创新人才培养等方面发挥着非常重要的作用。
课程群是指多门彼此独立而又相互密切联系的课程,它们具有一定的互补性,其教学内容存在关联性和渗透性。课程群不是一个简单的课程集合,而是由多门课程组成的一个有机整体。属于同一个课程群的若干门课程之间存在相互照应、渗透互补等特点,可以对这些课程进行合理设计和整合,以课程之间的内容、方法、实例、问题等存在的逻辑联系为结合点,形成一个较为完整的课程系统。目前大部分高校的计算机相关专业都开设了多门与软件项目开发相关的课程,对于这些课程而言,它们之间的知识点存在交叉和渗透。因此,结合以应用软件开发为主要参赛形式的计算机类学科竞赛,将促进和优化计算机专业应用开发类课程群建设。结合学科竞赛对课程的教学内容、实验实训等进行合理的改革,将有助于进一步完善教学体系和创新型人才培养模式,促进教育教学改革,提升人才培养质量。
1 应用开发类课程群建设与实践
1.1 优化课程群结构
大部分计算机类专业课程之间都存在联系和融合,特别是一些与应用软件设计和开发相关的课程,这些课程主要存在包含、递进、交叉等几种关系。
包含关系:在某一门课程中包含一门或多门其他课程的内容,但是教学重点和教学目标有所区别。例如在“软件工程”课程中,每一个章节都对应一门或者多门课程,如软件需求分析部分可以对应“需求工程”课程,软件分析与设计部分可以对应“系统分析与设计”课程,软件测试部分可以对应“软件测试技术”课程等。
递进关系:某一门课程是一门或多门其他课程的基础,它们在教学内容上存在层层递进的关系。例如“Java 面向对象技术”“Web 技术(Java)”“Java EE 应用开发”和“移动应用开发”等课程,它们在教学上存在先后顺序,学生首先必须学习“Java 面向对象技术”课程,在掌握Java 语言语法等基础知识后才能够学习Java EE 和Android 等课程。
交叉关系:两门或者多门课程的教学内容之间存在交叉和融合,例如在讲授某一门课程中的一个知识点时涉及另一门课程中的知识点,如“Java 面向对象技术”“Java EE应用开发”和“数据库原理”“大型数据库技术”等课程之间存在多处知识交叉,例如在Java 数据库连接技术JDBC 中需要创建数据库和数据表,并且还需要通过向数据库发送SQL 语句来操作数据库。
通过对中国高等教育学会发布的全国普通高校大学生竞赛排行榜中的榜内竞赛项目进行分析,遴选了几项以应用软件项目开发为主要参赛形式的计算机类学科竞赛,并以这几项学科竞赛为基础开展课程群的建设和优化。此类学科竞赛主要包括中国大学生服务外包创新创业大赛、“中国软件杯”大学生软件设计大赛、中国大学生计算机设计大赛和中国高校计算机大赛—移动应用创新赛等国家级学科竞赛。此外,还包括湖南省大学生计算机程序设计竞赛(应用开发类)等省部级学科竞赛。所涉及的主要课程包括“Java 面向对象技术”“Python 程序设计”“Web 技术(Java)”“Java EE 应用开发”“数据库原理”“大型数据库技术”“软件工程”“软件测试技术”“移动应用开发”“软件设计模式”和“IT 项目管理”等软件应用开发类课程。
结合学科竞赛优化课程群结构,首先需要充分考虑课程群中各门课程之间的先后顺序,遵循人才培养和教育教学规律,确保知识体系的完整性和科学性,教学内容的递进性和层次性。例如将Java 基础课程“Java 面向对象技术”开设在“Web 技术(Java)”“Java EE 应用开发”“移动应用开发”等应用开发课程之前,将“数据库原理”开设在“大型数据库技术”“软件工程”“Java EE 应用开发”等课程之前,将概括性较强的“软件工程”课程开设在更为具体的“软件设计模式”“软件测试技术”等课程之前。
其次,将一些关联性、融合性和交叉性较强的课程尽量安排到同一个学期,一方面方便对交叉知识点的讲授和学习,另一方面还可以综合多门课程所学知识来布置实验和课程设计任务。例如将“数据库原理”和“Java 面向对象技术”开设在同一个学期,给学生布置一个以SQL Server为数据库并使用Java 语言实现的简单C/S 系统作为两门课的课程设计;将“大型数据库技术”“软件工程”和“Java EE 应用开发”等课程开设在同一个学期,要求学生以Oracle 作为数据库管理系统开发一个基于B/S 的网站系统,并撰写相应的软件工程文档。
课程群的建设还有助于更好地组建竞赛指导教师团队,多门课程的任课教师联合组成指导教师团队,可以从不同的角度对参赛学生团队进行指导,让学科竞赛的指导工作更为系统和全面,有助于取得更好的参赛成绩,也有助于以赛促教,提升教师的教学水平。
1.2 更新课程教学内容
以应用软件项目开发为参赛形式的学科竞赛的命题类型主要包括两种:企业命题(官方命题)和自主命题。例如,中国大学生服务外包创新创业大赛(企业命题类)和“中国软件杯”大学生软件设计大赛采用的是企业命题形式,竞赛举办方会给出一系列来源于企业实际项目的赛题,要求学生在规定时间内组队完成一个项目;而中国大学生计算机设计大赛和中国高校计算机大赛—移动应用创新赛主要采用的是自主命题,竞赛举办方给出一个大的类别范围,例如信息安全类或游戏软件类,要求学生在教师的指导下设计并开发一款软件作为参赛作品。对于中国大学生服务外包创新创业大赛(企业命题类)和“中国软件杯”大学生软件设计大赛而言,大赛组委会和命题方不仅会给出赛题说明,还会给出推荐的技术路线,而这些技术路线通常是目前IT 界的一些较新的主流技术。
在结合学科竞赛开展课程群建设的过程中,教师可以根据赛题要求对现有课程的教学内容进行适当改革和更新,例如在“Java EE 应用开发”课程中,任课教师除了向学生讲授Struts、Spring 和Hibernate 等经典的Java EE 框架技术,还可以结合赛题为学生补充Spring Boot、微服务架构等知识;在“Python 程序设计”课程中,除了给学生讲授Python语法等基础知识外,还可以结合一些赛题为学生介绍一些用于人脸识别、自然语言处理的Python 库,以便实现一些更加复杂和智能的功能。
1.3 重构课程设计与实训
在计算机相关专业的人才培养方案中,部分实践性较强的课程会安排对应的课程设计,例如“Java EE应用开发”“软件工程”“移动应用开发”等课程。此外,在学期或者学年末通常也会安排一周或几周的项目实训。以湖南中医药大学计算机科学与技术、医学信息工程等专业为例,在每一学期的期末均会安排为期一周的项目实训。
在未构建课程群之前,各门课程独立布置课程设计任务,课程设计项目功能大同小异,学生需要做很多重复性工作。通过合理引入一些竞赛赛题,以课程群为单位开展课程设计,让学生有时间和精力来完成一个高质量的课程设计项目,例如选取难度和规模适中的中国大学生服务外包创新创业大赛(企业命题类)赛题作为“大型数据库技术”“软件工程”和“Java EE 应用开发”等课程的联合课程设计项目,这些赛题都源于真实项目,可以很好地培养学生的实践开发能力和创新创造能力。例如近几年中国大学生服务外包创新创业大赛(企业命题类)的部分赛题:虚拟学习社区(第六届)、在线考试系统(第六届)、厂车管理系统(第七届)、蓝鸥IT 教育课程考评系统(第八届)、企业知识库管理系统(第九届)、智能化跨境商品交易平台(第十届)、小微企业跨组织人才管理系统(第十二届)等都是非常适合作为课程设计项目的赛题。通过以学科竞赛赛题项目为导向的课程设计,可以让学生更好地运用所学知识解决实际问题,真正做到学以致用。
此外,在每学期期末的项目实训中,也可以引入中国大学生服务外包创新创业大赛(企业命题类)和“中国软件杯”大学生软件设计大赛的历年赛题作为实训项目,还可以直接以参加这些比赛来“冲抵”实训。在实际操作中,按照学院制定的相关文件,如果学生能够顺利提交参赛作品即可获得对应的实训课程学分,如果在省级初赛中获奖则实训成绩在80 分以上,如果获得国家级奖励则实训成绩在90 分以上。通过学科竞赛重构课程设计和实训,将竞赛融入课程实践教学,达到以赛代训、以赛促学的目的,有效提升学生的工程实践能力和创新能力。
图1 学科竞赛管理系统功能模块结构图
1.4 研发学科竞赛管理系统
随着参赛学生的逐年增多和参赛规模的逐年增大,为了更好地对应用开发类学科竞赛的参赛情况和参赛作品进行数据管理和统计分析,基于Struts2 框架、Hibernate 框架、MySQL 轻量级数据库和Apache Tomcat 开源服务器等技术,设计并研发了学科竞赛管理系统。该系统可以对竞赛报名信息、历届参赛作品、历年获奖证书等进行管理,还提供了竞赛项目统计与管理、在线交流讨论等功能模块,系统用户包括参赛学生、教师(分为指导教师和竞赛负责教师两种子类型)、系统管理员等角色。学科竞赛管理系统的功能模块结构如图1 所示。
2 实施效果
结合中国大学生服务外包创新创业大赛和“中国软件杯”大学生软件设计大赛等以应用软件项目开发为主要参赛形式的计算机类学科竞赛,构建了较为完善的应用开发类课程群。在课程群建设中依托学科竞赛对课程体系、教学内容、实验实践等环节进行教学改革,取得了一系列良好的效果。从2016 年至2021 年,湖南中医药大学信息科学与工程学院师生参加计算机应用软件开发类学科竞赛,获得省部级和国家级奖项100 多项。下面以中国大学生服务外包创新创业大赛为例对实施效果进行说明。
中国大学生服务外包创新创业大赛由教育部、国家商务部和无锡市人民政府联合主办,是中国高等教育学会发布的“全国普通高校学科竞赛排行榜内竞赛项目”之一。自2010 年至今已连续成功举办12 届,累计共有千余所国内外高等院校10 万多名学生参赛。湖南中医药大学自2016年开始参与此项赛事,参赛人数从最开始的两个队10 名学生到2021 年的35 个队175 名学生。2022 年参赛队伍数量已超过40 个,参赛学生人数超过200 人,参与竞赛指导工作的教师近20 人。在2016 年至2021 年的六届比赛中,湖南中医药大学累计获得全国总决赛一等奖4 项,二等奖9 项,三等奖25 项,其中在2016 年、2018 年和2019年先后获得国家级一等奖4 项。本赛事于2020 年开始增加中部赛区选拔赛,湖南中医药大学在2020 年和2021 年共获得中部赛区一等奖5 项,二等奖14 项,三等奖9 项,获奖数量和质量在所有参赛院校中排名前列。近六年湖南中医药大学参加中国大学生服务外包创新创业大赛学生人数及所获国家级奖项数如图2 所示。
图2 近六年湖南中医药大学参加中国大学生服务外包创新创业大赛学生人数及所获国家级奖项数
参赛学生的综合素质和专业能力得以显著提升,近六年有30 多名参赛学生保送或考取国防科技大学、中南大学、湖南大学、吉林大学、中国海洋大学、南京航空航天大学等高校硕士研究生,部分参赛学生顺利入职华为、腾讯、百度、字节跳动等知名IT 企业;基于优秀参赛作品登记计算机软件著作权20 多项,发表多篇论文并立项国家级和省级大学生研究性学习和创新性实验计划项目多项。
随着学生综合能力的增强,学生对课程群中相关课程任课教师的教学满意度也逐年提升。教师通过参与指导学科竞赛,教学水平和工程实践能力提升显著,达到以竞赛促教学、以教学助竞赛的目的。
3 结语
加强课程群建设是深入探索计算机专业课程教学改革的有效途径,具有重要的实际意义和价值。以课程群为单位,在教学实施过程中将学科竞赛赛题引入课程实验和学期实践等环节,让学生更好地运用所学知识解决实际问题,极大提高了学生的学习积极性和参与度。结合学科竞赛来建设计算机应用开发类课程群,以学科竞赛促课程建设,以课程建设助学科竞赛,取得了良好的效果,进而实现以赛助学、以赛促学、以赛代训、以赛促教的目的,全面提升学生的综合素质和专业能力。
在今后的工作中,将推广结合学科竞赛开展课程群建设的思路和模式,在已有的程序设计类课程群和软件应用开发类课程群的基础上,结合学科竞赛构建计算机硬件类课程群和网络及安全类课程群,更好地发挥学科竞赛在课程建设和人才培养中的作用。