程序设计类课程综合改革的实践与探索

2021-06-07 07:49方洁
现代信息科技 2021年24期
关键词:线上程序设计线下

摘  要:针对程序设计类课程存在的重理论轻实践、重知识传授轻主动学习、考核机制单一等问题,以“C++程序设计”为例,提出基于“线上+线下”“主讲+外聘”的综合改革方案。“线上+线下”教学模式将教学内容分解,有效利用网络资源,让学生的学习变被动为主动;“主讲+外聘”教学模式能有效利用企业资源优势,以企业需求为导向,促进学生后期的持续学习。同时,建立过程化考核评价体系,大大提升了课程教学质量。

关键词:线上+线下;主讲+外聘;程序设计;课程改革

中图分类号:TP39;G642        文献标识码:A文章编号:2096-4706(2021)24-0177-05

Abstract: In view of the problems existing in programming courses, such as emphasizing theory over practice, emphasizing knowledge transfer over active learning, and single assessment mechanism, taking “C++ Programming” as an example, this paper puts forward a comprehensive reform scheme based on “Online and offline” and “speaker and external lecturer”. The “Online and offline” teaching mode decomposes the teaching content, makes effective use of network resources, and changes students learning from passive to active; the teaching mode of “speaker and external lecturer” can make effective use of the advantages of enterprise resources, take the needs of enterprises as the guidance and promote students continuous learning in the later stage. At the same time, the establishment of process assessment and evaluation system has greatly improved the teaching quality of the course.

Keywords: online and offline; speaker and external lecturer; programming; course reform

0  引  言

2018年6月,教育部在新时代全国高等学校本科教育工作会议上首次提出“金课”这一概念。在金课建设中,要求强化现代信息技术与教育教学的深度融合,解决好教与学模式创新的问题,杜绝信息技术应用的简单化、形式化[1]。同时,开放性课程逐渐发展起来,SPOC小班教学模式更是在国内外各大高校逐步尝试并推行。课程作为以学生发展为中心理念的“最后一公里”落地工作,如何有效推进教学模式改革是一线教师需要不断思考的问题。

程序设计类课程具有入门难、重实践的特点,而传统“满堂灌”的课堂教学偏移了课程“以学生为中心”的教育理念。本文针对程序设计类课程存在的问题,结合“线上+线下”“主讲+外聘”的改革模式,从教学内容、教学方法、课程实施、考核评价等方面讨论改革措施的实施,达到提升人才培养质量和水平的目的。

1  程序设计类课程现状分析

程序设计类课程是计算机及相关专业的基础核心课程,重在培养学生利用计算思维解决问题的能力。以往的程序设计类课程教学多拘泥于程序语言本身,缺少对学生科学思维能力的训练;课程的实践教学多以纠错性实验和验证性实验为主,缺乏综合性和设计性内容,实践教学还停留在浅层次教学,不利于培养学生利用综合知识解决复杂问题的能力[2]。主要存在以下问题:

(1)以理论教学为主,学生实践能力弱。教师理论讲得比较深、比较透,而对学生的实践指导、课后辅导以及与学生交流的投入却有限,实践操作中教师不能及时指导和纠正学生所存在的问题和所犯的错误[3]。

(2)学生学习动力不足,学习效果不佳。传统教学过程“以教师为中心”,注重教师的知识传授,轻忽学生的主动学习。此外,低年级学生对专业学习的方向、所学知识的运用以及企业单位的用人需求存在很多困惑,这些都会影响学习的效果。

(3)考核機制单一,不能全面评价学生。大多数高校程序设计类课程的考核成绩由考试成绩和平时成绩构成,只能单一片面地从考试和考勤等方面考核学生,不能全面跟踪式地评价学生的学习效果,无法合理评价学生的综合能力。

2  课程综合教学改革方案设计

为有效改进课程的教学质量,针对程序设计类课程的特点和存在的问题,提出“线上+线下”“主讲+外聘”的混合式课程综合改革方案。下面以本校“程序设计语言II(C++)”课程为例,讲述教学改革的具体实施方式。

2.1  “线上+线下”教学模式

采用线上线下混合式教学,学生能够充分利用课前碎片化学习时间灵活地学习,缩减学生之间的差距并激发学习动力,提高学习效果。线上线下混合式教学对应的教学设计,应注重线上线下的相互配合和相互支撑,如果二者相互脱离或存在大量重复内容,学生会产生排斥心理,不会认真参与,教学效果不理想[4]。

2.1.1  线上线下教学过程设计

进行教学资源整合,建设线上个性化学习平台。教学过程中,围绕基本的知识点和技能点组织教学内容,充分利用如图1所示的线上教学平台,开展“课前预习—课中精讲—课后复习”的教学过程:

(1)课前预习。课前教师将教学资源(包括课件、视频、预习任务单、知识测验等)上传至线上教学平台。要求学生通过反复阅读教材、观看教学视频完成任务单和基本知识点的测试。预习视频选用的是平台中适合本校学生学情的教学视频,对于重难点部分,由授课老师单独录制短视频进行讲解,如图2所示。

预习任务单内容具体,目标明确,包括本次课程的教学内容、教学目标、教学重难点和预习要求,让学生对本次课程有一个整体的了解,图3为“构造函数和析构函数”这一节内容的预习任务单。同时,针对本次课程的重难点提出了思考问题和任务要求。思考问题部分主要考察学生对于本次课程所涉及知识点的理解情况;任务要求部分围绕重难点提出若干个任务,层层递进,环环相扣,把知识点转化为实际问题。通过任务单的反馈,教师能够全面了解学生预习过程中出现的问题,而学生也能够带着问题继续线下学习。

(2)课中精讲。在课中的线下教学环节中,改进传统课堂教学模式,课程按照知识点精讲、学生任务分享和答疑解惑这三个步骤进行,让学生带着问题听讲,教师对重难点进行详细讲解和补充,做到因材施教。精讲分为以下三个步骤:

1)知识点精讲。通过任务单和教学平台的反馈,教师及时、有效地调整教学内容,确定精讲内容,做到教学内容重难点分明。

2)学生任务分享。围绕学生预习任务单中“任务要求”部分的完成情况,挑选2名学生进行任务分享,引导其他学生对这两名学生的任务完成情况进行评价,分析任务方案的优缺点,归纳总结知识点。

3)答疑解惑。课程结束前留出10分钟时间,教师围绕学生任务单中存在的困惑进行答疑,针对学生们的共性问题,做出统一讲解。

(3)课后复习。课后,学生对本次课程的学习内容进行知识点梳理,线上完成作业和单元测验。在单元测验中,不仅提供围绕本章知识点的基础题,还加入面试题和竞赛题对学生进行拓展提升,一方面检查学生本章节学习效果,另一方面为学科竞赛储备力量。课后单元测试如图4所示。

线上学习不受场地和时间的限制,可以随时随地通过学习平台进行查漏补缺。此外,单元测验能够实时获得评判结果,避免人工评判的滞后问题,同时学生还可以反复修改答错的题目,直至正确通过为止。测验题采用由易入难、由简至繁、由单一知识点到全面综合设计,循序渐进地提高學生的程序设计能力。

2.1.2  项目驱动式翻转课堂教学设计

除了利用线上教学平台改进基础知识的教学,课程还采用项目驱动式翻转课堂模式,实行线下设计、线上展示,提高学生的综合设计能力。课程设置了三次贴近实际应用的项目大作业,内容涵盖类和对象、继承与派生、多态与虚函数,教学形式由“单一的课堂教学”转变为“多形式的互动交流”。项目要求学生全程参与,按照项目分组、项目确认、项目实施和线上展示的步骤有序开展:

(1)项目分组。采取自由组合的形式,由5~6人组成一个小组,设组长一名,并由老师根据线上教学反馈进行略微调整。

(2)项目确认。围绕每个项目要求掌握的内容和知识点,给定2~3个项目供学生选择,小组成员协商,确定本组要完成的项目。

(3)项目实施。小组成员确定好任务分工,协作配合,完成概要设计、详细设计和具体程序的编写并制作PPT,PPT内容涵盖小组分工、程序所涉知识点、具体的设计方法和步骤,以及程序优缺点等。

(4)线上展示。老师根据学生提交的程序和PPT完成情况进行初步评分,给出指导意见,小组成员再通过腾讯会议共享屏幕进行项目展示。从PPT演讲到项目演示,小组成员分工明确,协同完成任务。图5为某小组围绕“类和对象”完成的项目作业展示。

通过线上翻转教学的开展,改变了传统的以教师“教”为中心的灌输式教学模式,转变为以学生为中心,将知识的传授和知识的内化教学流程进行了颠覆。检验了学生对所学知识的掌握程度,同时也对学生的语言表达能力和分工协作能力进行了很好的锻炼。

2.1.3  线上线下综合考核体系

建立以衡量综合素质为依据的过程化考核评价体系,采用“机考成绩40%+线上学习20%+线下表现20%+项目设计20%”的综合考核方式。机考采用的是如图6所示的线下局域网测试系统,系统随机抽题,编程题要求给出具体的验证结果,能够全面系统地考量学生对知识点和技能点的掌握情况。

除机考成绩外,还制定了具体的评价分析表,对学生成绩进行综合分析,如表1所示。线上学习主要包括线上课程参与度、任务单完成情况和单元测试情况反馈;线下表现主要包括课堂考勤与表现、上机实践作业完成情况;项目设计则表现为三个项目作业的提交及答辩展示情况。

2.2  “主讲+外聘”教学模式

我国的高等教育在较短的时间内从精英教育跨入大众化教育,专业要求也是从面向学科办学转向面向社会需求办学,以社会需求为准绳来确定培养目标[5]。因此,应用型高校要深化教育改革创新,不断实施开放办学才能实现学校对人才培养的准确定位。近年来,我校计算机专业在校企协同育人方面寻求更深层次的合作,获批教育部产学合作协同育人项目4项,通过各种方式探索校企协同育人培养模式的建设,尤其是在师资队伍的建设上,充分发挥校企合作平台的优势,聘请企业技术骨干到高校开展示范性教学,指导学生实践。

程序设计类课程一般开设在计算机相关专业低年级阶段,学生对专业学习的方向比较模糊,对课程的学习目标仅局限于应付考试,不能与企业需求相结合,导致学习主动性不够。因此,除了在课程教学中采取“线上+线下”的教学模式外,还聘请企业导师进行“主讲+外聘”教学模式的设计。例如,在“程序设计语言II(C++)”课程中,聘请某企业导师进行了主题为《从面向对象到人工智能——程序设计的发展历程》的学术讲座。该企业导师为IT行业有着10年以上项目开发和教学经验的项目总监,参与过多项国家级、省级项目的开发。整个讲座围绕软件项目开发过程,讲述OOP思想在项目开发中的应用,并结合人工智能和大数据开发进行技术引导,让学生对今后的学习有了更清晰的目标。

在培养方案中,本课程还设置了对应的“编程语言课程设计II”课程实训环节。在实训改革方面,国内外很多学校积极尝试将程序设计实训与具体专业背景下的工程项目相结合,以工程项目为主线推动学生自主学习与实训[6]。因此,课程实训环节邀请企业一线资深技术人员参与指导。企业工程师将实际项目带入课程实训,结合课程内容对实际项目进行简化、切割,不仅提高了学生的工程实践能力,也让学生对企业需求有了进一步的了解。

通过“主讲+聘请”的联合教学改革,企业工程师将项目经验带进课堂,让学生能够深刻体会到知识的应用价值,从而主动、积极地完成实训环节,做到学以致用。这种方式对项目内容的设计要求更高,既能综合强化学生所学知识,设计难度上又有一定程度的提高,让学生了解项目实施的流程,不断培养创新创业意识。

2.3  教学效果

以上课程综合改革已在本校20级计算机科学与技术专业全面铺开,得到了同学们的广泛好评,课程改革后本届学生的成绩相较于前几届学生有较大的提高,学生实践能力的提升幅度更大,在蓝桥杯初赛选拔中,本届学生取得了不错的成绩。

建立以衡量学生综合素质为依据的过程化考核评价体系,提高过程性评价的比例,促使学生的学习主动性和积极性不断增强,特别是项目设计环节,同学们表现优异,主要反馈情况为:

(1)准备充分并积极参与,小组分工明确,从代码到PPT,都经过反复、认真地修改,使同学们增强了团队合作意识。

(2)答辩过程学生表述清晰,知识点讲解清楚,项目演示熟练,并能对知识点进行拓展,举一反三。

(3)對自身程序的优缺点分析明确,并对程序所存在的不足提出了自己的见解和后期改进方向。

充足的学习时间、灵活的学习方式、默契的团队合作、线上线下的教学改革不但助力同学们较好地完成各项任务,而且也推动了他们编程能力和综合设计能力的提升。同时,企业导师走进课堂,让学生们切实感受到所学知识很贴近实际应用,也对今后的学习方向有了更清楚的认识。

3  结  论

程序设计类课程是计算机相关专业的重要基础课程,学生只有不断夯实基础,培养计算思维能力、程序设计能力、自主学习能力和团队合作能力,才能促进其后期专业方向课程的学习,为将来的就业做好准备。“线上+线下”教学改革通过引进或使用现有网络教学资源辅助课程教学,督导学生线上观看学习,并结合翻转课堂的教学方法培养学生的积极性,并且对于基础相对薄弱的学生给予其更多的思考和学习时间。同时,将小组合作的理念融入教学中,培养学生的团结合作精神,达到优势互补的目的,实现了教学过程中“学”对“教”的促进。通过“主讲+聘请”的形式,校企“双导师制”能让教师和学生“走出去”,感受社会对人才的新需求,掌握最新的工程技术和管理经验。

参考文献:

[1] 中华人民共和国教育部.教育部关于狠抓新时代全国高等学校本科教育工作会议精神落实的通知:教高函〔2018〕8号[A/OL].(2018-08-27).http://www.moe.gov.cn/srcsite/A08/s7056/201809/t20180903_347079.html.

[2] 卢瑾,任宏亮.OBE理念下程序设计实验教学体系改革探索 [J].计算机教育,2020(7):157-161.

[3] 雷小宇,胡斌等.基于混合模式的程序设计基础课程改革与实践 [J].中国信息技术教育,2017,17:85-88.

[4] 刘淼,王海荣,徐东燕.翻转课堂教学模式下《程序设计语言基础》单元教学设计与思考 [J].教育现代化,2019,6(40):116-118.

[5] 卢瑾,任宏亮等.以学生为中心的程序设计分层式实验教学改革 [J].计算机教育,2020(11):174-178.

[6] 郭银章,王丽芳.基于项目任务驱动的C语言程序设计课程教学改革与实践 [J].计算机教育,2017(2):41-44.

作者简介:方洁(1983—),女,汉族,安徽安庆人,副教授,硕士,研究方向:算法设计与分析、数据挖掘。

猜你喜欢
线上程序设计线下
“线上+线下”混合式体操教学的应用研究
线下疫情亏损,线上虚假繁荣,中国手机行业已“寒气逼人”
基于OBE的Java程序设计个性化教学研究
项目化教学在Python程序设计课程中的应用
C++程序设计课程教学改革研究
线上与线下混合模式下的教学改革探讨
医学专业“Python程序设计”课程教学改革总结与思考
信息技术环境下会计专业教学模式的构建
浅谈O2O对传统零售业的影响
基于SPOC的混合式英语教学模式建构