论文部分内容阅读
摘要:目前《C语言程序设计》课程教学存在一些问题,使其课程教学发展陷入了瓶颈期。利用泛在学习的永久性、可获取性、即时性、交互性、教学行为的场景性、适应性、整合性等特征,搭建《C语言程序设计》课程泛在学习环境,并将其实现于翻转课堂教学模式中,可以提高《C语言程序设计》课程的教学质量,提升学生问题分析、问题解决及实际动手编程的能力。
关键词:《C语言程序设计》泛在学习;教学环境;翻转课堂;教学模式
中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2016)31-0154-03
一、引言
C语言不仅具有高效、灵活、功能丰富、表达力强及较高可移植性等特点,而且具有通用性、过程式的编程语言优势,受到广大计算机程序员的青睐,被广泛应用于系统与各类应用软件的开发。有学者认为能否熟练掌握并运用C语言,是衡量一名计算机类专业学生专业水平的基本标准。因此,我国高校计算机类专业对其给予了一定的重视。通常在大一学年面向新生开设《C语言程序设计》课程,将其作为第一门基础性程序设计课程,为学生学习数据结构、操作系统、高级程序设计等相关专业课程奠定基础。
从1991年清华大学开设C语言课程以来,《C语言程序设计》课程教学在我国已经历25年,在多年的实际教学过程中积累了一定的教学经验,但也出现了一些问题。这些问题降低了学生学习该课程的学习兴趣,使《C语言程序设计》课程教学发展陷入了瓶颈期。因此,应用新的教学理念和教学手段,创新《C语言程序设计》课程教学模式,促进其教学发展,成为目前《C语言程序设计》课程教学研究的关键问题。
计算机及网络通讯技术为人们的学习创设了新的教学环境,也引发了新的教学理念思考,电子化学习(E-learning)、移动学习(M-learning)、泛在学习(U-learning)等教学理念及学习环境逐步得到发展及认同,并引发翻转课堂、MOOC等教学模式的变革。本文结合目前我国高校《C语言程序设计》课程教学的经验和问题,将泛在学习理念及翻转课堂教学模式应用于《C语言程序设计》课程教学中,改变以教师为中心的教学现状,充分体现“以学生为中心”的学习理念,以期提出更加切合《C语言程序设计》课程教学的有效教学模式,从而提高《C语言程序设计》课程的教学质量,提升学生问题分析、问题解决及实际动手编程的能力。
二、《C语言程序设计》课程教学问题分析
如前所述,25年间,谭浩强教授等专家、学者在《C语言程序设计》课程的教材编写、教学方法、教学手段等方面积累了较为丰富的经验,《C语言程序设计》课程在我国高校已有一定的教学基础。但在该课程的建设过程中,也发现存在一些不容忽视的问题。
(一)教学内容多,教学学时不足
目前,我国高校《C语言程序设计》课程教学学时大都为64学时,其中32学时为理论课,32学时为实验课。但是一方面C语言涉及的概念比较复杂,规则繁多,教师要在有限的时间内高质量地完成教学内容,存在较大的压力;另一方面C语言使用灵活,容易出错,学生既要分析问题设计程序,又要动手编写程序代码上机调试运行,实验学时也明显不足。
(二)教学内容抽象,学习者兴趣难引发
C语言的一些基本概念和语法规则的基础知识既枯燥又比较抽象难懂。例如《C语言程序设计》课程中的“数据类型、运算符与表达式”,内容涉及数据在计算机内存中的存储形式,较为琐碎、抽象。教师授课时,如果只是讲解具体规则和书本上的例题,则很难引起学生们的兴趣。
(三)学习者起点层次不齐,“学习者为中心”难实现
随着计算机科学技术的普及和目前我国高中信息技术课程的不断发展,部分大一新生在高中阶段对程序设计有所接触,但也有部分地区的高中信息技术课程改革进程缓慢,学生信息素养培养不足。因此,《C语言程序设计》课程的学习者起点层次不齐,利用有限的教学学时很难实现以学习者为中心的教学模式,进行因材施教。
三、基于问题分析的《C语言程序设计》泛在学习环境搭建
泛在学习环境(U-Learning)创设了一种“以学习者为中心”不受时空限制的智能化学习空间。从更深层面上理解,泛在学习环境是一种任何人可以在任何地方、任何时间,借助任何设备获取所需的任何信息的5A(Any-one,Anywhere,Anytime,Anydevice,Anything)学习模式。由于泛在学习具有永久性、可获取性、即时性、交互性、教学行为的场景性、适应性、整合性等特征,将信息技术与网络技术的发展融入到《C语言程序设计》课程的日常教学及学习生活中,为其搭建泛在学习环境,可以改变现有的教学及学习方式,使教师和学生能够打破传统的课堂授课及学习模式,摆脱时间、地点、学习资源的限制,让教学和学习变得无处不在,有针对性地解决《C语言程序设计》课程教学存在的问题。具体的《C语言程序设计》课程泛在学习环境设计如图1所示。
利用《C语言程序设计》课程泛在学习环境,教师和学生从不同的侧重点展开具体的教学和学习。
1.教师。在泛在学习环境中,教师根据《C语言程序设计》课程教学的重点、难点,利用平板电脑、笔记本电脑、PDA、智能手机等工具,通过校园网络教学平台、教师博客、教师微博、师生QQ群、师生微信朋友圈等方式,向学生推送课程学习相关的学习资源并提供学习服务。例如:在每次课前发布《C语言程序设计》课程的具体教学目标及要求、教学课件、精品课程链接地址等教学资源,指导学生做好每次课前预习并提出相关热点问题,引发学生思考和学习兴趣;在课后就本次教学内容在线参与学生实时学习讨论、及时回答学生问题、批复学生提交的作业等,帮助学生巩固所学知识,使教学得以深入延展。
2.学生。在泛在学习环境中,针对《C语言程序设计》课程,学生根据自身学习基础及学习需求,在自由的时间和地点,利用平板电脑、笔记本电脑、PDA、智能手机等工具,通过访问校园网络教学平台、教师博客、教师微博等平台明确课程的学习目标并获得第一手学习资料;通过登录师生QQ群、师生微信朋友圈以及使用搜索引擎等方式搜集学习资料,还可以进行学习提问并进行相互讨论。特别是针对《C语言程序设计》的实验部分内容,学生可以通过实时聊天工具将自己的出错信息进行截屏,发送给教师或同学,获得指导和帮助,大大提高了问题的解决效率。由此可见,利用泛在学习环境,学生可以根据自身情况由浅入深地展开《C语言程序设计》课程的学习,可以很好地明确听课目标、展开课前预习、进行复习讨论、提交作业并获得回馈等。 四、泛在学习环境下《C语言程序设计》翻转课堂教学模式实现
翻转课堂(Flipped Classroom或Inverted Classroom),起源于科罗拉多州林地公园高中,是一种利用信息技术,对传统教学中师生角色定位及课堂时间使用进行重新建构,对知识传授和知识内化进行颠倒安排的一种新型教学模式。在翻转课堂教学模式中,首先知识的传授通过信息技术的辅助在课前完成,教师不再占用课堂时间进行教学内容讲授,而是提前发布讲解内容的相关教学信息及教学资源,引导学生通过利用网络查阅学习资料,观看相关精品课程、视频讲座,阅读电子书,并与教师、同学讨论,进行“以学生为中心”的个性化学习;其次,知识内化在教师的帮助和同学的协助下在课堂中完成,学生通过充分的课前学习就关键性问题在课堂中与教师展开交流互动,对所学知识进行深入的理解和优化。翻转课堂顺利开展的基础是提供能够满足学习者自主性选择的课程学习资源并提供良好的在线学习服务,从这方面来说,泛在学习环境与翻转课堂是相辅相成的,泛在学习环境是翻转课堂良好成长的土壤,翻转课堂是泛在学习环境实现的有效教学模式。
例如:笔者利用泛在学习环境,对清华大学出版社出版的谭浩强教授主编的《C程序设计(第四版)》第3章3.2小节——“数据的表现形式及其运算”内容,展开翻转课堂教学,取得了良好效果。具体翻转课堂教学流程如下页2所示。
(一)课前
在翻转课堂的课前,教师需要完成基本教学知识的传授,利用泛在学习环境完成以下工作。
1.公布本次教学的教学目的。
教学内容:清华大学出版社出版的谭浩强教授主编的《C程序设计(第四版)》第3章3.2小节——“数据的表现形式及其运算”
教学目标:掌握c语言中的基本数据类型与运算
教学重点及难点:理解C语言中的数据与真实数据的区别
2.发布本次教学所需的教学资源。
教学课件:http://e-learning.htu.cn/index2.html
精品课程推介:http://cms.hit.edu.cn
学习网站推介:http://cms.hit.edu.cn
参考书目推介:苏小红等《C语言程序设计》(第三版)
3.发布本次教学内容相关的主要思考题。
题目1:C整数类型能否表示真实生活中的任意整数?
题目2:C中的浮点数是现实中的实数么?
题目3:C中无符号整数与有符号整数的差别?
题目4:任意大的数应该如何表示?
在翻转课堂的课前,学生需要根据教师公布的教学目的、发布的教学资源及思考题预设,利用泛在学习环境明确学习目的、搜集学习资料、思考学习问题,基本完成知识的构建。
(二)课堂
教师引导学生以小组为单位对图2中“课前”部分的思考题预设,进行学习展示、交流互动、反馈评价以及总结反思,使学生对所学知识深入理解,进行知识内化。例如:C语言中每一种整型数据类型有其各自的允许值范围,如果对应的变量值超出这个范围,就要发生所谓的“溢出”,但是变量的值将会变成多少呢?这个问题是许多学生不容易理解的地方。在课堂讨论中有一组学生对unsigned int型变量(允许值范围为0~65535)的理解设计了“周期函数设想”,使抽象内容形象化。即假设一个圆周分割了65536个点,从左到右依次表达0到65535,如果是最大值65536则和最小值0相同,于是产生溢出,最大值变为最小值。
基于这一设想,教师引导学生进行思考,提出溢出问题的优化“表盘设想”。即假设有一个巨型钟表,秒针时间刻度为0~65535,当秒针360度旋转一圈后,最大值65536与最小值0重合,最大值变为最小值产生溢出。
实践证明,通过课堂讨论的周期函数设想和表盘设想,学生对整型数据的溢出问题得到充分理解,并能够举一反三地思考其他知识点的学习问题。
五、结束语
基于泛在学习环境的《C语言程序设计》翻转课堂教学模式,践行了“以学生为中心”及“自主学习”的个性化学习理念。该模式使学生能够根据自身对《C语言程序设计》课程的学习能力、学习起点进行5A学习,并能够高效地内化所学的知识,自主构建自身的《C语言程序设计》知识体系。基于泛在学习环境的《C语言程序设计》翻转课堂教学模式有效地解决了目前该课程教学中存在的问题,为信息教育时代《C语言程序设计》课程教学改革研究拓展了新的思路。
参考文献:
[1]谭浩强.C程序设计[M].第四版.北京:清华大学出版社,2010,(6):9-14.
[2]章亦葵,李英第.C语言函数时间复杂度自动计算方法的实现[J].计算机应用与软件,2015,11(32):18-22.
[3]卢炳旭.从学习者的视角看计算机专业《C语言程序设计》课程教学改革[J].职教论坛,2015,7(20):76-79.
[4]卢玉珑.大数据时代成人泛在学习行为导控[J].教育与职业,2015,8(24):111-113.
[5]王怀波,杨现民,李冀红.泛在学习应用研究的发展与典型模式分析[J].中国远程教育,2015,(12):18-26.
[6]邵华,喻惠群.基于泛在学习资源共享平台的翻转课堂学习者个性化学习模型研究[J].教育评论,2015,(7):88-92.
[7]Sams .A,J. Bergmann. Flip Your Students’Learning [J].Educational Leadership,2013,(6):16-20.
[8]钟晓流,宋述强,焦丽珍.信息化环境中基于翻转课堂理念的教学设计研究[J].开放教育研究,2013,(1):58-64.
[9]Bergmann.J,A. Sams. Flip Your Classroom:Reach Every Student in Every Class Every Day[M].Washington,DC:International Society for Technology in Education,2012:19-34.
关键词:《C语言程序设计》泛在学习;教学环境;翻转课堂;教学模式
中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2016)31-0154-03
一、引言
C语言不仅具有高效、灵活、功能丰富、表达力强及较高可移植性等特点,而且具有通用性、过程式的编程语言优势,受到广大计算机程序员的青睐,被广泛应用于系统与各类应用软件的开发。有学者认为能否熟练掌握并运用C语言,是衡量一名计算机类专业学生专业水平的基本标准。因此,我国高校计算机类专业对其给予了一定的重视。通常在大一学年面向新生开设《C语言程序设计》课程,将其作为第一门基础性程序设计课程,为学生学习数据结构、操作系统、高级程序设计等相关专业课程奠定基础。
从1991年清华大学开设C语言课程以来,《C语言程序设计》课程教学在我国已经历25年,在多年的实际教学过程中积累了一定的教学经验,但也出现了一些问题。这些问题降低了学生学习该课程的学习兴趣,使《C语言程序设计》课程教学发展陷入了瓶颈期。因此,应用新的教学理念和教学手段,创新《C语言程序设计》课程教学模式,促进其教学发展,成为目前《C语言程序设计》课程教学研究的关键问题。
计算机及网络通讯技术为人们的学习创设了新的教学环境,也引发了新的教学理念思考,电子化学习(E-learning)、移动学习(M-learning)、泛在学习(U-learning)等教学理念及学习环境逐步得到发展及认同,并引发翻转课堂、MOOC等教学模式的变革。本文结合目前我国高校《C语言程序设计》课程教学的经验和问题,将泛在学习理念及翻转课堂教学模式应用于《C语言程序设计》课程教学中,改变以教师为中心的教学现状,充分体现“以学生为中心”的学习理念,以期提出更加切合《C语言程序设计》课程教学的有效教学模式,从而提高《C语言程序设计》课程的教学质量,提升学生问题分析、问题解决及实际动手编程的能力。
二、《C语言程序设计》课程教学问题分析
如前所述,25年间,谭浩强教授等专家、学者在《C语言程序设计》课程的教材编写、教学方法、教学手段等方面积累了较为丰富的经验,《C语言程序设计》课程在我国高校已有一定的教学基础。但在该课程的建设过程中,也发现存在一些不容忽视的问题。
(一)教学内容多,教学学时不足
目前,我国高校《C语言程序设计》课程教学学时大都为64学时,其中32学时为理论课,32学时为实验课。但是一方面C语言涉及的概念比较复杂,规则繁多,教师要在有限的时间内高质量地完成教学内容,存在较大的压力;另一方面C语言使用灵活,容易出错,学生既要分析问题设计程序,又要动手编写程序代码上机调试运行,实验学时也明显不足。
(二)教学内容抽象,学习者兴趣难引发
C语言的一些基本概念和语法规则的基础知识既枯燥又比较抽象难懂。例如《C语言程序设计》课程中的“数据类型、运算符与表达式”,内容涉及数据在计算机内存中的存储形式,较为琐碎、抽象。教师授课时,如果只是讲解具体规则和书本上的例题,则很难引起学生们的兴趣。
(三)学习者起点层次不齐,“学习者为中心”难实现
随着计算机科学技术的普及和目前我国高中信息技术课程的不断发展,部分大一新生在高中阶段对程序设计有所接触,但也有部分地区的高中信息技术课程改革进程缓慢,学生信息素养培养不足。因此,《C语言程序设计》课程的学习者起点层次不齐,利用有限的教学学时很难实现以学习者为中心的教学模式,进行因材施教。
三、基于问题分析的《C语言程序设计》泛在学习环境搭建
泛在学习环境(U-Learning)创设了一种“以学习者为中心”不受时空限制的智能化学习空间。从更深层面上理解,泛在学习环境是一种任何人可以在任何地方、任何时间,借助任何设备获取所需的任何信息的5A(Any-one,Anywhere,Anytime,Anydevice,Anything)学习模式。由于泛在学习具有永久性、可获取性、即时性、交互性、教学行为的场景性、适应性、整合性等特征,将信息技术与网络技术的发展融入到《C语言程序设计》课程的日常教学及学习生活中,为其搭建泛在学习环境,可以改变现有的教学及学习方式,使教师和学生能够打破传统的课堂授课及学习模式,摆脱时间、地点、学习资源的限制,让教学和学习变得无处不在,有针对性地解决《C语言程序设计》课程教学存在的问题。具体的《C语言程序设计》课程泛在学习环境设计如图1所示。
利用《C语言程序设计》课程泛在学习环境,教师和学生从不同的侧重点展开具体的教学和学习。
1.教师。在泛在学习环境中,教师根据《C语言程序设计》课程教学的重点、难点,利用平板电脑、笔记本电脑、PDA、智能手机等工具,通过校园网络教学平台、教师博客、教师微博、师生QQ群、师生微信朋友圈等方式,向学生推送课程学习相关的学习资源并提供学习服务。例如:在每次课前发布《C语言程序设计》课程的具体教学目标及要求、教学课件、精品课程链接地址等教学资源,指导学生做好每次课前预习并提出相关热点问题,引发学生思考和学习兴趣;在课后就本次教学内容在线参与学生实时学习讨论、及时回答学生问题、批复学生提交的作业等,帮助学生巩固所学知识,使教学得以深入延展。
2.学生。在泛在学习环境中,针对《C语言程序设计》课程,学生根据自身学习基础及学习需求,在自由的时间和地点,利用平板电脑、笔记本电脑、PDA、智能手机等工具,通过访问校园网络教学平台、教师博客、教师微博等平台明确课程的学习目标并获得第一手学习资料;通过登录师生QQ群、师生微信朋友圈以及使用搜索引擎等方式搜集学习资料,还可以进行学习提问并进行相互讨论。特别是针对《C语言程序设计》的实验部分内容,学生可以通过实时聊天工具将自己的出错信息进行截屏,发送给教师或同学,获得指导和帮助,大大提高了问题的解决效率。由此可见,利用泛在学习环境,学生可以根据自身情况由浅入深地展开《C语言程序设计》课程的学习,可以很好地明确听课目标、展开课前预习、进行复习讨论、提交作业并获得回馈等。 四、泛在学习环境下《C语言程序设计》翻转课堂教学模式实现
翻转课堂(Flipped Classroom或Inverted Classroom),起源于科罗拉多州林地公园高中,是一种利用信息技术,对传统教学中师生角色定位及课堂时间使用进行重新建构,对知识传授和知识内化进行颠倒安排的一种新型教学模式。在翻转课堂教学模式中,首先知识的传授通过信息技术的辅助在课前完成,教师不再占用课堂时间进行教学内容讲授,而是提前发布讲解内容的相关教学信息及教学资源,引导学生通过利用网络查阅学习资料,观看相关精品课程、视频讲座,阅读电子书,并与教师、同学讨论,进行“以学生为中心”的个性化学习;其次,知识内化在教师的帮助和同学的协助下在课堂中完成,学生通过充分的课前学习就关键性问题在课堂中与教师展开交流互动,对所学知识进行深入的理解和优化。翻转课堂顺利开展的基础是提供能够满足学习者自主性选择的课程学习资源并提供良好的在线学习服务,从这方面来说,泛在学习环境与翻转课堂是相辅相成的,泛在学习环境是翻转课堂良好成长的土壤,翻转课堂是泛在学习环境实现的有效教学模式。
例如:笔者利用泛在学习环境,对清华大学出版社出版的谭浩强教授主编的《C程序设计(第四版)》第3章3.2小节——“数据的表现形式及其运算”内容,展开翻转课堂教学,取得了良好效果。具体翻转课堂教学流程如下页2所示。
(一)课前
在翻转课堂的课前,教师需要完成基本教学知识的传授,利用泛在学习环境完成以下工作。
1.公布本次教学的教学目的。
教学内容:清华大学出版社出版的谭浩强教授主编的《C程序设计(第四版)》第3章3.2小节——“数据的表现形式及其运算”
教学目标:掌握c语言中的基本数据类型与运算
教学重点及难点:理解C语言中的数据与真实数据的区别
2.发布本次教学所需的教学资源。
教学课件:http://e-learning.htu.cn/index2.html
精品课程推介:http://cms.hit.edu.cn
学习网站推介:http://cms.hit.edu.cn
参考书目推介:苏小红等《C语言程序设计》(第三版)
3.发布本次教学内容相关的主要思考题。
题目1:C整数类型能否表示真实生活中的任意整数?
题目2:C中的浮点数是现实中的实数么?
题目3:C中无符号整数与有符号整数的差别?
题目4:任意大的数应该如何表示?
在翻转课堂的课前,学生需要根据教师公布的教学目的、发布的教学资源及思考题预设,利用泛在学习环境明确学习目的、搜集学习资料、思考学习问题,基本完成知识的构建。
(二)课堂
教师引导学生以小组为单位对图2中“课前”部分的思考题预设,进行学习展示、交流互动、反馈评价以及总结反思,使学生对所学知识深入理解,进行知识内化。例如:C语言中每一种整型数据类型有其各自的允许值范围,如果对应的变量值超出这个范围,就要发生所谓的“溢出”,但是变量的值将会变成多少呢?这个问题是许多学生不容易理解的地方。在课堂讨论中有一组学生对unsigned int型变量(允许值范围为0~65535)的理解设计了“周期函数设想”,使抽象内容形象化。即假设一个圆周分割了65536个点,从左到右依次表达0到65535,如果是最大值65536则和最小值0相同,于是产生溢出,最大值变为最小值。
基于这一设想,教师引导学生进行思考,提出溢出问题的优化“表盘设想”。即假设有一个巨型钟表,秒针时间刻度为0~65535,当秒针360度旋转一圈后,最大值65536与最小值0重合,最大值变为最小值产生溢出。
实践证明,通过课堂讨论的周期函数设想和表盘设想,学生对整型数据的溢出问题得到充分理解,并能够举一反三地思考其他知识点的学习问题。
五、结束语
基于泛在学习环境的《C语言程序设计》翻转课堂教学模式,践行了“以学生为中心”及“自主学习”的个性化学习理念。该模式使学生能够根据自身对《C语言程序设计》课程的学习能力、学习起点进行5A学习,并能够高效地内化所学的知识,自主构建自身的《C语言程序设计》知识体系。基于泛在学习环境的《C语言程序设计》翻转课堂教学模式有效地解决了目前该课程教学中存在的问题,为信息教育时代《C语言程序设计》课程教学改革研究拓展了新的思路。
参考文献:
[1]谭浩强.C程序设计[M].第四版.北京:清华大学出版社,2010,(6):9-14.
[2]章亦葵,李英第.C语言函数时间复杂度自动计算方法的实现[J].计算机应用与软件,2015,11(32):18-22.
[3]卢炳旭.从学习者的视角看计算机专业《C语言程序设计》课程教学改革[J].职教论坛,2015,7(20):76-79.
[4]卢玉珑.大数据时代成人泛在学习行为导控[J].教育与职业,2015,8(24):111-113.
[5]王怀波,杨现民,李冀红.泛在学习应用研究的发展与典型模式分析[J].中国远程教育,2015,(12):18-26.
[6]邵华,喻惠群.基于泛在学习资源共享平台的翻转课堂学习者个性化学习模型研究[J].教育评论,2015,(7):88-92.
[7]Sams .A,J. Bergmann. Flip Your Students’Learning [J].Educational Leadership,2013,(6):16-20.
[8]钟晓流,宋述强,焦丽珍.信息化环境中基于翻转课堂理念的教学设计研究[J].开放教育研究,2013,(1):58-64.
[9]Bergmann.J,A. Sams. Flip Your Classroom:Reach Every Student in Every Class Every Day[M].Washington,DC:International Society for Technology in Education,2012:19-34.