翻转课堂在C语言程序设计课程中的应用

2016-12-21 00:46裴明涛梁玮
计算机教育 2016年9期
关键词:C语言程序设计翻转课堂

裴明涛+梁玮

摘要:针对c语言程序设计课程中存在的基本语法讲解与编程思想讲解无法兼顾的问题,通过分析c语言程序设计课程以及翻转课堂的特点,提出结合翻转课堂与以程序设计思想为主的教学方式并对教学效果进行调查和评价。

关键词:C语言程序设计;翻转课堂;编程思想

1.c语言程序设计教学现状

c语言程序设计是许多高校为理工科专业低年级学生开设的公共基础课程。该课程通常是学生接触的第一门程序设计类课程,其教学目的是使学生掌握C语言的基本语法规范和基本程序设计方法,培养学生使用计算机思维分析问题和解决问题的能力以及程序设计能力和素质,为后续数据结构等专业课程的学习打下良好基础。

在C语言程序设计的教学中,主要包含两部分的内容:一是C语言的语法知识;二是程序设计的思想和方法。目前,c语言程序设计教学大多以c语言的语法教学为主,辅以少部分的程序设计讲解。根据笔者多年来的c语言程序设计教学经验,如果在讲授c语言时,一开始就花费较多的时间讲解c语言的基本语法、各种运算符、优先级、结合性等细节问题,学生将会淹没在这些细节问题中,无暇关注更高层的程序设计思想,也体会不到编程的乐趣,严重影响教学效果。曾有学者对c语言程序设计的教学方法提出一些建议,但仍不能从根本上解决存在的问题。

文献[4]提出基于程序设计思想的c语言教学方案,倡导“重程序、轻语法”的教学思想,文献[5]也提出“强化算法、弱化语言”的原则。这些基于程序设计思想的C语言教学方式把教学重点放在程序设计思想上,有助于学生掌握编程思想和方法,提高学生学习编程的兴趣,但c语言的基本语法和编程思想两者是紧密联系、不可或缺的。基本语法是进行编程的基础,没有良好语法基础,有编程思想也无法具体实现。编程思想是基本语法的实际应用,可以使用编程思想解决具体问题,如果没有编程思想,那么基本语法掌握得再熟练,也无法解决具体问题。基于程序设计思想的c语言教学方案重视编程思想,但仍不可忽视c语言,这是因为教师通过具体的例子讲解编程思想时,学生如果没有良好的语法作为基础,就无法有效跟上教师的脚步,也无法有效学习编程思想。课堂上的时间非常有限,无法做到具体语法讲解与编程思想讲解两者兼顾,因此翻转课堂与幕课(MOOC)的出现,为解决这一问题提供了可行的方法和途径。

2.幕课与翻转课堂

幕课(massive open online courses,MOOC)即“大规模开放在线课程”,它将课堂教学放在网上并具有4方面的特点。首先,幕课的规模很大、可注册的学生人数很多;幕课不需要固定的上课时间和地点,学生可以随时随地进行在线学习;除基本的课程讲授外,幕课还包括实时在线研讨、在线测试等功能。其次,幕课的资源很多,同一门课程有多家单位提供,具有各自的特点和优势,教学资源突破了大学的界限;教育资源包括视频、文本、音频等形式。第三,教师的角色和教学方式发生变化,除了制作和提供幕课资源外,教师主要作为获取知识的支持者、引导者和推动者出现。第四,学习者的学习方式发生根本改变,学习者成为学习过程的中心,学生可以主动地安排自己的学习时间、进度、地点、内容等。

翻转课堂起源于2007年前后美国科罗拉多州落基山林地公园高中两位化学老师的创新教学,逐渐使传统的“课堂上听教师讲解,课后回家做作业”教学模式“颠倒”或“翻转”,变成“课前在家里听看教师的视频讲解,课堂上在教师指导下做作业(或实验)”。随着翻转课堂的发展和逐步推广以及幕课的兴起,翻转课堂已经在很多中学和大学中得到应用和推广。

3.结合翻转课堂与以程序设计思想为主的教学方式

3.1实施方式

在c语言程序设计的课程教学中,教师可结合翻转课堂以及以程序设计思想为主的教学方式进行教学,具体实施方式为在上课前一周,通过网络教学平台公布下节课所需的知识点,包括下节课要用到的基本语句的语法要求、各种运算符的计算方法以及相应的优先级和结合性等内容,要求学生加入MOOC平台上的C语言程序设计课程,进行相应的学习和练习;学生可以自主安排学习时间和掌握学习的节奏,教师通过MOOC平台掌握学生的学习行为并提供一定的线上学习指导。以学习switch语句为例,相应的学习任务要求和学习方法见表1。这些学习任务都要求学生通过MOOC平台进行学习,教师在课堂上不再进行讲授。

课堂上主要以编程思想和方法为主,讲授如何使用c语言解决具体问题,主要讲授程序设计的思想和方法并对MOOC学习中比较集中的语法问题进行讲解,结合课堂讨论、学生上台讲解等方式,使学生充分参与课程中。在学生掌握基本语法规则的基础上着重进行程序设计思想和方法的讲授,有利于学生对编程思想的掌握,也能提高学生的学习兴趣。

3.2教学效果调查

为有效地对教学效果进行评估,也为了让学生能有直观的对比,在进行c语言程序设计课程的讲授时,教师可选取选择结构的程序设计和循环结构的程序设计两部分内容,分别采用传统的教学方法、结合翻转课堂与以程序设计思想为主的教学方法。对于选择结构的程序设计部分,课堂上主要讲述选择结构的基本语法和规范,包括if-else语句、switch语句等语法规范,只列举简单的例子进行演示,课下布置一定的编程作业。对于循环结构的程序设计部分,事先要求学生在课下通过MOOC学习相关内容,包括for、while语句的语法规范等,完成对应的作业和练习。课上主要通过讲解编程思想,教授如何使用循环来解决一些具体问题;课下布置与选择结构程序设计等量的编程作业。

两部分内容的课程结束之后,采用问卷调查的方式对教学效果进行评估。问卷内容见表2。调查内容主要评估学生对结合翻转课堂与以程序设计思想为主的教学方式的感受,从各个不同侧面请学生对此种教学方式进行客观评价,包括总的评价、课前所花时间、两种授课方式的比较、课后的收获等。

上课学生共有130人,回收的有效调查表共119份,对其中的评价结果进行统计,得到学生对每个问题的选择比例,其结果见表3。表头横轴列出每个选择题的编号,纵轴列出每个选择题中答案选项的顺序号(按每题答案选项所处从左到右排序)。表中数据为学生在评价题上选择相应选项的百分比。

从表3中问题1的统计结果可以看出,53%的学生认为通过观看教学视频学习基本的语法比较容易,只有6%的学生认为比较困难。从问题5和6的统计结果可以看出,学生通过传统教学方式掌握相应语法的程度要略好于翻转课堂,即学生通过观看MOOC视频来学习的效果不明显。从问题3和4的统计结果看,结合翻转课堂与以程序设计思想为主的教学方式下,学生课后完成等量的编程作业所需时间总体上大大缩短。结合问题7和8的统计结果可以看出,结合翻转课堂与以程序设计思想为主的教学方式有利于学生编程能力的提高,学生比较认可这种教学方式。

调查还发现,认为“结合翻转课堂与以程序设计思想为主的教学方式较好”的比例略低于认为“结合翻转课堂与以程序设计思想为主的教学方式有利于编程能力提高”的比例。通过访谈得知,其原因是翻转课堂的方式需要学生课前花时间进行学习,占用学生的课余时间,因此少量学生不喜欢这种方式。

4.结语

结合翻转课堂与以程序设计思想为主的C语言程序设计教学方式在实践中被证明是有效的。由于条件所限,笔者还没有对两种教学方式进行长时间(如整个学期)的对比,未来将进行更全面的对比,以验证所提出教学方法的有效性。同时,在教学方法实施的过程中,笔者也发现,在课堂上要适当地针对c语言语法规则中的重点和难点问题与学生进行交流,对学生提出的问题和困惑进行讲解,而不能把对C语言语法规则的学习完全交给MOOc。此外,教师在进行编程思想的讲解时,要更多地以实际问题为例,以激发学生的学习兴趣,从而取得更好的教学效果。

猜你喜欢
C语言程序设计翻转课堂
基于能力培养的“C语言程序设计”教学改革研究
大专院校“C语言程序设计”课程建设改革
以“学生为中心”的《C语言程序设计》教学设计探究
基于翻转课堂的《C语言程序设计》课程教学系统的实现与研究
浅谈《C语言程序设计》课程的教学改革
《C语言程序设计》课程的教学改革与实践
基于翻转课堂的高职英语口语教学研究
翻转课堂在高职公共英语教学中的应用现状分析及改善建议
翻转课堂在小学数学教学中的应用
翻转模式在“液压与气动”教学中的应用研究