马巧梅
(宝鸡文理学院 计算机科学系,陕西 宝鸡 721016)
翻转课堂[1]是一种促进学生主动深入学习的教学模式。课前老师给学生发放课堂上的教学资料,如:视频、电子书、论坛、讲座等资料,学生提前自助预习教学内容和查阅相关教学资料。课堂上老师不再讲授基本知识点,重点讨论问题和答疑解惑,学生在讨论中学习,这样的学习方式使学生学得更加透彻,学生在学习的过程中,主要根据自身学习的情况在课堂上得到解答,同时可以进行多元化的学习,满足不同学习梯度的学生的学习需求,这种学习模式打破了传统的教学模式,将教师为主的教学转变为以学生为主体的形式,学生自主规划学习内容、时间和地点,学生带着自身的问题来上课,增强了学生主动学习的积极性,教师采用讲授法和讨论法满足学生的学习需求以达到个性化的学习[2]。
“C语言程序设计”课程是大多数计算机院校中大一新生接触的第二门专业基础课(第一门是“计算机应用基础”课程),经过实践教学证实,让学生通过该门课的学习,能否从传统的数学思维解决问题转化为用计算机来解决问题,以及能否让学生建立起整体的编程思维是相当重要的,而且对于该门课程的学习将会严重影响到后续专业课程的理论学习和实践能力的提高,因此,提高“C语言程序设计”课程的教学质量已迫在眉睫。
目前,高校工科类院校都期望提高学生的实践能力、创新能力、就业能力和创业能力[3-4]。但在实际的C语言程序设计的教学过程中,存在着以下问题。
(1)课时少,知识点较多。对于C语言课程的教学,一般只是周三课时,而实际上该门课程的知识点较多,且最重要的是如何在案例中讲解这些知识点,这就需要更多的课时安排去完成。而事实上,安排的课时非常少,导致学生不易消化和吸收,学习起来非常困难。
(2)理论与实践教学的不同步。在大部分高校里,对于C语言的教学仍采用传统的方式,还以理论教学为主,忽略了学生的实践操作能力的培养,传统的教学都是先教后学,教师讲授理论知识多,学生的实践能力培养少,导致学生的理论知识与实践技能脱节。
(3)实践教学环节形式化。实践教学主要以上实验课的形式完成,而在实验课中,学生只是将书本或教材上的内容在机器上进行验证而已,缺乏环环相扣的实践教学环节。
(4)课程答疑时间少。传统的C语言教学中,课堂上都是教师课前充分准备了教学内容,教师作为主角,一刻不停地讲授内容,学生只是“观众”,只是一味地在听教授讲课,偶尔和教师互动一下。由于教师在课堂上只是重点放在讲授知识的过程中,学生没有过多的时间去思考和提问,同样地,即便学生有不懂的问题,教师也没有更多的时间解答学生。
上述分析过程中存在的教学问题,最关键的是课程的设置导致不能很好地进行C语言的实践教学[5],还有一些额外的教学管理、学生、教师、实验室管理等因素的影响,不能灵活安排教学时间。课程答疑在课堂上的时间有限,不能满足所有学生的答疑需求,以上诸类问题不能及时良好地解决,将严重影响课程教学质量和学生的实践能力的培养效果,更严重的影响到学生学习的积极性和主动性。
因此,需要一种新型的打破传统的教学方法改善教学效果,而翻转课堂可以完全解决这些问题[6],开启课前课后资源共享模式,学生上课前,预习下节课的知识点,将自己不能完全理解和掌握的问题记下来,可以提前和同学进行讨论,同学之间不能解决的问题,最后在课堂上通过教师得到解答。翻转课堂将网上资源与面对面教学融洽地结合在一起,实现课前课中课后的混合式教学模式,完全以学生主动学习为主,以此增强了课堂上师生的互动性,良好地形成了以学生为主体的教学模式。
C语言的教学分两部分:理论教学和实践教学,其中理论部分知识点较多,且不易理解;实践部分必须亲自动手写程序,除了验证实验教程的案例,还需自己编写程序加深理解,但是课堂上的实践毕竟是有限的,所以采用翻转课堂刚好可以弥补这个问题[7]。
课前教师将下节课的章节内容、教学目标、重点难点,还有一些网上资源,如微课、慕课,通过QQ或者微信分享给学生,学生在课外通过各种途径,比如,各种移动设备或PC机进行学习、听课和练习,学生通过提前的预习可以掌握其中的知识点,如果有问题也可以通过微信或QQ与教师和同学进行讨论和交流,尤其是C语言课程的实验部分,鉴于实验课的课堂时间有限,学生需要在实验课前,提前将教师布置的程序写好,在实验课中直接输入并运行和调试,遇到调试问题,可以直接找教师解答疑惑问题。
在C语言的理论课堂上,教师可以直接根据学生课前自学的教学资源进行展开讨论,将班中同学分组,把每一组的学习情况汇总,然后将每一小组的组长汇报自己小组的疑难问题,可以跨组抢答式地回答别的组的疑难问题。教师可以通过提问、讨论等各种方式进行检查各小组的课前学习情况,并有针对性地回答学生的疑难问题。课堂是以学生为主体,教师只是一个组织者导演,教师可以记录学生的发言、讨论的情况,这些将作为对学生期末考核的依据。
在C语言的实验课课堂上,由于学生课前已经知道了实验目标、实验内容等,所以在课堂上只需将课前准备的程序输入并调试,观测和分析实验运行结果,教师可以通过学生调试程序的各种方法及运行结果,进一步指导学生深入学习难点重点。鉴于学生课前对实验内容做了充分的准备工作,教师才有更充足的时间对学生进行答疑解惑,还可以同时组织学生对实验内容的设计方法和实验结果进一步深入讨论。同样,教师可以通过学生在实验课堂中的发言、提问以及每次实验课的实验报告作为对学生的考核依据。
由于学生自主学习的积极性不是很高,那么如何让学生合理地利用课外时间主动学习,那就需要采取翻转课堂课前教学资源的推送,扩大并督促学生课前学习空间,除了在翻转课堂中,各个学生的积极发言与提出自己的疑难问题之外,课后也要求学生进一步进行实践操作提高实践能力。教师可以通过考评机制对学生课前学习情况、课堂讨论情况以及课后总结情况进行量化打分,以此激励学生不断进行新的学习、创新、实践和探索,并可以督促学生提高自主学习能力、创新能力和实践能力。
利用翻转课堂对传统的C语言教学模式和教学方法进行一个“颠倒课堂”的改革,可以解决当前C语言教学中存在的问题,教学方法主要从以教师讲授为主向以学生自主学为主的转变,以此促进学生主动学习的积极性,提高学生思考能力、创新能力以及实践能力。在这个改革的过程中,教师课前通过QQ或微信将教学资源分享给学生,并实现学生与学生、老师与学生深度交流。
实践证明,这种翻转课堂在C语言的教学中,可以提高学生的自主学习意识、自主学习能力和实践能力,并取得良好的教学效果。但如果有一个C语言的在线可互动的学习平台,将各类教学资源分类并细化,教师以后只需补充和完善教学内容,学生可以通过这个平台中的论坛和教师和学生进行交流和讨论,教师可以通过该平台对学生的互动情况和学习记录情况进行考核,所以,C语言教学的在线平台学习将是翻转课堂的一个更好的应用。