李 薇,黑新宏,王 磊,2,王 彬,申小玲
(1.西安理工大学 计算机科学与工程学院,陕西 西安 710048;2.陕西理工大学 数学与计算机科学学院,陕西 汉中 723001;3.西安理工大学 实验室管理处,陕西 西安 710048)
以人工智能、云计算、大数据、物联网、移动计算等为代表的新技术,不仅是技术创新驱动的源泉,同时引领新产业与新经济的迅猛发展[1]。党的十九大报告明确指出,人才是国家竞争力的关键,硬实力、软实力,归根结底是人才实力。为了充分发挥学生专长,促进学生个性化发展,2005 年教育部《普通高等学校学生管理规定》提出,学生可以按照学校的规定申请转专业。转专业的实施,是以学生的兴趣和志向为导向,有助于学生进入确有特长的学科领域;为学生提供更多的选择路径,有助于调动和发挥学生学习的主动性和积极性。
2017 年2 月18 日在上海召开的综合性高校工程教育发展战略研讨会上指出,到2020 年,我国新一代信息技术产业人才缺口将会达到750万人。到2025 年,新一代信息技术产业人才缺口将达到950 万人。社会对计算机专业人才的迫切需求使得计算机专业备受关注,使其成为当前的热门专业,就业前景好。2019 年5 月14 日,国家统计局发布的2018 年各行业平均工资的数据显示,IT 行业年薪14 万位居榜首,2019 年猎聘大数据研究院的数据表明,全国互联网行业程序员的月薪(18 153 元)要高于中高端人才平均月薪(17 153 元)。
受就业前景和专业兴趣的影响,有的学生所学专业是家长选的而不是自己做的决定,有的学生认为自己所学专业比较“冷门”,就业前景不好,这些因素导致学生对专业满意度低。此外,计算机专业良好的就业前景极大地吸引着学生,很多学生希望通过转专业改变自己的现状。西安理工大学转专业的实施办法是,本科生在大学一年级学年结束后,有一次重新选择专业的机会。其中,学习成绩在本专业排名前30%的学生,可根据学习兴趣在全校范围内(不能跨科类)申请调整专业,其余70%学生可以依据专业录取分数排名申请转入同分或低分录取专业(专业录取分数排名是指依照学生入学当年我校在陕西省各专业普通批次录取最低分排名)。因此,很多满足转专业条件的学生,在大学一年级学年结束后,积极申请转入计算机学院各专业。
以西安理工大学计算机科学与工程学院近3年数据为例,2017 年由自动化与信息工程学院、土木建筑工程学院、水利水电学院等8 个学院转入计算机学院共31 名学生,其中22 名男生,9名女生;2018 年由机械与精密仪器工程学院、材料科学与工程学院、信息技术与装备工程学院等10 个学院转入计算机学院共57 名学生,其中39名男生,18 名女生;2019 年由理学院、经济与管理学院、印刷包装与数字媒体学院等8 个学院转入计算机学院共67 名学生,其中43 名男生,24名女生。新转入的学生都是机械设计制造及其自动化专业、水利水电工程专业、材料化学专业、材料科学与工程专业、测控技术与仪器专业、电子信息工程专业、通信工程专业等专业的优秀学生,他们具有视野开阔、个性鲜明、学习能力和独立性强等特点。然而,由于转入新专业,这些学生不仅要适应新环境,而且要按照计算机学院各专业的培养方案选修本学年的相关课程、补修大学一年级的课程,并进行相应的学分替代。此外,当学生转入计算机学院时,已经是第三学期的第四周了,而有些课程在第一周就开始上课,其中学生尤其觉得面向对象程序设计和数据结构这两门课程比较困难。
面向对象程序设计和数据结构的先修课程是C 语言程序设计。由于不同学院的培养方案不同,有的学院在第二学期开设C 语言程序设计,而有的学院则在第三学期才开设C 语言程序设计,因此转专业的学生中有些学生没有学过C 语言程序设计。但是因为这些学生都是原专业学习比较优秀的学生,他们希望在转入的这一学期能将所有课程补齐。面向对象程序设计和数据结构是计算机专业的核心课程,是培养学生计算思维能力和程序设计能力的重要课程,如何能让学生在有限的时间内学好这些课程,是教师迫切需要解决的问题。
2018 年8 月,教育部明确提出了“金课”的概念;2018 年11 月,教育部高教司司长吴岩在第十一届中国大学教学论坛上,明确指出“金课”的特点是两性一度,即高阶性、创新性和挑战度。通过创新课程内容、教学形式,培养学生的研究思维方法、探究能力,鼓励学生敢于挑战、敢于探险,实现知识、能力和素质的有机融合,培养学生解决复杂问题的综合能力和高级思维。鉴于此,针对转专业学生,面向对象程序设计课程从构建课程知识空间、MOOC+轴翻转教学实现课程教学。MOOC+轴翻转教学模式的核心思想是教师引导学生在MOOC 中完成具体知识的学习,实现实体课堂与网络课堂的互补;此外,在课堂教学中采用先能力、后知识的轴翻转教学理念,对重点、难点知识进行指导性讲解,重在培养学生能力。
(1)构建课程知识空间。课程知识空间是指课程教学内容的最大集合。面向对象程序设计课程将知识空间构造为一座山[2]——面向对象程序设计之山,见图1。“面向对象程序设计之山”将本课程的知识内容(面向对象方法学、类和对象、函数重载与友元、常量与引用、运算符重载、组合、继承与多态性、模板、输入/输出流、异常处理和MFC 编程等)及其之间的关系形象地表达为山脚、山坡、山腰和山顶等,将知识的学习和能力的培养过程形象化为登山过程,有助于学生更好地理解本课程的知识体系,从而为课程学习奠定坚实的基础。
图1 面向对象程序设计之山
(2)采用基于MOOC 的翻转课堂教学。提高学生学习效果的关键是学生主动学习,这一理念已经成为大学教学的共识。采用基于MOOC的翻转课堂的主要目的是增加师生互动、生生互动的频度,通过互动强化学生的主动思考与主动学习[3]。基于MOOC 的翻转课堂教学主要包括主动化学习、个性化学习、互动化学习和系统化学习4 个过程。首先,针对教师布置的任务,学生通过查阅资料、观看视频等方式进行主动化学习;在此过程中,培养学生的独立学习能力;教师根据学生反馈的学习结果,可以清楚地掌握不同基础学生的学习能力,进而动态调整所布置的教学任务。其次,在课堂教学过程中,针对老师所布置的作业,每个学生讲解自己在设计程序时的思路和原理。以“设计一个函数,计算两点之间的距离”为例,学生首先设计一个点类Point,接着设计一个全局函数Distance 计算两点之间的距离。由于类的封装性特点,即对象在类外不能直接访问其私有成员,一些学生根据目前所学知识,采用在类里定义成员函数的方式,即对象通过调用成员函数实现对其私有成员的访问。还有一些学习能力比较强的学生,他们不满足于教师的授课进度,而是在此基础上通过MOOC 进行个性化学习。因此他们采用还未讲到的友元机制,即将函数Distance 声明为类的友元函数,从而解决这个问题。接着,进行提问—回答的互动化学习环节,通过这一环节,营造一个批判质疑、有争论、有辩论的教学环境,学生在争辩的过程中发现自己的知识漏洞,学会用思维来建构知识,用想象来拓展知识,用智慧来批判知识,真正学到具有活力的知识。最后,为了保证学生知识学习的系统性和连贯性,教师对本节课的重点、难点知识进行归纳、讲解,引导学生进行深度思考和系统化学习。
(3)采用轴翻转教学方式。在讲授过程中,如果先讲解知识点,再进行程序设计,这种模式会使学生觉得很枯燥,从而对课程失去学习的兴趣。轴翻转教学是指先能力、后知识,使学生认识到为什么要学习这些知识,这些知识有什么用,而不是为了记忆知识而学习。例如,在讲解友元函数时,首先设计一个与学生相关的问题:已知网络131 班有若干名学生,每位学生的信息包括姓名、年龄、学号、OOP 课程成绩,要求根据给定学号查找学生,并显示查询结果。在解决这个问题时,根据问题需要首先声明学生类;由于学生人数不确定,存储学生信息需要创建动态对象数组;在查找过程中,对象在类外要对其私有成员进行访问,需要用到友元函数;在对学生逐个比较的过程中,需要用到循环结构和选择结构;为了避免内存泄漏,在程序结束时,需要释放动态分配的对象数组。在讲解知识时,让学生带着问题学习,不仅激发了学生设计程序的兴趣,而且使学生明白了类、对象数组、友元函数、循环结构、选择结构以及内存的动态分配等知识的用途和怎么用,进而提高学生分析问题、解决问题的综合能力。
为了检验“MOOC+轴翻转”的教学效果,在面向对象程序设计课程中,选择了3 个专业6个班的学生与转专业学生,分别进行了传统教学模式和“MOOC+轴翻转”教学模式。图2 是采用传统教学模式的计算机1、计算机2、计算机3、网络1、网络2、物联网6 个班和“MOOC+轴翻转”(转专业)的学生期末成绩对比。
图2 传统教学模式(6 个班)和“MOOC+轴翻转”(转专业)成绩对比
图2 表明,转专业学生的平均成绩略高于其他专业的学生成绩,这是因为,转专业学生都是来自各专业比较优秀的学生,他们自学能力强,具有一定的探索精神和研究能力,在“MOOC+轴翻转”教学过程中,主动化学习、个性化学习、互动化学习、系统化学习和轴翻转方式不仅有助于学生在原有知识理论基础上建构知识、掌握知识以及灵活运用知识,而且培养了学生的计算思维能力、程序设计能力、探究能力和创新能力,实现了学生在知识学习过程中提升能力和素养。
大学生转专业是人才培养模式变革的需要,是遵循人才成长规律,培养学生个性发展的有效举措,有利于提升人才培养质量[4]。针对转专业学生学业任务重、时间紧的问题,为了保证学生顺利跟上转入专业的学习进度,以面向对象程序设计课程为例,构建了“MOOC+轴翻转”的教学模式,通过主动化学习、个性化学习、互动化学习、系统化学习和轴翻转教学方式,挖掘学生潜质,提高学生能力,实现了学生知识、能力和素质的有机融合,培养了学生解决复杂问题的综合能力和高级思维。