论文部分内容阅读
摘要:本文通过分析程序设计课的现状,指出了程序设计课教学过程中存在的问题以及产生的原因,提出了从教师教学和学生学习两方面入手解决问题的对策。
关键词:程序设计;教学法;问题;对策
中图分类号:TP311 文献标识码: B 文章编号:1673-8454(2012)19-0061-03
程序设计课在教育技术学专业非常重要,笔者认为程序设计课除了让学生掌握基本的语法知识外,更重要的是让学生掌握算法的基本思想,能够解决实际生活中的程序设计问题。
一、程序设计课教学现状
1.教学过程中存在的问题
通过查阅大量资料,笔者发现程序设计课教学总体上过分注重计算机语言知识的讲解、机械式训练,缺乏对学生语言运用能力的培养,课程内容与实际的生活联系不够紧密。教学中忽视对学生提取信息和处理信息能力的培养,忽视对学生分析问题、解决问题能力的培养,单一的、“满堂灌”的教学方法和被动的学习方式难以形成综合的语言运用能力,难以开发学生的思维能力和分析问题、解决问题的能力。[1]
通过多年的《C程序设计教程》[2]、《Visual Basic 程序设计》[3]及《Java 程序设计》[4]的教学实践,笔者发现了教学过程中的一些实际问题,例如:教师上课PPT用的多,讲授的内容多,学生难以理解;学生听的多,做的少,下课后面对众多的内容无从下手,学习热情慢慢减弱。很多学生在实践课上不动脑筋,纯粹是验证程序,有些学生甚至在没有理解的情况下就算完成调试任务,课后不会自主学习,同学间缺少合作。
2.存在问题形成的原因分析
(1)课程本身的原因
程序设计课,学生在初高中阶段接触少,入门难。
程序设计课本身难度大、综合性强,要求学生有较好的逻辑思维能力。
程序设计课注重算法思想的形成和实际问题的解决能力。而原来初高中知识以识记和理解为主,两者之间学习模式不一样。
(2)教师方面的原因
教师为了让学生掌握程序设计知识,过于注重细节和语法规则,而忽略了算法思想的形成、思维能力的培养以及解决问题能力的培养。另外,教师在每节课教学内容的安排上,由于受课程内容和教学时间的双重限制,造成每节课内容太多,对学生来说就会产生一定的认知负荷。
(3)学生方面的原因
学生学程序设计不应该像学数理化课程一样死记语法规则和公式,而应该把握程序设计的核心思想——算法。学生自身受初高中学习习惯的影响,不会自主学习,事事都要依赖老师。而学习计算机语言要多学多练多看,程序是编出来的,不是老师上几节课就能教出来的;同学之间也需要养成协作学习的好习惯。
二教师在程序设计课程中的对策与方法探析
1.以系统科学理论为研究方法,科学安排教学过程
系统科学理论要求把事物当作一个整体或系统来研究,并用数学模型去描述和确定系统的结构和行为。系统论强调整体与局部、局部与局部、系统本身与外部环境之间互为依存、相互影响和制约的关系,具有目的性、动态性、有序性三大基本特征。[5]
这些理论用在教学过程中可以指导教师的教学和学生的学习。在教学过程中,教师布置任务要适度,既不能太难,也不能太容易,要做到让学生跳起来摘桃子;对待学生更不能一刀切,要对学生模底,因材施教;学生分组进行课题研究,需要学生之间分工协作,统筹安排。因此学生学会了自主学习和协作学习。例如,我们针对学生的实际情况,在设计项目的时候按照学生基础不同、兴趣爱好不同、技术基础不同对Visual Basic 程序设计课程中的学生进行分组,分为:游戏组、教学开发组、社会服务组等项目组。改变了教学方法后,课程的教学质量明显提升,教学效率明显提高。
2.不断创新教学方法,提升教学质量
在程序设计课中如何创新教学方法,笔者认为提升教学质量是关键因素。
(1)项目引导、任务驱动
项目教学以“项目引导、任务驱动”为主要形式,将实践项目贯穿于教学的始终,用实践任务进行新知识的引入,激发学生学习的原动力。[6]
笔者把原来每节课的任务驱动转换成课程的综合设计——项目引导、任务驱动模式。比如,在上Visual Basic程序设计课的时候,课程一开始,就给学生设计了若干项目:《试题自动抽取系统的开发》及《学生成绩管理系统的开发》等项目,并说明这些系统开发过程中要用到Visual Basic的相关知识,从界面的设计到过程的调用,从菜单的开发到数据库的调用,几乎每个知识点都用得上,这样学生就有了明确的学习目标,在学习每一部分知识的时候就会留意该怎么用上去。学生在学习过程中,既能把握整体知识又能掌握各个知识点,这种教学效果很好。学生在交作业时,开发出了很多实用的系统。《试题自动抽取系统》(如图1所示)已经用在各门课的试题库建设中,《学生成绩管理系统》也已经部分试运行,《汽车销售系统》已初步成形,可供其他单位使用。一些游戏软件稍加修改,就可供游戏爱好者使用。
(2)综合利用媒体资源,创新教学模式
C语言教学采用的教学方法是“多媒体 板书 上机调试”的形式,这一教学方法的使用,提高了教学效率,丰富了教学手段。
在Java课堂教学中,我们尝试了用QQ工具进行教学。例如在Java程序设计课的教授过程中,让同学们安装Java开发机,教师把软件包准备好,放在QQ共享中,学生下载安装就可以了。安装过程中学生看不清路径,教师直接就在QQ 群中通过即时消息框把路径发给学生。在多媒体制作课程教学中,遇到文件扩展名不一致的问题,教师引导学生从网上下载“格式工厂”,学生很快就掌握了转换方法,把多媒体制作学会了,还能举一反三到其它知识的学习中。因此,综合利用媒体资源进行教学,也是程序设计课教师创新教学模式不可或缺的一部分。
(3)改变课程评价方法,促进教学质量提升
我们在教学过程中对考试模式进行了修改,由原来的教师出题考试变成了试题库,而且可具体到每一章节,试题实现自动抽取(如图2所示),[7]这样学生可以随时检验自己的学习效果,便于及时发现问题、解决问题,使其学习效果得到极大提高。 (4)肯定学生能力,挖掘学生潜力
在上Visual Basic程序设计课时,当教师给学生设计项目时,学生几乎还没开始学习这些课,学生们担心在期末时,根本无法完成老师布置的任务。这时,老师一定要给学生足够的信心,通过梳理以前的知识,找出学生可用知识和需补充知识,还需给学生明确几本实用的参考书,这个过程教师一定要精心组织、认真安排、循循善诱,决不能布置下任务就算完事。例如:在Visual Basic程序设计教学开始之时,我们就给出了两本参考书,并划出需参考的章节,这样学生就可一边学一边做,既培养了学生的自主学习能力,又教会了学生开发系统的方法,为其以后走向社会打下了坚实的知识基础和技术基础。
三学生在程序设计课中的对策探析
1.培养学习兴趣
学生在刚开始接触课程时,需要有一个入门的过程,因此要着意培养他们的学习兴趣。具体应从以下几方面着手:
(1)明确学习目标,激发学习动机
学生有了明确的学习目标,学习过程中才会有的放矢,才能持之以恒,否则就会得过且过。比如:C语言程序设计是其它语言和计算机软件的基础,C语言程序设计掌握了,Java语言学习有了好的基础,Flash中的结构控制就容易理解了,同样网页制作中的控制结构就好理解了;如果C语言程序设计学不好,后续课程的学习将会很困难。只有让学生知道了C语言程序设计课的重要性,明确了学习目标,才会激发他们的学习动机。
(2)与实际生活结合,引起学习兴趣
不管是C语言还是Visual Basic程序设计,都是为解决实际问题而学习的。学生在学习时,一定要从实际生活中找问题、解决问题。从简单问题入手,从实际问题出发,才能引起学习兴趣。例如:对数的排序,不仅可以解决比赛排序问题、成绩排序问题,甚至还可以解决图书资料的排序问题以及试题提取中试题的排序问题。这样从实际生活的需要出发,学生的学习兴趣就会越来越大。
2.学会循序渐进
万丈高楼平地起。其实学程序设计语言没什么诀窍,除了多看、多想、多练、多编,没什么好的捷径。这就要求学生要学会在教师引导下循序渐进。从基础开始,先编顺序结构、再练选择结构和循环结构,当这些基础打牢了,再学数组、函数和指针就容易多了。
3.改变学习方法
在初高中学习阶段,教师的主导地位比较明显,不管什么课,教师都会反复多遍讲解以促进学生的理解和记忆,而大学教育,学习的内容多,知识量大,教师不可能像高中学习阶段那样一个知识点讲很多遍,学生必须改变学习方法,适应大学教育。大学有很多的网络课程和论坛供学生学习和讨论,学生要学会自主学习和协作学习,教师在教学过程中起主导作用,学生除了被动的接受学习外,还要学会自主学习、协作学习和发现学习。
4.认真做好课程设计
每一门程序设计课程的学习,最终结果都要体现在课程设计中。比如:C语言课程会让学生统计本学期班级成绩和排序,学生只有认真做好课程设计,才能掌握程序设计方法。Visual Basic程序设计,学生要开发《试题自动提取系统》、《成绩管理系统》等项目,而Java程序设计课,学生要设计基于Java程序设计的网站开发和数据库利用,学生只有把这些课程设计做好了,学习的知识才能得到应用和巩固,如果仅限于课本知识,程序设计语言是学不好的。因此学生一定要开发设计系统才能把计算机语言学活用好。
四小结
本文通过对程序设计课的探析,总结了教学过程中存在的问题,并针对存在的问题,从教师教学和学生学习两方面提出了相应的对策,对教师的教学和学生的学习有一定的参考价值。?
参考文献:
[1]马学梅.《C程序设计》课堂教学探讨与反思[J].科技经济市场,2008(10).
[2]谭浩强.C程序设计教程[M].北京:清华大学出版社,2007.
[3]余华,何玉香.Visual Basic程序设计[M].北京:北京理工大学出版社,2005.
[4]刘宝林.Java程序设计与案例[M].北京:高等教育出版社,2004.
[5]戈.老三论·新三论[J].教育发展研究,1987(1).
[6]童克波.“项目引导、任务驱动”型教材编写创新研究[J].实验科学与技术,2011(4).
[7]康桂珍.试题自动取系统的设计与实现[J].现代教育技术,2012(1):103-106.
(编辑:李晓萍)
关键词:程序设计;教学法;问题;对策
中图分类号:TP311 文献标识码: B 文章编号:1673-8454(2012)19-0061-03
程序设计课在教育技术学专业非常重要,笔者认为程序设计课除了让学生掌握基本的语法知识外,更重要的是让学生掌握算法的基本思想,能够解决实际生活中的程序设计问题。
一、程序设计课教学现状
1.教学过程中存在的问题
通过查阅大量资料,笔者发现程序设计课教学总体上过分注重计算机语言知识的讲解、机械式训练,缺乏对学生语言运用能力的培养,课程内容与实际的生活联系不够紧密。教学中忽视对学生提取信息和处理信息能力的培养,忽视对学生分析问题、解决问题能力的培养,单一的、“满堂灌”的教学方法和被动的学习方式难以形成综合的语言运用能力,难以开发学生的思维能力和分析问题、解决问题的能力。[1]
通过多年的《C程序设计教程》[2]、《Visual Basic 程序设计》[3]及《Java 程序设计》[4]的教学实践,笔者发现了教学过程中的一些实际问题,例如:教师上课PPT用的多,讲授的内容多,学生难以理解;学生听的多,做的少,下课后面对众多的内容无从下手,学习热情慢慢减弱。很多学生在实践课上不动脑筋,纯粹是验证程序,有些学生甚至在没有理解的情况下就算完成调试任务,课后不会自主学习,同学间缺少合作。
2.存在问题形成的原因分析
(1)课程本身的原因
程序设计课,学生在初高中阶段接触少,入门难。
程序设计课本身难度大、综合性强,要求学生有较好的逻辑思维能力。
程序设计课注重算法思想的形成和实际问题的解决能力。而原来初高中知识以识记和理解为主,两者之间学习模式不一样。
(2)教师方面的原因
教师为了让学生掌握程序设计知识,过于注重细节和语法规则,而忽略了算法思想的形成、思维能力的培养以及解决问题能力的培养。另外,教师在每节课教学内容的安排上,由于受课程内容和教学时间的双重限制,造成每节课内容太多,对学生来说就会产生一定的认知负荷。
(3)学生方面的原因
学生学程序设计不应该像学数理化课程一样死记语法规则和公式,而应该把握程序设计的核心思想——算法。学生自身受初高中学习习惯的影响,不会自主学习,事事都要依赖老师。而学习计算机语言要多学多练多看,程序是编出来的,不是老师上几节课就能教出来的;同学之间也需要养成协作学习的好习惯。
二教师在程序设计课程中的对策与方法探析
1.以系统科学理论为研究方法,科学安排教学过程
系统科学理论要求把事物当作一个整体或系统来研究,并用数学模型去描述和确定系统的结构和行为。系统论强调整体与局部、局部与局部、系统本身与外部环境之间互为依存、相互影响和制约的关系,具有目的性、动态性、有序性三大基本特征。[5]
这些理论用在教学过程中可以指导教师的教学和学生的学习。在教学过程中,教师布置任务要适度,既不能太难,也不能太容易,要做到让学生跳起来摘桃子;对待学生更不能一刀切,要对学生模底,因材施教;学生分组进行课题研究,需要学生之间分工协作,统筹安排。因此学生学会了自主学习和协作学习。例如,我们针对学生的实际情况,在设计项目的时候按照学生基础不同、兴趣爱好不同、技术基础不同对Visual Basic 程序设计课程中的学生进行分组,分为:游戏组、教学开发组、社会服务组等项目组。改变了教学方法后,课程的教学质量明显提升,教学效率明显提高。
2.不断创新教学方法,提升教学质量
在程序设计课中如何创新教学方法,笔者认为提升教学质量是关键因素。
(1)项目引导、任务驱动
项目教学以“项目引导、任务驱动”为主要形式,将实践项目贯穿于教学的始终,用实践任务进行新知识的引入,激发学生学习的原动力。[6]
笔者把原来每节课的任务驱动转换成课程的综合设计——项目引导、任务驱动模式。比如,在上Visual Basic程序设计课的时候,课程一开始,就给学生设计了若干项目:《试题自动抽取系统的开发》及《学生成绩管理系统的开发》等项目,并说明这些系统开发过程中要用到Visual Basic的相关知识,从界面的设计到过程的调用,从菜单的开发到数据库的调用,几乎每个知识点都用得上,这样学生就有了明确的学习目标,在学习每一部分知识的时候就会留意该怎么用上去。学生在学习过程中,既能把握整体知识又能掌握各个知识点,这种教学效果很好。学生在交作业时,开发出了很多实用的系统。《试题自动抽取系统》(如图1所示)已经用在各门课的试题库建设中,《学生成绩管理系统》也已经部分试运行,《汽车销售系统》已初步成形,可供其他单位使用。一些游戏软件稍加修改,就可供游戏爱好者使用。
(2)综合利用媒体资源,创新教学模式
C语言教学采用的教学方法是“多媒体 板书 上机调试”的形式,这一教学方法的使用,提高了教学效率,丰富了教学手段。
在Java课堂教学中,我们尝试了用QQ工具进行教学。例如在Java程序设计课的教授过程中,让同学们安装Java开发机,教师把软件包准备好,放在QQ共享中,学生下载安装就可以了。安装过程中学生看不清路径,教师直接就在QQ 群中通过即时消息框把路径发给学生。在多媒体制作课程教学中,遇到文件扩展名不一致的问题,教师引导学生从网上下载“格式工厂”,学生很快就掌握了转换方法,把多媒体制作学会了,还能举一反三到其它知识的学习中。因此,综合利用媒体资源进行教学,也是程序设计课教师创新教学模式不可或缺的一部分。
(3)改变课程评价方法,促进教学质量提升
我们在教学过程中对考试模式进行了修改,由原来的教师出题考试变成了试题库,而且可具体到每一章节,试题实现自动抽取(如图2所示),[7]这样学生可以随时检验自己的学习效果,便于及时发现问题、解决问题,使其学习效果得到极大提高。 (4)肯定学生能力,挖掘学生潜力
在上Visual Basic程序设计课时,当教师给学生设计项目时,学生几乎还没开始学习这些课,学生们担心在期末时,根本无法完成老师布置的任务。这时,老师一定要给学生足够的信心,通过梳理以前的知识,找出学生可用知识和需补充知识,还需给学生明确几本实用的参考书,这个过程教师一定要精心组织、认真安排、循循善诱,决不能布置下任务就算完事。例如:在Visual Basic程序设计教学开始之时,我们就给出了两本参考书,并划出需参考的章节,这样学生就可一边学一边做,既培养了学生的自主学习能力,又教会了学生开发系统的方法,为其以后走向社会打下了坚实的知识基础和技术基础。
三学生在程序设计课中的对策探析
1.培养学习兴趣
学生在刚开始接触课程时,需要有一个入门的过程,因此要着意培养他们的学习兴趣。具体应从以下几方面着手:
(1)明确学习目标,激发学习动机
学生有了明确的学习目标,学习过程中才会有的放矢,才能持之以恒,否则就会得过且过。比如:C语言程序设计是其它语言和计算机软件的基础,C语言程序设计掌握了,Java语言学习有了好的基础,Flash中的结构控制就容易理解了,同样网页制作中的控制结构就好理解了;如果C语言程序设计学不好,后续课程的学习将会很困难。只有让学生知道了C语言程序设计课的重要性,明确了学习目标,才会激发他们的学习动机。
(2)与实际生活结合,引起学习兴趣
不管是C语言还是Visual Basic程序设计,都是为解决实际问题而学习的。学生在学习时,一定要从实际生活中找问题、解决问题。从简单问题入手,从实际问题出发,才能引起学习兴趣。例如:对数的排序,不仅可以解决比赛排序问题、成绩排序问题,甚至还可以解决图书资料的排序问题以及试题提取中试题的排序问题。这样从实际生活的需要出发,学生的学习兴趣就会越来越大。
2.学会循序渐进
万丈高楼平地起。其实学程序设计语言没什么诀窍,除了多看、多想、多练、多编,没什么好的捷径。这就要求学生要学会在教师引导下循序渐进。从基础开始,先编顺序结构、再练选择结构和循环结构,当这些基础打牢了,再学数组、函数和指针就容易多了。
3.改变学习方法
在初高中学习阶段,教师的主导地位比较明显,不管什么课,教师都会反复多遍讲解以促进学生的理解和记忆,而大学教育,学习的内容多,知识量大,教师不可能像高中学习阶段那样一个知识点讲很多遍,学生必须改变学习方法,适应大学教育。大学有很多的网络课程和论坛供学生学习和讨论,学生要学会自主学习和协作学习,教师在教学过程中起主导作用,学生除了被动的接受学习外,还要学会自主学习、协作学习和发现学习。
4.认真做好课程设计
每一门程序设计课程的学习,最终结果都要体现在课程设计中。比如:C语言课程会让学生统计本学期班级成绩和排序,学生只有认真做好课程设计,才能掌握程序设计方法。Visual Basic程序设计,学生要开发《试题自动提取系统》、《成绩管理系统》等项目,而Java程序设计课,学生要设计基于Java程序设计的网站开发和数据库利用,学生只有把这些课程设计做好了,学习的知识才能得到应用和巩固,如果仅限于课本知识,程序设计语言是学不好的。因此学生一定要开发设计系统才能把计算机语言学活用好。
四小结
本文通过对程序设计课的探析,总结了教学过程中存在的问题,并针对存在的问题,从教师教学和学生学习两方面提出了相应的对策,对教师的教学和学生的学习有一定的参考价值。?
参考文献:
[1]马学梅.《C程序设计》课堂教学探讨与反思[J].科技经济市场,2008(10).
[2]谭浩强.C程序设计教程[M].北京:清华大学出版社,2007.
[3]余华,何玉香.Visual Basic程序设计[M].北京:北京理工大学出版社,2005.
[4]刘宝林.Java程序设计与案例[M].北京:高等教育出版社,2004.
[5]戈.老三论·新三论[J].教育发展研究,1987(1).
[6]童克波.“项目引导、任务驱动”型教材编写创新研究[J].实验科学与技术,2011(4).
[7]康桂珍.试题自动取系统的设计与实现[J].现代教育技术,2012(1):103-106.
(编辑:李晓萍)