杨旭华
(黄冈师范学院 数学与统计学院,湖北 黄冈438000)
教育部1998年颁布的普通高等学校本科专业目录中以信息与计算科学取代了原来的计算数学及其应用软件、运筹学等专业。经过20多年的发展,全国已有400多所高校开设信息与计算科学专业。根据“强基础、宽口径、重实际、有侧重、创特色”的办学指导思想,各高校信息与计算科学专业都开设有十门以上基础课程和一些专业方向课程,课程门数繁多,但是关联不够紧密,教和学都有相当的难度。
2017年7月国务院印发了《新一代人工智能发展规划》,该规划鼓励各高校建立“人工智能+X”复合专业培养新模式,重视人工智能与数学、计算机科学等学科专业教育的交叉融合[1]。2018年10月教育部发布的《教育部关于加快建设高水平本科教育全面提高人才培养能力的意见》中要求适应新时代对人才的多样化需求,深化高校本科专业供给侧改革,及时调整专业人才培养方案,科学构建课程体系[2]。
信息与计算科学专业本身就是数学、计算机、信息科学等交叉融合的专业,其培养目标要求学生具备深厚的数学基础,也要求学生具备丰富的计算机实践能力,在新一代人工智能发展的背景下,该专业交叉融合的优势更加凸显,专业建设必须与时俱进,紧跟时代发展。
为提升信息与计算科学专业的教育教学质量,突出各高校的专业特色,扩大课程教学的规模效益,进一步减轻师生教和学的压力,信息与计算科学专业有必要构建和完善课程群。
课程群是指为完成某一教育目标,在知识内容上相关的、可构成完整课程体系的多门课程组成的课程群体[3],各门课程内容之间有较强的关联性。课程群建设是根据培养目标将几门课程进行有机的整合优化,加强课程之间的关联和衔接,去除重复教学内容,形成完整连贯的课程体系。不同于课程建设强调单门课程内知识的严密完整,课程群建设更强调各门课程之间的相互促进、相互配合、相辅相成,更强调整体效应,使学生能力随着课程教学的推进、加深、拓展而不断提升,从而实现培养目标。
信息与计算科学是数学学科类的一个专业,该专业开设了很多数学课程,而本科阶段数学专业课程是从17 世纪发现的微积分开始的,数量多、难度高。如果各门课程之间各不相谋,没有相互配合、衔接,那么光是数学课程就很难达到教学目标,基础理论之间不能互相印证、引用,学生学完一门课程可能只停留在定义层面上,思维是割裂、片面的。因此,在信息与计算科学专业乃至整个数学类专业进行课程的整合、开展课程群建设是非常有必要的。
根据专业培养目标和要求,信息与计算科学专业都开设有数学基础课程,包括数学分析、高等代数、空间解析几何、微分方程、概率统计等,主要培养学生良好的数学基础和数学思维能力,巩固形成宽广扎实的数学功底;开设有信息科学基础课程,包括计算机基础、高级程序设计语言、数据结构、算法设计与分析、数据库、计算机网络等,主要培养学生熟练掌握计算机、算法设计和分析以及程序设计的能力;还开设有计算科学基础课程,包括科学计算概论、信息论基础、数值分析、数学模型等,主要培养学生运用所学的理论、方法和技能解决信息科学和工程计算中实际问题的能力。
由于办学历史、资源优势和师资力量各不相同,各个高校信息与计算科学专业的侧重点也各不相同。在专业课程设置上,有的加入金融数学方向的课程,有的加入数据挖掘方向的课程。特别是近年来,随着经济社会的发展,为了满足就业岗位的需求,许多高校的信息与计算科学专业增设了许多信息科学类课程,特别强调软件开发、测试、应用等能力的培养。
2.2.1课程设置关联性不强
虽然信息与计算科学专业开设的课程门数众多,内容繁杂,但课程之间关联性不强,多呈碎片化开设,尤其是基础课程和专业方向课程不够连贯,没有形成合理的课程体系,教与学都有很大的难度[4]。例如,有的高校信息与计算科学专业侧重软件开发方向,开设的专业课程主要是数学和计算机两大部分。数学部分主要讲授经典理论和少量应用,由于数学学科自身的特点,学科分支多,本科阶段的很多数学专业课程之间,自成体系,没有关联[5]。而计算机部分偏重软件设计与开发,由于课程深度、教学时数等原因,涉及到如何用计算机解决数学专业问题或者数学如何服务于计算机科学的内容非常少,两部分关联性不强。
2.2.2学生解决实际问题能力不足
一方面,受各种条件的限制,学生见识不够广,眼界不够宽,联想不够强,没有形成经验,遇到问题大都是新问题,无法利用已有知识去解决[6]。
另一方面,在本科阶段的教学中,大多数的课程都是理论教学为主,实践教学为辅,而且实验实训的条件有限,设备数量较少、版本型号陈旧,双师型教师缺乏,这就使得很多学生学习与现实脱节,动手能力较差,遇到实际问题不能很好的去解决。
例如,信息与计算科学专业开设了数据结构、面向对象程序设计等课程,但学生很难掌握Windows编程,对学生而言Windows SDK 是“老师没教过”的新知识。
2.2.3学生创新创业意识不强
信息与计算科学专业本是数学、计算机科学、信息工程等众多学科的交叉,知识面宽,专业优势明显,但该专业学生的创新创业成果鲜少。
一方面,学生创新意识不强。信息与计算科学是数学类专业,学生深受数学思维的影响,热衷于“发现世界的规律”,探究现实事物的数学原理,反而不看重“创造新的事物”,有些学生不知道数学原理是许多创造发明的根基,更没有想到利用数学原理来创造新的事物,不善于运用数学原理创造新事物[7]。
另一方面,课程零散,知识碎片化,没有形成体系,学生难以完成知识的整合、归化,创新能力不足。例如,Web前端设计中要在页面上呈现一些几何图形,涉及到的知识包括平面几何、计算机编程,信息与计算科学专业学生都曾学习,但几乎每个学生遇到这个问题都把它当成新的问题,不善于把各种图形转换成规则几何图形的交、并、差、补。
2.2.4学生就业与社会需求不对口
信息与计算科学专业学生就业率高,但专业对口率低。信息与计算科学专业的毕业生应该是能在科技、教育、信息产业、经济金融等部门从事研究、教学、应用开发和管理工作,但现实情况是大部分学生通过参加社会机构的技能培训后才获得就业机会,而且大多是信息技术类的工作岗位。
很多人认为学生就业专业不对口是因为专业冷门,就业岗位较少,学生迫不得已抢抓就业机会造成的,但实际上各高校在专业建设过程中大都十分重视就业率,一旦就业岗位太少,就会转型发展甚至停止招生。对信息与计算科学这种开办历史长达二十年的专业而言不应是冷门专业,毕业生应该容易找到匹配的职位。
信息与计算科学专业学生就业不对口的主要原因是培养的学生不符合经济社会发展的要求,毕业生的专业素质不高,无法满足相关岗位的任职要求[8]。以软件开发岗位为例,一般用人单位要求求职者:(1)熟练掌握至少一门计算机编程语言;(2)有一定软件开发经验;(3)能较快学习新知识;(4)有较强的协调沟通能力和团队合作精神。很多高校在信息与计算科学专业开设了多门编程语言课程,但学生不一定符合任职要求,因为无论是“熟练掌握”、“经验”还是“团队合作”,都需要学生在长期的软件开发实践中锻炼才能达到。学生为了获得工作机会,就只能参加社会机构的技能培训来加强实践。
信息与计算科学专业课程开设广泛但不够深入,同时受教学时间、实践条件、教师素质等限制,教学效果不佳,人才培养质量并不能满足社会需求[9]。为提高人才培养质量,提升人才培养水平,信息与计算科学专业应该坚持进行专业建设改革,主动对接经济社会发展需求,构建和完善科学的课程体系,更新教学内容,增强针对性和实效性,体现前沿性。
信息与计算科学专业课程群建设的目标是践行“强基础、宽口径、重实际、有侧重、创特色”的办学思想,通过凝聚核心教学内容,促进学科专业教育的交叉融合,形成复合专业培养新模式,提高人才培养质量。
在新一代人工智能发展的背景下,为服务国家人工智能发展的总体目标和战略布局,信息与计算科学专业课程群建设应当遵循以下原则:
(1)要有利于落实《新一代人工智能发展规划》和《教育部关于加快建设高水平本科教育全面提高人才培养能力的意见》。课程群建设就是要主动适应国家人工智能战略发展的新需求,在微观层面完成学科专业教育的交叉融合,促进人工智能与数学、计算机科学等学科专业教育的交叉融合,为各高校人工智能专业的建设作好铺垫,探索道路。
(2)要有利于教学资源的优化配置。课程群建设就是要对有限的教学资源进行整合、协调、优化、甚至重组,开发利用潜在的各种教学资源,提高教学资源的利用效率和效果,推动优质课程资源共享发展。
(3)要有利于学生综合素质的提高。课程群建设就是要通过科学构建和完善课程体系,凝聚教学合力,提高专业建设质量和人才培养质量,增强学生的创新创业意识,培养学生的团队合作精神,提高学生实践操作的能力,促进学生道德文化、专业、心理、身体等各方面素质的全面发展,为国家发展、民族振兴提供强大的人才支撑。
(4)要有利于教师的专业发展和专业学科的交叉融合。在新一代人工智能发展背景下,信息与计算科学专业课程群建设就是要拓宽教育教学内容,打破学科专业壁垒,与其他专业进行深入交叉融合,形成新的复合专业培养模式,在此过程中,教师要积极转型,协作交流,共同发展,在专业的渗透碰撞中成为新知识的学习者、研究者和传播者,全面提高教书育人能力和科研水平。
信息与计算科学专业着重培养学生解决科学计算、软件开发和设计、信息处理与编码等实际问题的能力,应当以培养能胜任信息处理、科学与工程计算部门工作的高级专门人才为目标,对信息与计算科学专业教学内容进行改革和优化。在该专业原有教学内容中剔除低端的、重复的知识,强化课程关联,适当拓宽人工智能专业教育内容,结合经济社会发展的需求和各高校实际情况,逐步构建科学计算、软件开发、大数据分析等课程群。
课程群教学团队应对教学内容进行合理规划,适当取舍,不囿于教材,形成完整连贯的课程体系。教材是教学的重要依据,但教学过程中不可生搬硬套,要因时制宜、因地制宜、因材施教,要选用权威的、具有较高学术水平、普遍评价较好的教材,对教材内容要作恰当的处理,尤其在课程群中对重复交叉的内容进行合并调整,要注意先修课程和后续课程内容之间的衔接。并不是教材中每一节内容都要讲授,也不是教材之外的知识一概不讲,要根据学生的学习情况、根据当前的科技发展趋势、根据经济社会发展情况作适当取舍,这样才能使人才培养与社会需求接轨。例如,在Web程序设计课程中介绍Web 后端程序框架,就要介绍经典的、流行的框架,当前极少使用的框架就不宜教授。对实践教学环节要全面考虑,既要完成基础性的实验,更要加强综合性实践,着重培养、提高学生的综合素质。
课程群内各门课程之间要加强配合和衔接,不同课程群之间也应该加强关联和衔接。在信息科学和计算科学课程的开设中,尤其要注意课程之间的配合、呼应。例如,信息科学课程群都会开设程序设计语言,很多高校教授C 语言或C++语言或Java语言,数据结构、算法设计与分析等课程继续使用这种语言,而数值分析、数学模型等计算科学课程中算法的实现却使用Matlab或者Mathematica,以方便数学运算、呈现宏观计算过程、绘制几何图形等,这样一来在计算科学课程中就要花费大量课时介绍Matlab 或Mathematica的使用方法和语法,而重点教学内容因为课时有限被删减。在人工智能发展的背景下,无论是信息科学课程还是计算科学课程可以统一起来使用同一种程序设计语言——Python。Python语言由于简洁高效、开发生态成熟,已经成为人工智能的第一语言,它可以用来进行通用软件开发、网络编程、游戏开发、科学计算、大数据分析等等。一些省份将Python列入到小学、中学等基础教育体系中,为未来国家和社会发展奠定了人工智能的人才培养基础。教育部考试中心自2018 年3月起,在计算机二级考试加入了“Python语言程序设计”科目。信息与计算科学专业可以选择Python语言作为程序设计主语言,在程序设计基础课程中介绍计算科学中的简单算法,在计算科学基础课程中避免花费过多课时介绍程序设计语言,在后续的课程教学中一以贯之,以此为基础建立软件开发、大数据分析等课程群。
课程群建设中要注意确立主干课程,发挥主干课程的凝聚作用。如果各门课程各自为营,没有为一个主干服务,那课程群建设就徒有其名,没有任何实际意义。主干课程就是为培养和提高学生综合素质发挥最重大作用、为学生将来的工作提供最直接帮助的课程,各个高校可以根据自己的实际结合经济社会发展的现状确立自己的主干课程。例如,以软件开发为侧重培养学生,主干课程可以确定为软件工程,其他课程作为这门课程的基础,在软件工程课程中综合运用数据结构、数据库、计算机网络等先修课程的知识让学生反复实践锻炼,各门课程之间的关系不是割裂开的,而是相互配合、相辅相成的,数据库中就要介绍如何通过编程语言读写数据,而数据库的内部实现原理只需简单介绍;计算机组成原理就不宜深入到元器件、电路,重点介绍计算机的工作原理;等等。
在课程群的建设中,要注意教师之间的配合。要通过课程群建设增进教师之间的交流合作,提高教师教书育人的能力。一方面,教师要通过课程群建设提高自己的知识技能,使自己的专业得到发展.例如,以Python语言作为程序设计主语言进行教学,以前有的教师习惯使用C 语言,有的教师习惯使用Matlab,如果现在统一使用Python语言,那么教师就要扭转习惯,学习、熟悉Python语言,提高自己的知识水平和技术能力。另一方面,教师之间要相互配合,讲授的知识点要衔接好。例如,在离散数学课程中介绍了图的基本性质,在数据结构课程中就可以简要复习图的性质,不需要花费太多课时重复这一知识点;在数据结构课程中介绍了树的概念和性质,但并没有介绍B+树,如果数据库中要使用B+树存储索引就要详细讲解。
根据专业培养目标和要求,信息与计算科学专业至少应该包括数学基础、计算科学、信息科学三大课程群。课程群中课程的选取应遵循一定的原则,不能为建设课程群将课程胡乱搭配、强行拼凑。数学基础课程群是为了培养学生深厚的数学基础,强调知识的完整性和系统性,着重基础理论和基本知识,应包括数学分析、高等代数、空间解析几何、微分方程、概率统计等课程。计算科学课程群是为了培养学生有关计算科学的基础理论和方法,强调知识的探究过程,着重分析问题、解决问题能力的培养,应该涵盖计算机基础、科学计算概论、高级程序设计语言、数值分析、组合数学、运筹学等课程。信息科学课程群是为了培养学生熟练应用计算机的基本技能和算法设计、分析的能力,强调知识的应用,着重实践能力的培养,应由离散数学、数据结构、算法分析与设计、数字信号处理、信息论基础、密码学等课程组成。通过数学基础课程群,培养学生深厚的数学功底,通过计算科学课程群使学生能将数学知识应用到实际问题的解决过程中,通过信息科学课程群让学生掌握现代化工具的使用并将其应用于实践。三个课程群课程之间相互促进、相互配合、相辅相成,结合实践性环节,学生培养质量更易提升,培养目标更易达成。课程群内各门课程要按照从易到难、由窄到宽的顺序开设,互相没有依赖的课程可以同时开设,让学生能够较早了解本专业的课程设置。三个课程群没有主次之分,并不强求各课程群必须同时开课。
高校应根据自身的软硬件环境,不囿于历史传统,构建其他的专业方向课程群,形成琳琅满目、百花齐放的专业发展格局。以国家发展战略为导向,以产业需求为背景,调整信息与计算科学专业的课程结构,优化课程体系,开设一批前瞻性、先进性、交叉性的专业课程,着力提高学生解决复杂实际问题的能力,落实复合型创新创业人才的培养目标。
结合新一代人工智能发展的社会需求和实际应用背景,将专业教育与创新创业教育紧密结合,对学生实践能力和专业技能进行培养。加强创新创业案例教学,将创新创业活动融入到课堂教学、实践、实习环节中,调动学生创新创业的积极性、主动性,鼓励学生参加各项专业竞赛、科研活动和企业实践,对创新创业项目进行研究、分析和评价,培养学生的创新精神,启发学生的创业思路、拓宽其创业视野。通过专业竞赛、企业实践和科研活动,培养学生创新创业的基本素质、能力和品质,全面提升学生的创新创业能力。
信息与计算科学专业课程群建设要充分发挥学科竞赛、行业竞赛的促进作用。信息与计算科学专业学生能够参加大学生数学竞赛、数学建模比赛、程序设计竞赛、数据挖掘比赛、创新创业大赛等大量赛事,通过竞赛,使学生能学有所用、学以致用,提高学生解决实际问题的能力,培养学生的创新能力,提升学生的综合应用能力。另外,赛题也丰富了教学内容。学科竞赛成绩给课程群建设提供了极好的反馈,使课程建设能作合理调整、不断巩固。竞赛指导教师在竞赛指导过程中积累了教学经验,厘清了教学脉络,促进了教学工作。
我校一贯重视学生竞赛活动,近年来,我校信息与计算科学专业大力鼓励学生参加各项竞赛活动,在大学生数学竞赛、数学建模比赛、蓝桥杯全国软件和信息技术专业人才大赛、“泰迪杯”全国数据挖掘挑战赛、大学生创新创业大赛等比赛中均获得不错成绩。在参赛学生中,多名学生考取知名高校硕士研究生,部分学生就职于京东、金山等知名企业,人才培养质量得以显著提升。通过比赛加强课程群的建设,培养了学生的能力,促进了学科专业的发展。
通过课程群建设,发挥各专业的优势,推动教师教学转型,将人工智能的相关知识渗透到专业教育中,在原有专业基础上拓宽人工智能专业的教育内容,构建并完善专业学科教育交叉融合的教学体系,创新人才培养的方式方法,形成符合学校实际情况的、与产业界、科研界深度融合的复合型人才培养新模式,使人才培养与社会需求接轨。
课程群建设要加强教学团队建设,促进师资队伍优化。在全国范围来看,信息与计算科学专业的优秀师资还很缺乏。除了师生必须严格符合要求,高校师资队伍还要求有合理的职称结构、学历结构、年龄结构和学缘结构。在课程群建设中,最基本的要求是教师数量足够,每位教师每学期不应承担超过两门专业课的教学任务,这样才能让教师在教学中投入足够多的时间和精力,才能保证良好的教学质量。因为信息与计算科学专业属于交叉融合的专业,所以课程群教学团队中,具有学科交叉背景的教师应当占有一定比例。信息与计算科学专业的很多课程涉及到综合型的实验,因此,课程群教学团队中既有深厚理论知识又有丰富实践经验的双师型教师也应占有一定比例。在条件允许的情况下,可以让教学团队中的教师轮流教授不同课程直至能胜任课程群中全部课程的教学,在一定程度上提高教师的教学能力。
要充分利用信息技术推进专业课程群建设。利用优秀的网络教学平台将一些课程搬到线上,使课程团队更专注于课程建设,也有利于教和学双方的沟通交流,使教学效果更好。通过网络资源建设,课程内容相互关联的部分加上链接,甚至直接引用,使学科内容整体化,实现资源共享,有利于学生自主学习,也有利于课程内容的加深、拔高。当前流行的微课通过短短几分钟的视频完成几个知识点的教学,课程群建设可以借助这种教学方式完成学科知识的模块化组装。
信息与计算科学专业课程群建设要从各校实际出发,分析学生学情、师资团队、教学材料、资源建设等方面的现实情况,以“强基础、宽口径、重实际、有侧重、创特色”为办学指导思想,进行合理规划,采取相应策略和措施,优化教学内容,完善课程体系,构建涵盖数学基础、计算科学、信息科学三大课程群的多个课程群,推动人才培养模式的改革,促进学科专业教育交叉融合。信息与计算科学专业课程群建设也不是一蹴而就的,随着经济社会的发展,一些课程可能不能满足各方面的要求,相应的课程群就必须进行动态地调整,对接社会需求,主动适应新技术、新产业、新经济发展,为完成提高人才培养质量这一根本任务服务。