1. 引言
2018年10月10日,教育部印发了《关于加快建设高水平本科教育全面提高人才培养能力的意见》,提出全面推进“四新建设”,即建设新工科、新医科、新农科、新文科[1]。在随后的文件精神落实工作会议上,高教司长吴岩提出2019年我国将大力发展四类专业,即建设新工科、新医科、新农科、新文科示范性本科专业,引领带动高校优化专业结构、促进专业建设质量提升,推动形成高水平人才培养体系[2]。“四新”专业的特点是交叉融合,其中“新工科”以互联网和工业智能为核心,包括大数据、云计算、人工智能、区块链、虚拟现实、智能科学与技术等相关工科专业[1]。为满足“四新”对高校工科学生提出的培养适应能力、学习能力、专业设计能力、实践能力、创新能力等方面的高素质创新型人才要求,对高校工科课程进行教学改革势在必行[3]。
C语言程序课程作为计算机相关专业的专业基础必修课程,对于培养学生的计算思维、程序设计的基本方法和技巧,以及运用程序设计知识编程解决相关专业领域问题的能力具有重要作用。该课程作为后续专业课程的基础,在培养相关专业人才的课程体系中具有十分重要的地位。深入理解“四新”内涵,以能力培养为导向,以学生为中心,探索C程序设计课程的教学改革方法,对培养符合新时代新要求的高素质创新型人才具有十分重要的意义。
2. 教学现状
C语言功能强大,在工业控制、嵌入式开发等领域始终占据主流地位,也是诸多算法实现和科学问题建模求解的主要选择。该课程的计算思维有自顶向下、逐步细化、模块化设计、结构化编码等;教学内容包括计算机的基本工作原理,程序设计语言的基本语法、数据类型、程序基本结构、数组、函数、指针、结构体和文件等。
在传统的教学模式下,该课程由理论课堂教学、课程实验教学和课后作业3部分组成。理论课堂教学大多是满堂灌式教学;课程实验教学大多是验证性实验,主要针对数据类型、程序基本结构、数组、字符串、结构类型等基础知识设计验证实验;课程作业主要是学生上机编程解决某一具体问题。传统教学模式主要存在4个方面的问题:(1) 因其C语言接近底层,语法知识点多且零碎,需要理解并记住大量的理论知识,加之学生基础参差不齐,传统教学的长时间讲授易造成学生疲倦、效率低、上机编程的时间不足等。(2) 理论知识难度大、抽象,学生难以理解,导致学生学习兴趣和积极性易受编程挫败感影响。(3) 解决实际问题的能力不够:传统的教学大部分都是对语法和算法进行讲解,很少结合现实中的案例。(4) 教学效果评价方式不合理:目前的教学效果评价以传统试卷 + 实验报告的形式为主,无法训练学生在工程实践中的程序设计能力。
3. SPOC混合式教学模式
“四新”建设需要“以学生为中心,以成果为导向”,积极探索SPOC混合式教学模式,如利用在线学堂、雨课堂等提高学生学习的参与度;通过“线上” + “线下”混合式教学提高教学质量[4]。SPOC (Small Private Online Course,小规模限制性在线课程)通过对在校学生开展小规模班级在线课程教育,将MOOC与传统课堂教学相融合,在发挥线上课堂易普及、开放、包容等特点的同时,也汲取了线下课堂的个性化指导、面对面互动等优点[5]。本次教学改革利用超星网络平台搭建线上网络课程,供学生课前自主学习和课后训练使用;线下课堂以学生引导为主,进行知识梳理和编程实践,具体的教学实施过程如图1所示[6]。
Figure 1. Implementation process of SPOC blended teaching mode
图1. SPOC混合式教学的实施过程
4. SPOC混合式教学改革实践
4.1. 课前线上网络课程搭建
Figure 2. Online course resources of “C language programming”
图2. 《C语言程序设计》线上课程资源
基于“四新”视角,把握“新工科”的内涵,以提高学生的专业技术实力和职业素养为中心,坚持以学生为本,调整《C语言程序设计》的课程构造和教学内容,完善和优化课程资源,并在超星网络平台共享这些课程资源,主要包括教学课件、教学视频、题库、学习任务、课前测验、编程实战、阶段性测验、案例讨论等[6],如图2所示。通过超星网络平台,学生可以通过完成教师发布的任务、观看教学视频进行学习,并进行课前测验,检查自主学习的效果,标记课前学习中不理解的知识点,以备线下课堂中进行学习解决。
4.2. 课中线下课程教学
根据超星网络学习平台中学生的教学视频观看完成率、课前测验的正确率和易错题,结合教师的教学经验、学生的知识水平,对学生通过课前学习掌握的知识点进行分析,优化线下课程的教学方法、教学内容和上机编程实践内容。线下课堂主要以引导学生和上机实践为主,重点难点知识讲解为辅,充分利用线下时间进行重点教学,以培养学生的实际编程技能。
Figure 3. Progress of teaching videos of chapters 1~5
图3. 第1~5章教学视频进度
Figure 4. Pre-class test results of the loop structure section
图4. 循环结构部分课前测验结果
以循环结构为例,课前发布任务要求学生完成超星网络平台中循环结构“5.1 while和do-while循环结构”和“5.2 for循环结构”的教学视频学习,然后完成“自我测验5”。如图3所示,其中一个班学生第5章的教学视频观看完成率为83%,其主要原因为部分学生的学习兴趣和自主学习能力不足,没有按要求完成任务;如图4所示,“自我测验5”没有达到百分百的完成率,“5.2 for循环结构”平均分为86.76,“5.3循环嵌套”平均分为60.77,“5.8自我测验”平均分为68.2。“自我测验5”中单选题考查概念部分题目基本正确,错题为程序填空题,说明经过教学视频学习,学生基本掌握了循环结构的基本概念和用法,但是对循环结构中循环条件的判断和循环体的具体执行流程认知不足,导致学生此时的编程能力和应用能力较差。因此,调整该知识点线下课堂的内容为:以“老和尚讲故事”引入循环结构,分析这个故事中的循环条件和循环体,再以“求1 + 2 + 3 + ··· + 100的和”为例,重点分析使用“while”、“do-while”和“for”语句实现求1~100的和的程序及执行流程,然后通过学生上机编程完成求“n!”来初步验证学生是否掌握循环结构的使用方法和应用能力,最后发布任务完成“求经过多少次折叠,A4纸的厚度能达到珠穆朗姆峰的高度”等练习来考核学生的知识掌握程度。通过课堂编程实践,学生基本能按照教师讲授的方法来实现程序的编写、调试和运行,但解题思路较单一,没有经过自主思考,没用新思路来解决问题。此外,因个人经验不足,未在平台发布课堂任务,未能将学生线下课堂编写的代码和运行结果及时保存到平台。
4.3. 课后线上学习
每讲完一个知识点后,教师通过超星网络平台发布课后作业,作业的题目应有基本概念题、基础编程题和编程实战应用题,需掌握基本概念、基础语法和基本的编程实践,以促使学生复习巩固,加深知识的理解,提高单元知识的编程应用能力[7]。在学习完分支结构、循环结构、数组和函数等知识后,在网络平台发布一次期中测验,学生从学生成绩管理系统等4个项目型题目中随机抽取1题作答,以检测学生的阶段性学习成果,如图5所示。该阶段性测验中,大部分学生都能写出主函数、菜单显示、录入成绩、查询成绩、统计总分和平均分、统计各分数段人数等模块的函数体,但是多数学生无法完全实现函数间数据的传递和同步更新,如无法实现每次运行程序时,初始化人数都为0,每录入1个学生成绩人数应同步+1,此后不管是查询还是统计分析,都应基于已录入成绩和对应的人数。此次测验体现出学生基本具备了利用函数、数组、指针等编程解决具体问题的能力,但是在系统性、设计性方面的能力不足,专业编程技术、实践能力、创新能力不足,仍需加强训练。
Figure 5. Project-based phased testing
图5. 项目化阶段性测验
5. 教学评价
教学评价的主要目的是有效评估学生的学习成果,并针对性地调整教学方法和内容。为有效评估学生的学习成果,本课程采用多元化的考核评价方式,主要有教学视频学习进度(5%)、课前测验(5%)、课堂表现(10%)、单元测试(10%)、阶段性测试(5%)、期中测验(5%)、期末考核(60%)等。课程考核内容应涵盖课程所有的知识点,难度应分简、中、难等层级,并合理设置难点比例,加入部分需要学生运用计算思维解决问题的题目,提高程序分析及设计题目的分值,从而评估学生的计算思维和编程实践的水平。
6. 教学改革实施结果
教学过程结束后,通过分析超星网络平台记录的学习数据和期末考核分数,按照百色学院期末考核办法,计算未实施和实施教学改革学生的综合考核得分如图6所示。实践结果表明,实施教学改革后,学生综合考核分数具有一定程度的提升,但在实施过程中,学生的积极主动性调动不足,未能按时完成教师发布的学习任务,课前任务无法起到理想效果;在线下课堂编程实践中,多数学生也是按照教师讲授的方式方法编程,没有深入思考知识点和进行扩展应用,体现出学生对知识的理解不够深入,编程能力和创新能力有待提升。
Figure 6. Comparison chart of students’ comprehensive scores before and after implementing teaching reform
图6. 实施教学改革前后学生综合得分对比图
7. 结论
培养计算机思维是“四新”教育的重要内容,在高校工科学生培养体系中占据着十分重要的地位。本文以百色学院计算机专业的程序设计基础课程(C语言)为例,以培养计算思维强、编程实践能力强的高素质人才为目标,开展基于SPOC的线上线下混合式教学模式实践。该教学模式提供了一个资源丰富的学习平台,能使学生灵活利用时间预先学习基础知识和完成课后训练;线下教学以解决重难点和编程实践为主,能有效提升学生的计算机思维和编程实践能力,切实提高了C语言课程的教学效果。但在教学过程中,学生学习的主动性、兴趣性和创新能力未能得到较大提高,学生训练的题目层次性和针对性不足,网络学习平台也未能得到充分利用,本人将在日后的教学继续加以改进教学方法,努力提升学生学习的积极性和主动性,从多方面培养学生的实践能力和创新能力。
项目来源
百色学院2024年度校级教改项目,项目名称:基于“四新”视角的SPOC混合式教学实践研究——以《C语言程序设计》为例。