APP下载

基于BOPPPS教学模型的程序设计课程线上教学实践

2022-07-14许智宏马建红董永峰

软件导刊 2022年7期
关键词:面向对象程序设计教学资源

许智宏,吕 华,马建红,董永峰

(河北工业大学人工智能与数据科学学院,天津 300401)

0 引言

面向对象程序设计是计算机类专业开设的一门专业核心课程,要求学生既要掌握面向对象程序设计的基本概念、特性、理论等,又能结合具体编程语言和环境进行程序设计。虽然传统教学模式具有知识传达有效性、高效性、课程评估统一性等优势,然而对于程序设计课程的教学而言,仍具有一定的局限性。究其原因,传统教学受课堂教学形式和学时限制,存在理论教学与实践环节相脱节、教学内容难以深入和扩展、学生课堂参与度不高等问题,难以提高学生解决复杂工程问题的能力。

BOPPPS 教学模型是北美国家诸多名校所推崇的教学模型,强调以学生为中心的教学理念,对课堂教学过程进行模块化分解,将课堂教学环节依次分为导言、明确学习目标、前测、参与式学习、后测、总结6 个阶段,但主要应用于线下课堂教学。王晓岩等明确指出,线上教学为课程注入了新经验、新资源和新工具,制定了“小规模限制性在线课程(Small Private Online Course,SPOC)+腾讯会议+雨课堂”三位一体的线上教学模式。在河北工业大学人工智能与数据科学学院2019 至2020 学年面向对象程序设计课程中,结合疫情期间无法实施线下课堂教学的实际情况,对BOPPPS 教学模型的具体教学环节进行调整,设计各个教学环节,进行基于BOPPPS 教学模型的线上教学探索。

1 基于BOPPPS理念的线上教学设计

随着我国推进国际工程教育认证、开展新工科建设等一系列举措,促使教育界不断探索新的教学模式,具体落实到具体专业课程教学上,则需要基于目标导向(Outcome based education,OBE)设计以学生为主体、教师为主导的教学模式。本文针对计算机专业面向对象程序设计课程,基于OBE 制定课程教学目标,分析教学内容和资源;基于BOPPPS 设计教学过程组织方法、选择线上线下混合式教学平台等工作。

1.1 基于OBE理念制定课程教学目标

依据工程教育认证以学生为中心的OBE 制定课程目标,使学生适应工程教育要求,在技术性能力、非技术性能力和素养方面打下良好基础。具体教学目标如下:

(1)使学生掌握面向对象程序的基本概念和思想,了解中封装性、继承性和多态性的意义和实现方法,利用面向对象程序设计的思想对实际工程问题建立模型。

(2)使学生掌握C++语言面向对象程序的设计方法,结合实际应用开发平台对实际工程问题给出解决方案。

其中,前者重点培养学生的计算思维能力,后者则重点培养学生的系统思维及解决复杂工程问题的能力。

1.2 基于学情分析建设教学内容和资源

面向对象程序设计是包括计算机科学与技术、软件工程、网络工程、物联网工程等计算机类专业学生一年级第二学期的课程。此时,学生已具有C 语言程序设计基础,初步掌握了结构化程序设计思想。

因此,课程教学内容将以面向对象程序设计三大特性为重点,覆盖主要知识架构,基于C++语言进行设计实践,突出面向对象程序设计与结构化程序设计的联系、区别、特性及优势。具体的教学内容包括以下6个模块:

①面向对象程序设计概述。分析面向对象程序设计与结构化程序设计方法的关联与区别,了解C++对C 语言的共同点与改进之处。②封装性。通过案例分析如何从现实世界中发现和提取类与对象。③继承性。通过案例分析面向对象程序设计的复用机制。④多态性。通过案例分析如何优化面向对象程序设计。⑤异常处理。⑥C++流。

为解决大型开放式网络课程(Massive Open Online Courses,MOOC)无法对高校学生实施个性化教学的现状。河北工业大学人工智能与数据科学学院教学团队通过自制教学资源,根据教学方案制定学习指导书,设计课件、习题集、演示案例,并将内容、知识点录制为视频。同时,将课程直播演示制作为微视频进行发布,供学生随时观看进行学习。除教学方案外,还将学习指导书、课件、习题集、知识点讲解视频、案例演示视频等学习资源进行整合,为学生提供丰富的课外学习资源。

1.3 设计教学过程组织方法

基于BOPPPS 教学模型对疫情期间线上教学过程组织方法进行设计,具体包括4 个阶段:①将导言和明确学习目标进行合作为课前阶段,制定学习指导书,明确学习目标,督促学生作好课前准备;②上课时首先进行前测,了解学生对前序知识的掌握情况,必要时先进行讨论、讲解,再导入新的教学内容;③教学过程中进行重、难点精讲并随时进行提问和讨论,通过案例分析、师问生答、学生典型问题你问我答等形式模拟线下课堂参与式教学,必要时进行后测和总结,深化学生的理解,并适当增加课后学习拓展内容;④课后督促学生完成基础知识作业、程序设计作业及实验,以进一步固化、拓展所学知识,强化程序设计能力。线上BOPPPS 教学模型示意图如图1所示。

Fig.1 Curriculum design teaching system图1 课程设计教学体系

1.4 选择线上线下混合式教学平台

教学工具、环境设施等教学资源需求取决于教学材料。由于在疫情期间,线上教学中需要进行线上直播、现场讨论、发布教学资源、布置和评判作业、布置和检查程序设计实验等一系列工作,当大量课程集中在线教学平台上进行教学时,会造成平台拥堵甚至瘫痪。为此,本文经过多次测试,选择结合两种平台进行使用,以确保授课过程中的稳定性。具体措施如下:

(1)组建课程学习专用QQ 群进行教学文档、知识点视频等教学资源的发布并组建线上讨论平台,同时使用QQ群分享屏幕功能进行课程直播。

(2)使用程序设计类实验教学辅助平台PTA 布置和评判作业与程序设计实验。

2 基于改进BOPPPS的线上教学实施

将教学实施分为教学准备、课前测试、线上课堂教学和学习成果巩固与拓展4个阶段。

2.1 教学准备阶段

教师主要进行教学方案设计、课件制作、课程视频录制、直播脚本书写及演练、课前测试题设计、案例演示程序设计与调试、实验题目设计、作业题目集设计等工作,最后将组织好的教学目标、教学内容、教学资料、课堂参与要求、课后作业要求等编制为《学习指导书》。其中,《学习指导书》的主要作用是导言和明确学习目标。并将课件、课程视频、《学习指导书》等课程资源发布至学习群;课前测试题集、实验题目集、作业题目集发布至PTA 平台。

2.2 课前测试阶段

为检测学生对教学内容基础知识的掌握情况,通过单选题回顾前驱概念、分析程序运行结果等方式帮助学生回顾前序相关教学内容。该方法具有以下优点:①通过问题讨论与解答,利用少量时间导入新的教学内容;②便于教师及时了解学生对知识的掌握情况,对于一些共性、掌握不好的知识点可进行针对性强化;③辅助学习过程评价,利用PTA 平台自动评判和记录学生实践成绩,作为平时成绩评判依据。其中,课前测试辅助主要记录学生的考勤情况;通过PTA 平台分析学生参与测试的时间,发现迟到或旷课的学生。

2.3 参与式线上教学

相较于传统线下教学,线上课堂可留出更多时间供学生进行课间讨论。其中,讨论环节的包括重点概念辨析、程序运行结果分析、程序设计方案对比、案例分析讨论等内容,具体讨论形式包括师问生答、学生你问我答、学生自问自答等,通过模拟线下课堂参与式教学,实现线上翻转课堂。

参与式线上教学的成败关键在于讨论范围和效果。由于学生间的能力参差不齐,若设计的讨论题目过于简单,能力较强的同学就会缺乏收获感;反之,能力稍差的同学课堂参与度较差。因此,本文在提升学生收获感、参与感方面重点开展了以下两方面工作:

(1)选取、设计适当的程序设计案例进行讨论。预先准备多个设计、实现版本的讨论案例。具体的,第1 版方案要保证程序结果正确;第2 版方案要确保程序设计合理;第3 版方案要使得程序风格良好;第4 版方案要考虑系统化需求(包括用户友好性支持、程序架构利于团队合作、便于扩展等)。在案例讨论中,能力稍差的同学先尝试完成第1 版方案,争取做到第2 版或第3 版方案;能力较强的同学可轻松完成第1、2 版方案,但未必会注意到第3 版方案中的细节问题;还存在极少数学生能够完成第4 版方案,接近规范软件甚至系统开发要求。如此,能够使不同能力层次学生都能在案例分析中有所收获,全面提升了学生的收获感与参与感。

(2)对积极参与讨论的学生给与适当奖励,以鼓励学生讨论。对主动发问并引发有效讨论、主动解答问题并提供有效答案、解决自身问题并总结出对其它学生有所帮助、教师抽查提问回答正确的学生,在平时成绩上给予一定的加分,并定期公布奖励名单。此外,建立线上实验互助讨论小组,选拔实验完成早、实验效果好、编程能力强的学生组成志愿助教组指导实验有困难的学生,并给予一定的加分。

2.4 学习成果巩固与拓展

通过设计、选择基础知识题目,发现线上教学中的知识点漏洞及学生掌握不扎实的知识点,并布置程序设计练习验证所学知识。例如,设计综合性实验题目——图书馆管理系统设计与实现,结合教学进度引导学生逐步完成和优化设计方案。由于教学课时限制,可能无法完全展开讲解课程的全部相关内容,例如STL、可视化界面程序设计等。教师可制作拓展教学资源、思考题目、练习,供学有余力的学生进行学习,加强学生的自主学习意识。

3 实践教学效果

3.1 客观评价与分析

对河北工业大学人工智能与数据科学学院2019-2020年春季学期的多个班进行随机抽样,对学习过程讨论参与人均次数、经常参与讨论人数百分比、作业按时完成度、作业平均成绩、实验按时完成度、实验成果平均成绩等进行统计,具体数据如表1所示。

Table 1 Analysis of students'learning situation in the spring semester of 2019 and 2020表1 2019-2020年春季学期学生学习情况分析

由表1 可知,2020 年网上教学学生参与积极性普遍高于2019 年;经常讨论人数百分比显著提高;作业按时完成度、作业平均成绩、实验按时完成度、实验成果平均成绩均明显优于2019 年。4 个抽样班在讨论参与、作业完成情况和实验完成情况上存在一定的差异性,但总体情况较为均衡。

3.2 主观评价与分析

为了解学生主观体验,本文设计了问卷调查学生对教学内容、方法、资源、平台、实验平台、参与环节、案例选择、测验题目难度、程序设计作业、实验难度等方面的感受,现有130位同学填写了问卷,总体调查结果如表2所示。

由表2可知,课程的项目满意度超过了80%,仅有教学方法、教学资源、参与教学环节三项分别存在1.54%、1.54%、1.54%的学生尚不满意。通过问卷调查统计看出,学生对现阶段教学设计和教学实施的满意度较高。

Table 2 Statistical table of teaching satisfaction survey in spring semester of 2020表2 2020年春季学期教学满意度调查统计 (%)

4 常态化线上教学实施思路

虽然本文提出的教学模式对面向对象程序设计课程的教学效果较好,但毕竟是特殊时期作用下的结果,仍需要认真总结,争取将经验推广到常态化课堂教学中,充分发挥教学模式的优势。

4.1 以学生为主体、教师为主导教学

BOPPPS 作为诸多名校所推崇的教学模型,有其固然优点,若在实施过程中结合课程和学生特点灵活运用,能够显著提高教学质量。

在河北工业大学人工智能与数据科学学院2020 春季学期的多次课堂教学实践中发现,在BOPPPS 模型的课程导入、明确学习目标、前测、参与式学习、后测、总结的6 个阶段当中,前测、后测和参与式教学过程均需要以学生为主体,课程导入适合与前测相结合,课程总结也可与后测过程相结合,引导学生通过分析测试题目达到自然导入和总结课程的目的。为体现教师的主导作用,课程的学习目标必须由教师完成。

4.2 线上线下混合式教学

BOPPPS 模型中的前测、后测及部分参与式学习过程,都需要应用在线教学平台,统计学生参与情况,但现阶段通过线下教学方式明确学习目标、课程总结及大部分参与式学习过程的效果更好,因此需要进行精心设计,将两种教学方式完美结合。

其次,充分利用线上教学资源,可有效深化和拓展教学内容,克服线下教学的课时限制,提升教学效果。再者,通过实践发现线上程序设计测试平台能够快速检测学生程序设计结果,有利于锻炼学生基础程序设计、调试、排错能力,但在面对设计、创新、接近于实际项目的复杂工程类问题时,则更适合线下进行指导。因此,基于BOPPPS 模式进行线上线下混合式教学将是今后的教学趋势。

5 结语

在河北工业大学人工智能与数据科学学院2020 春季学期中,基于BOPPPS 教学模型开展面向对象程序设计线上教学取得了较好的教学效果。学生普遍反映相较于传统课堂教学,线上教学的参与度更高,提供的教学资源更丰富,自主学习能力等方面提升显著。接下来,将线上教学常态化,形成与线下教学的有效互补将是未来的努力方向。

猜你喜欢

面向对象程序设计教学资源
基于Visual Studio Code的C语言程序设计实践教学探索
从细节入手,谈PLC程序设计技巧
面向对象的计算机网络设计软件系统的开发
面向对象的数据交换协议研究与应用
高职高专院校C语言程序设计教学改革探索
初中语文数字化教学资源应用探索
面向对象Web开发编程语言的的评估方法
PLC梯形图程序设计技巧及应用
初探教学资源开发的系统思维
临床实验教学中教学资源的整合优化与应用