基于对分课堂的程序设计基础教学探索与实践
2023-08-15曹俊斌高俊
曹俊斌 高俊
[摘 要] 为探索线上教学方法,提升教学效果,以程序设计基础课程线上教学为研究对象,通过学情分析、存在问题分析、适用性分析等,将对分课堂教学方法引入程序设计基础课程教学中。按照讲授、独学、讨论和对话等环节对线上教学进行设计,并选择尚未入学就进行线上学习的大一部分班级进行实践。从作业完成情况、程序设计实验完成情况、小组讨论和交流情况、期末考试成绩情况等多维角度,对教学实施情况进行评估。经与之前该课程传统教学效果对比,基于对分课堂的程序设计基础课程线上教学取得较好效果,可为其他程序类专业课的线上教学提供借鉴。
[关 键 词] 对分课堂;程序设计;教学探索
[中图分类号] G642 [文献标志码] A [文章编号] 2096-0603(2023)21-0057-04
一、引言
随着信息技术的发展,教学方法也发生着显著的变化,如何将一些优秀的教学方法从线下应用到线上,以保证教学质量和教学效果,是需要考虑的问题。此外,不同高校、不同学生群体,体现出的特征不同,需要因校而宜,因生而宜。本文研究对象为本校信息产业学院2022级学生,为尚未到校就直接进行线上学习的大一新生,在授课过程中,除教授课程知识外,还需考虑如何引导学生逐渐适应大学学习方式、保持学习兴趣,如何有效组织教学、保证教学质量,如何维护学校形象,提升学生对学校的认可度等,这些都是需要在教学过中认真探索与研究的事宜。
二、程序设计基础线上教学学情分析及存在问题分析
(一)学情分析
程序设计基础是全校所有专业都开设的通识课程,在教学中,不仅关注学生对程序设计知识的掌握,更注重学生程序设计能力的培养。对于还未入学的大一新生来说,学习本门课程具有以下特点。
1.学生学习兴趣普遍偏高,学习动力强
因有别于高中课程,大学课程内容新、领域广,大一新生普遍对此感兴趣,有较强的学习欲望。加之受网络游戏、App和其他应用软件使用情况的影响,学生对程序设计基础都比较感兴趣,想通过学习程序设计基础,逐步接触和进入神奇的IT领域,求知欲强、探索性高、学习动力足,愿意在此课程中投入更多的精力。
2.程序设计基础课程理论知识难度适中,但实践操作要求较高
不同于其他课程,程序设计基础课程的知识要点在学习时看似简单,也容易理解,但实际操作起来却不容易,学生在学习过程中往往因一些小问题得不到及时解决而卡在某处,从而影响后续知识的学习。学生只有在不断地在程序编写、调试、运行等实践操作过程中,也就是在逐渐遇到问题、分析问题、解决问题的过程中,才能深刻理解和掌握所学的知识要点。此外,教师在指导学生实践操作、解决问题的同时,也需逐步提高程序设计的难度和复杂度,让学生在实践操作中不断提升其程序设计与开发的水平,更重要的是,让学生在此过程中不断培养和锻炼编程思维。
3.师生间、学生间相互了解程度不高,教师教学压力较大
在新生未到校报到的情况下就安排学生进行线上学习,存在两个问题:一方面,学生之间、师生之间彼此未见面,只是在网络中一起交流,相比实际相处,彼此间缺乏了解和相互磨合,学生在学习方面交流较少,遇到问题时更愿意求教于教师。另一方面,由于是大一新生,教师对学生了解程度不够,学情掌握不准,加之在新生大学生活刚开始之初,需要正确引导学生,加倍维护学校形象,教学压力相比线下较大。
(二)存在问题分析
程序设计基础,一般作为高等教育中的基础课程,对于一些工科、理工专业尤为重要,可培养学生程序设计思维、编程能力,也可为学生在程序设计与开发方面的进一步发展奠定基础,是学生必须要掌握的一门基本课程。因此,学好程序设计基础课程,对于刚入学的大学生来说尤为重要。在前几周的线上教学中,发现了一些比较明显的问题,具体如下:
1.课上互动性不高,课后答疑分散
线上教学以教师讲授为主,单向信息传递为主要方式,学生反馈信息较少,与线下教学相比,线上教学学生的互动性较差,信息接受程度降低。教师在讲授完某一部分知识要点后,一般都会询问学生有何问题,但多数情况下学生是沉默不语,有的可能由于害羞,有的可能担心其他同学笑话。而在线上授课结束后,学生就可以私下通过微信、电话等方式请教,有些问题已讲解过,但学生未注意,有的是个性问题,需要指导解决,有的是共性问题,需要共同讲解。由于问题的分散提出,导致教师在课外也耗费精力较多。
2.学生有效反馈不足,教师对课堂情况掌握不够精准
线上授课,教师相当于“主播”,学生相当于“粉丝”,教师对于学生在网络端的具体情况难以知悉,部分学生虽然“在线”,但其实已“分身”,听课效果难以保证。在线上教学过程中,教师会带领学生做一些编程练习和实验,会留有一定的时间让学生进行自主练习,同时也会给学生安排线上程序设计实验,部分学生能紧跟教师的节奏,在发生问题时及时与教师进行沟通和交流,完成课堂任务,但仍有一部分学生表现平平,反馈较少,教师无法了解其实际听课情况。在随堂学习、程序练習、作业完成、程序设计实验等过程中,学生主动请教和咨询的比例较少,反馈也不够及时。由于网络的便利性,部分学生在完成作业、程序设计实验等过程中存在抄袭现象,教师难以监管,并且难以根据其所提交的作业和程序设计成果来准确判断其对知识要点的真实掌握情况。此外,在线上授课过程中,教师难以通过传统的眼神交流、表情观察、课堂巡查等手段,了解学生知识要点掌握情况,难以根据实际情况来调整授课内容及难易程度。
三、解决对策及对分课程适用性分析
(一)解决对策
1.选择合适的网络教学平台和教学工具
目前线上教学的平台有腾讯会议、钉钉、学习通等,其各有优势,总的来说,选择学习平台时,应尽可能选择大家所熟知的、使用效果良好的,能在电脑、手机、IPAD等终端上使用的、便于操作的平台进行线上授课。此外,需要使用一些其他软件做辅助,如雨课堂、微助教、微信、QQ等,便于课件上传、作业布置、课堂点名、交流互动。学校里教师所使用的平台和软件尽量统一或集中于少数几款,建议在学校层面,将使用的教学平台和教学工具进行统一,并通过付费等方式将平台中的一些功能进行升级,便于全校师生使用。此外,这些平台应保留线上教学过程信息,一方面便于学生复习和回看,另一方面也可提供教学考核过程和印证资料。
2.采取合适的教学方法,提升课堂互动性
程序设计基础,关键在于实践操作,而课堂互动性非常重要,只有在互动交流讨论过程中,学生才能理解和掌握知识要点,因此,在选择教学方法和设计教学内容时,一方面要考虑增加学生互动和反馈的比重,让学生从单纯的“听讲”转变为“听讲—实践—思考—提问—吸收”,在授课过程中,采取引导、规范、提问、分享、交流等方式,努力营造出活跃的互动氛围。另一方面,要增加实践操作比例,通过线上观看、随堂练习、线上测试等方式,带领学生由浅入深,由易入难。
3.加强检测手段,增强学生反馈
学生对知识要点的掌握程度、学习效果的好坏,只有在其有效反馈的情况下才能准确掌握,需要有评估和考核方法。在程序設计基础课程中,教师不只需要学生提交作业,而且需要反馈程序练习结果、上机操作结果,通过对作业和程序设计实验完成效果的检测,判断学生对所学知识点的掌握程度,以此安排后续授课进度和课程难易程度。此外,为保证学生反馈的真实性和有效性,应该选取和设置一定规模的程序设计习题库和实践操作练习题库,将实际校企合作项目、大学生程序设计竞赛、计算机等级考试等内容融入程序设计基础教学中,以增加课程知识点的挑战性和实用性,学生在进行作业练习和程序实验时,随机出题,可以相互讨论、交流,但不允许相互抄袭。
(二)对分课堂情况适用性分析
对分课堂在许多课程和场合中已经得到了应用,且取得了不错的效果,主要流程分为讲授、独学、讨论、对话四个环节。而程序设计基础课程在授课中采用对分课堂教学方法,能与课程的内容与特点有较高程度的吻合。
1.理论讲解与“讲授”环节对应
程序设计基础课程的理论相对简单,不需要花费大量的时间进行讲解,只需要将每章节的知识要点进行总结和凝练,并设计成授课内容,占用较少的授课时间,其与对分课堂中的“讲授”环节相适应,即教师先讲,充分而不过分地引导。
2.上机操作与“独学”环节对应
程序设计基础课程知识要点的掌握,关键在于学生自己的实践操作和学习体会,在实践操作过程中“遇到问题分析问题,解决问题”,学生只有经过独立思考、个人理解、内化吸收等,才能加深对知识要点的理解和掌握。这与对分课堂中的“独学”环节要求一致,即独立思考,个人理解,形成成果。
3.请教解惑与“讨论”环节对应
学生在知识要点学习及实践操作练习过程中,遇到的问题大同小异,在学习过程中,有时某位学生遇到的问题,也是其他同学所遇到的或是已经解决的,通过学生之间相互交流,不仅能增加学生对知识要点的理解,而且也能促进学生之间相互学习和了解,锻炼学生的沟通与交流能力,加深学生对所讨论知识的掌握。此外,讨论可以培养锻炼学生的组织能力和表达理解能力,教师可以通过观察学生的讨论,发现一批优秀拔尖学生,为后续组织参加全国性程序设计大赛、校企合作项目、科研纵向项目等储备人才,而对分课堂中的“讨论”能很好地应用其中。
4.集中交流与“对话”环节对应
对于小组讨论中出现的一些共性难题,教师可以集中讲解,促进学生整个听课群体的理解和掌握。此外,集中交流时,教师可以结合授课内容,将一些课外知识进行延伸和扩展,有利于激发学生的兴趣,培养学生的自学能力,同时,通过抽象与凝练,结合实际,将一些思政元素融入,有助于提升对学生的思政教育。而对分课堂的“讨论”环节,可以把教师的精力空闲出来,使教师可以凝练一些更高层次问题,在“对话”环节进行讲解,即教师答疑,解决高层次问题。
四、线上教学的设计
(一)腾讯会议+微助教+CodeBlocks
在线上教学过程中,选择使用范围较为广泛的、软件稳定性的腾讯会议作为授课软件,同时,选择钉钉软件作为备用平台。与此同时,选择微助教软件作为课堂管理辅助软件,此软件可以使用微信直接登录和加入课堂,不会给学生造成额外负担,并且授课过程中,可以结合腾讯会议,进行布置作业、课堂提问、现场签到、分享课件等操作。此外,在进行程序设计基础练习时,选用Codeblocks软件,该软件功能强大,相比于其他软件,界面友好、操作简单,而且占用存储空间较少,适合学生程序实践操作。
(二)线上对分设计
在对分设计时,按照“讲授、独学、讨论、对话”等环节对教学内容进行组织和设计。
1.讲授环节设计
程序设计基础课程在授课中使用的编程语言为C语言,该语言语法规则简单,便于学生学习。在讲授过程中,根据教学大纲将每一章节的知识要点进行凝练,形成讲授内容,并根据学生情况和授课进度进行认真设计。一般在2个学时的每节课中,每个知识要点讲解10分钟左右,每次安排2~3个知识点,每个知识要点都要将语法规则、易错地方、注意事项等内容讲授清楚。在讲授完成后,就安排学生进入“独学”环节。
2.独学环节设计
与线下教学不同,教师在线上安排独学时难以对学生独学的效果进行观察和有效监督,因此,在线上时,可以通过设计编程问题来引导学生进行独学,将讲授环节中的知识点或者容易出错的地方设计成编程题目,要求学生在规定的时间内完成,并提交相应成果。在此过程中,每个独学练习20分钟左右。学生在独学完成给定题目时,通过算法思考和编程实现来对所学知识点进行思考、内化和吸收。对于独学过程中发现的问题,引导学生先尝试通过查资料等方式自己解决,确实无法解决的,带入讨论环节进行小组内交流和讨论。
3.讨论环节设计
由于是新生,学生在程序设计遇到问题时更多的时候愿意向教师请教,而不愿意与同学讨论。在讨论环节,教师以班级或者更小的单元为单位建立分组,倡导学生对于独学(程序设计或练习)过程中遇到的问题在小组内进行讨论,并且鼓励其他小组成员进行回答,通过引导、加分、提问等手段,逐步营造出积极轻松的小组讨论氛围。在小组讨论的过程中,教师一般不做指导,更多是促进学生之间的探讨和交流,在此过程中,教师需要引导学生“当堂问题当堂提出,当堂解决”。这样做,一方面,有利于约束和规范学生,促进学生之间相互讨论,使之加深印象;另一方面,也可使教师统一简答问题,节省教师精力。每次讨论一般安排15分钟左右。
4.对话环节设计
教师作为成员,利用腾讯会议或者是授课微信群,对于分组讨论中的共性问题重点进行解答,同时,可以对于所学的知识点进行延伸或将一些思政元素融入。在对话过程中,教师可以进行当堂编程演示,学生通过观摩和对比,进一步发现问题的原因所在及提出解决措施,加深对知识要点的理解,而且学生在解决问题的过程中能不断激发其成就感,使其继续保持对程序设计基础学习的兴趣;教师可以指定小组讨论过程中表现良好的学生进行讲解和演示,增加学生相互学习的动力;教师可以提问每个组内学生,检查其学习和掌握情况,督促其他学生认真听课和参加讨论。对话环节作为课程的总结和深化部分,每次安排15分钟左右。
當然,对分课堂在实施过程中可以不拘泥于当堂对分,根据课程内容进行灵活调整,采用隔堂对分方式也可进行,内容和时间灵活掌握。
(三)实施效果分析及存在问题
1.实施效果
在实施的时候,选取本院2022级物联网工程、轨道交通信号与控制工程2个专业4个班级的学生为授课对象,进行程序设计基础课程进行对分课堂线上授课,每周6学时,共10周,每2学时完成一次对分教学。在验证对分课堂线上教学实施效果时,选取本学院2021年同期学习程序设计基础的学生作为比较对象,原因有两方面:一是授课知识点内容和学生基础条件基本相同。参与比较的学生,在学习程序设计基础这门课时,均是本学院信息类大一学生,条件相似,基础相同;二是授课教师相同,授课内容大致相同,不同之处为使用的授课方法不同:2021级采用传统的线下讲授法,而2022级采用的是对分课堂线上教学法。
在选取对比指标时,主要从作业完成情况、程序设计实验完成情况、小组讨论和交流情况、期末考试成绩情况等角度进行。在作业完成情况方面,学生普遍完成较好,96%的学生能根据给定题目在规定的时间内提交正确答案。在程序设计实验完成情况方面,学生按时完成率为91%,实验的准确率为87%,程序设计质量普遍较高。在期末考试成绩方面,学生平均成绩为76.96分,及格率为97%。这些指标,与2021级同期线下授课的指标相当,甚至略好。如果考虑线上教学客观存在的不利影响,通过实施对分课堂教学,教学效果相对于传统线下授课,有较为明显的提高。
2.存在问题及后续改进
在线上实施对分课堂时也暴露出一些问题,需要持续改进:
一是线上学生的讨论氛围还不够浓厚。虽然在教师的引导下,小组讨论和对话也较积极,相比线下授课,学生的讨论氛围还是不够浓厚,需要采取有效措施进行引导,逐步营造和形成活跃、热烈的氛围。
二是线上教学资源不够充足。在独学环节,安排学生线上程序设计实验时,实验的种类和数量相对较少,偶尔学生会相互抄袭,致使教师对学生“独学”的真实掌握情况把握不准。此外,由于所设计题目区分度不高,致使部分学生“不够吃”,部分学生“吃不饱”。因此,在后续中可以尝试使用“头歌实践教育”等其他业务优秀的程序设计类线上教学平台,将其中丰富的资源库引入教学中,引导学生在此类平台上进行实践操作,练习和实验题目可以有效降低重复率、提升难易区分度。此外,继续将大学生程序设计竞赛、计算机等级考试、校企合作项目等内容融入程序设计基础教学中,丰富教学资源。
三是探索进行线上线下融合对分教学。将线上教学中形成的成熟案例和内容引入线下教学中,结合“讲授—独学—讨论—对话”等环节,进行设计和实施。此外,充分发挥线上优势,将一些优质线上课程资源进行挖掘与整合,形成资源库,供不同类型、不同个性的学生学习,在满足大众教育的同时,兼顾个性的发展。
五、结束语
本文在研究时,是在特殊时期采取线上教学时,在教学中将对分课堂中的“讲授—独学—讨论—对话”等相关理论应用到其中,针对程序设计基础课程进行设计和教学,取得较好效果,但同时暴露出一些问题,也明确了后期改进和努力的方向,可为后续其他课程的授课提供借鉴和参考。
参考文献:
[1]耿煜.基于对分课堂+PTA的线上线下混合教学探索:以“程序设计基础C语言”课程为例[J].襄阳职业技术学院学报,2022,21(5):56-59.
[2]刘晓芳.基于对分课堂的《C语言程序设计》教学研究[J].信息系统工程,2020(11):131-132.
[3]代政文.基于对分易平台的对分课堂教学模式在中职《C程序设计》中的应用研究[D].贵阳:贵州师范大学,2020.
[4]郭园园,季明辉,陈美娟.雨课堂+对分课堂在生物化学线上教学中的应用[J].中国中医药现代远程教育,2022,20(1):171-173.
[5]徐英,谷雨.对分课堂在提升《C++程序设计》课程教学效果的实践与思考[J].教育教学论坛,2017(1):213-214.
[6]赵海冰,邢翠芳,吕洁.对分课堂在《大学计算机基础》课程教学中的探索和实践[J].计算机工程与科学,2019,41(S1):193-195.
[7]张学新.对分课堂:大学课堂教学改革的新探索[J].复旦教育论坛,2014,12(5):5-10.
◎编辑 王亚青
①基金项目:2021年度山西省高等学校教学改革创新项目“‘学生主体化《数据结构》课程的对分教学方法实践”(J2021917);2022年度山西省高等学校科技创新计划项目“政校合作下的不动产登记数据交换关键技术研究”(2022L615);受山西工学院科研启动经费项目(200102)资助。
作者简介:曹俊斌(1984—),男,汉族,山西朔州人,管理学博士,高级工程师,研究方向:信息系统、数据安全。
高俊(1985—),男,汉族,山西朔州人,工学硕士,助教,研究方向:大数据、数据结构。