基于软考的高校《程序设计基础》课程教学改革探究
作者: 贺丹,贺智
摘要:全国计算机技术与软件专业技术资格(水平)考试(简称软考)是人社部和工信部联合组织实施的国家级考试,是计算机专业与软件专业人员从业资格认定的水平测试。随着高校对应用型人才培养的逐步重视,参加软考的本科生日益增多,但是高校课程教学方案与人才培养方案中缺乏软考相关内容,教学内容与实际应用脱节问题日益突出。针对本科计算机应用型人才培养体系,以软考中所涉及的考查内容和知识点为依据,结合《程序设计基础》课程的建设方案,探讨《程序设计基础》课程的改革方案,重点从教学目标、教学内容、教学手段等方面提出实施方案,以达到培养适应时代发展需要的计算机专业应用型人才的目的。
关键词: 软考;程序设计基础;教学改革;课程建设;应用型人才
中图分类号:G642 文献标识码:A
文章编号:1009-3044(2022)33-0135-04
1 引言
《程序设计基础》课程是计算机科学与技术、软件工程、物联网、数据科学与大数据等工科专业的必修课之一,也是本科生的第一门程序设计基础课[1],该课程具有实践性强、知识点多、覆盖面广、逻辑性强等特点[2,3],通过该课程的学习主要培养学生的计算思维能力、数据分析能力、问题分析能力、动手编程能力、学习迁移能力等,不仅为后续专业知识的学习奠定基础,同时也为综合应用型人才的培养做铺垫。
软考作为计算机类信息人才衡量的重要依据之一,能较为公正地评价计算机类专业技术人员的能力,通过参加初级、中级、高级三个级别的考试,能体现计算机类专业人才应用理论知识解决实际问题的能力[4,5]。在本科人才培养阶段,大量的本科生通过参加软考来提高自己的实践水平,也是对本科阶段所学知识的综合性运用[6]。
随着国家对应用型人才的重视,越来越多的在校本科生愿意参加软考来提高自己的综合能力,这就对本科课程教学提出了新的要求,尤其是作为第一门程序设计基础课程,很有必要将软考的相关知识融入本科课堂教学过程中[7],对涉及软考知识的教学内容,需要进行课程教学改革,以指导学生顺利通过软考。因此,本文以软考为目标,从软考介绍、高校软考现状分析、软考与《程序设计基础》课程的联系、基于软考的《程序设计基础》课程改革方案等方面探讨和研究《程序设计基础》课程的教学改革方法。
2 软考介绍
计算机技术与软件专业技术资格(水平)考试(简称软考)是原中国计算机软件专业技术资格和水平考试的完善[8],是在人力资源和社会保障部、工业和信息化部领导下的国家级考试。软考的目的是通过公平、公正、科学的考试,对全国计算机与软件专业技术人员进行职业资格认定、专业技术资格认定、专业技术水平测试。通过参加软考,并获得相应级别的证书,是用人单位聘用计算机与软件专业技术人员的前提。软考每年举行2次考试,分别在上半年的5月和下半年的11月。
软考设置了初级、中级、高级三个级别[9],一共包括27个专业资格,涵盖5个不同的专业领域,分别是:计算机软件、计算机网络、计算机应用技术、信息系统、信息服务。以初级为例,包含了程序员、网络管理员、多媒体应用制作技术员、电子商务技术员、信息系统运行管理员、网页制作员、信息处理技术员等专业。不同的级别设置了不同的考试专业,涵盖了计算机与软件的方方面面,能最大限度地满足计算机与软件专业从业人员的需求。
从1987年第一次组织软考以来[10],分别在1989年、1990年、1991年、2003年、2007年发生了较大的变革,历经30多年,参加考试的人次已超过500万。由于软考极具公平性和权威性,得到了用人单位和社会各界的一致肯定,同时也推动了国家信息化建设和网络化建设,并在提高信息技术与软件专业人才素养方面发挥了重要意义。
3 高校软考现状分析
在本科阶段的人才培养方面,各大高校正向培养具有实践编程能力、分析问题能力、数据处理能力等能力的综合应用型人才转型。尤其是大部分作为地方型高校,以培养满足地方经济社会发展的应用型人才为主要目的。以作者所在的东莞城市学院为例,主要培养满足东莞、广州、深圳、珠海等珠三角地区经济建设和社会发展所需的综合应用型人才为目标,因此,对于计算机科学与技术、软件工程、物联网、人工智能、数据科学与大数据技术等专业来说,软考的重视程度和参与度也在逐年提高。通过对东莞城市学院近5年参加软考的在校生人数进行统计,得到如图1所示的统计结果。
从图1中可知,从2016年至2021年,参加软考的在校生人数持续上涨,从2016年的116人,到2021年已达到178人。导致这一现象的原因可分为两个方面,一方面随着在校生人数的不断增加,参加软考的人数也随之增加,另一方面随着软考在本科生中的传播度和影响力逐渐提升,更多的在校生选择通过考取相关软考证书来提升自己的计算机与软件水平。
此外,通过统计不同级别的报考情况,得到各级别的报考比例统计图,如图2所示,从统计结果可知,49%的学生选择参加初级软考,45%的学生选择参加中级软考,6%的学生选择参加高级软考。同时通过统计不同级别的中各个专业的报考情况,得到统计结果如表1所示,从表1可知,在初级软考中报考“程序员”专业的在校生人数最多,占比为72.02%,在中级软考中报考“软件设计师”专业的在校生人数最多,占比为66.49%。
通过对计算机类本科生的调查,掌握了在校生参加软考的基本人数,并对其最热衷参加的考试专业进行统计,从统计结果分析可知,在校生对软考的热情与日俱增,在校生对初级的“程序员”专业和中级的“软件设计师”专业报考人数最多。从这些现状分析可知,在《程序设计基础》课程中有必要适当融入考知识点和软考考点。
4 软考与《程序设计基础》课程的联系
通过对在校生参加软考的情况进行分析,大部分学生选择报考“程序员”专业,本位以初级“程序员”专业考试为例,通过对“程序员”专业考试内容进行分析,并与《程序设计基础》课程内容进行对比,以体现软考与《程序设计基础》课程的紧密联系。
“程序员”专业考试分为上午场和下午场,其中上午场主要考查基础知识,题型为单选题,一共75道题,每道题1分,考查内容涉及计算机数制转换、算术运算和逻辑运算、计算机组成、操作系统、程序设计语言基础知识、办公软件基本操作、数据库基础知识、软件工程等。下午场主要考查应用技术,一共6道大题,每道大题10-15分左右,题型包括选择题、问答题、代码填空题等,考查内容包括:程序流程图填空题、C语言代码阅读题、C语言代码填空题、Java代码填空题。
以2019年上半年“程序员”下午程序设计考试内容为例,考题中一共6道大题,其中第1题考查程序流程图,第2-4题考查C语言程序阅读和填空,第5题考查Java语言程序阅读和填空,第6题考查C++语言程序阅读和填空。现通过对比2019年上半年“程序员”考查知识点与《程序设计基础》课程所涉及知识点进行对照,得到表2的对照结果。
从表3中的对照结果可知,“程序员”考试下午考题中大部分考题均能在《程序设计基础》课程中找到对应的课程内容。其中75%的考查点来自《程序设计基础》课程,由此可见软考考查内容与《程序设计基础》课程内容联系密切,在讲授《程序设计基础》课程的同时融入软考知识点,不仅能提高本科生学习《程序设计基础》课程的动力,提升程序设计思维和动手能力,也能进一步提高软考的通过率。
5 基于软考的《程序设计基础》课程改革方案
为了能进一步提升《程序设计基础》课程的教学效果,帮助更多在校生顺利通过软考,在本科阶段的《程序设计基础》课程教学过程中需要进行相应的改革,本文重点从教学目标、教学内容、教学方法和教学手段等三个方面探讨基于软考的《程序设计基础》课程改革方案。
5.1 教学目标整体改革
在21世纪,科学技术水平飞速发展,经济全球化趋势日益明显,如何在现阶段培养出具备扎实专业基础知识和实践动手能力的新一代,是关系到民族未来发展命运的大事,也是高校人才培养义不容辞的责任。为了培养具备良好综合素质的应用型人才,以《程序设计基础》课程为突破点,重点实施《程序设计基础》课程的教学目标改革[11]。目前,国内的绝大多数高校在《程序设计基础》课程的教学过程中,选择C语言为教学语言,因此,在本文以C语言为例展开讨论。
在传统的教学过程中,《程序设计基础》课程的教学目标为:通过《程序设计基础》课程的学习,使学生掌握C语言基础知识,能够运用顺序、判断、循环三大程序结构设计程序,能够借助函数、结构体、共用体、指针、文件等知识解决实际问题。使学生能够熟练地阅读和运用结构化程序设计方法设计、编写、调试、运行C语言程序。同时培养学生分析问题、解决问题、团队协作的能力,并为后续专业课程的学习奠定坚实的基础。
在教学过程中结合软考的目标,实施教学改革之后,《程序设计基础》课程的教学目标为:通过《程序设计基础》课程的学习,使学生掌握C语言基础知识,能够运用顺序、判断、循环三大程序结构设计程序,能够借助函数、结构体、共用体、指针、文件等知识解决实际问题。重点培养学生的计算思维、创新思维、逻辑思维、科学思维、算法思维等思维模式,并建立正确的程序设计思维,为后续计算机专业课程的学习奠定思维基础。同时树立通过软考、计算机等级考试等专业技能考试的目标,提高学生运用课堂知识解决实际问题的能力,并树立正确的价值观、人生观和世界观。
5.2 教学内容改革
课程教学内容是课程教学的核心所在,《程序设计基础》课程包括理论教学环节和上机实验环节,在基于软考的教学内容改革中,需要从理论教学和实验上机两个方面着手。
在理论教学环节中,教学内容主要包括:程序设计与C语言、算法、顺序程序设计、选择结构程序设计、循环结构程序设计、数组、函数、指针、结构体与共用体、文件等。在每一章授课过程中,将软考真题知识点融入课堂案例讲解。例如在讲解“函数”这一章节时,可以以软考初级“程序员”专业2019年上半年下午真题第2题[12]为课堂案例,讲解函数的定义、函数的调用、函数的参数传递过程、数组作为函数参数、函数返回值等内容。通过这种软考真题案例讲解的方式,一方面软考真题辅助知识点讲解,帮助学生们理解“函数”这一章节的重点内容,更加直观地理解函数的定义及应用;另一方面可以通过软考真题讲解激发学生们参与软考的兴趣,并更直接地感受到课堂所学知识的应用场景。
在上机实验教学环节中,通过实际的案例来巩固理论课堂所学知识点,尤其是将往年软考真题融入上机实验教学环节中。现以“选择结构程序设计”这一章节的上机题为例,可以将软考初级“程序员”专业2019年上半年下午真题第3题[13]为上机题,给定题目背景:某市根据每天早上5点测得的雾霾指数(pm2.5值)决定是否对车辆进行限行,应用if分支语句解决实际车辆限行的问题。通过编写if分支语句,结合实际应用背景,让学生们掌握“选择结构程序设计”知识点的应用。
5.3 教学方法和教学手段改革
本课程将素质培养目标落实到每一节理论课、上机课、实训课,贯穿课程建设全过程,使学生从程序设计学习一开始就树立明确的目标,因此,在课程教学目标和课程教学内容都已改革的情况下,教学方法和教学手段都要进行相应的改革。
首先,要大力改进常规教学方法,积极开展教学方法的改革,在课堂教学中注意发挥学生的主导地位,如在“程序设计的灵魂—算法”“分支结构程序设计”“循环结构程序设计”等章节的教学过程中,把课堂教学从传递性教学转变为探索性、训练性教学,并尝试推行启发式、讨论式的教学方法,激发学生自主探索的兴趣和能力。
其次,要采取相关措施,加强学生自学能力的培养,并将软考知识点融入平时课程教学过程中,具体方法可以包括:改革作业内容,增加软考题型,增加软考真题演练,安排适当的自学讨论环节,提供更多的自由讨论时间和机会,培养学生自主学习的能力。