前言:中文期刊网精心挑选了计算机编程自学教程范文供你参考和学习,希望我们的参考范文能激发你的文章创作灵感,欢迎阅读。
计算机编程自学教程范文1
关键词:网络教学;任务驱动;程序设计能力
中图分类号:G642 文献标识码:A
1程序设计能力培养的现状与存在的问题
程序设计能力在计算机学科知识体系结构中具有核心位置,对计算机专业的学生来说,他们不仅应该具备这种职业技能,它也是学生学习后续专业课程所应具有的基本能力。目前我国高校计算机专业在培养学生的编程能力上存在很多问题。第一,各门课程相互独立,没有从整体上进行良好的规划和安排,各自的培养目标和任务不明确,因此,每门程序设计课程都从讲解最基本的语法开始,把有限的时间浪费在不必要的重复上。第二,教学重点没有放在编程能力的培养上。教师通常按照一本教材,将上面的知识点一一给学生进行讲授,由于课时有限,课程结束时,学生学到的仅仅是程序设计语言的基本语法,而真正的编程能力却没有得到培养。第三,学生成绩考评通常以期末笔试试卷成绩为主,在这种成绩评定模式下,学生把大量时间浪费在对语法的死记硬背上,更加抑制了学生编程能力的形成。第四,在教学中教师处于绝对主导地位,学生只是被动地接受,不能充分发挥学生的主观能动性。由于实际教学中存在的这种种问题,造成的直接后果就是大部分学生没有真正具备基本的编程能力,“成绩好”的学生并不意味着具有优秀的编程能力。从以上分析我们已经看到,要使学生真正具备高水平的编程能力,在教学模式和教学方法上必须进行大胆的改变。为此,我们提出了一种全新的程序教学模式――基于网络教学的程序设计能力培养模式。
2基于网络教学的程序设计能力培养模式
2.1编程能力培养相关课程的整体规划
首先,作为教师我们要分清程序设计语言的教学和程序设计能力的培养是完全不同的。程序设计能力的培养需要若干门程序设计语言以及其他计算机专业课程的相互配合,程序设计能力的形成是一个循序渐进,各种计算机专业只是相互融会贯通的过程。要使学生获得高水平的编程能力不是简单的一蹴而就的过程,不是一个教师或一门课程就能办到的。对此我们必须有充分的认识,从整体上做好编程能力培养的各课程的整体规划,使各课程紧密配合,共同完成培养编程能力的目标。
整个学院要以培养编程能力为核心,重新安排各相关课程的顺序、应完成的目标和任务。(1)将编程课程划分为连续相关的三个阶段,分别是基础编程、编程提高、综合编程。这样的课程规划和传统的基本是相似的,问题的关键是我们必须使各部分紧密配合。(2)将学生应该掌握的所有知识和能力进行划分,为每一阶段确定明确的目标和任务。(3)按照阶段目标和任务的划分重新编写教程,避免无谓的重复,使各阶段有效配合,编写合适的教程是我们的重点和难点。(4)为每一阶段建立明确的达标点,学生只有在该阶段达标的情况下,才能进入下一阶段的学习。(5)成立专门的编程能力培养教研室,组织教师以培养学生编程能力为中心相互配合,相互交流,而不是各自为战。
2.2基于网络教学的程序设计能力培养
进行了整体的规划之后,我们应该如何有效地完成各阶段的教学呢?传统的方法是课堂讲授加上机实验,结果表明这种方式没有取得好的效果。由于程序设计课程和我们传统的理工科课程有着很大的不同,它非常强调实践,实践越多效果越好,只掌握理论不进行实践,可以说根本不能培养出编程能力。如果我们仍使用课堂讲授加实验的老模式,再加上课时的限制,结果必然是导致学生重理论、轻实践。所以,我们必须进行彻底的大胆的改革。我们提出了如下措施。
(1) 学生通过视频课件自学基础知识。程序设计课程的理论比较简单,难点是上机操作和学生运用知识去创造性地解决问题。在教学实践中我们也经常听到学生反映上课都听懂了,老师讲过的例子也都没问题,可让自己去编写调试一个简单的程序往往做不出结果。传统模式中教师将大量的时间用在学生比较容易理解的语法上,当然也就没有时间对学生进行真正的编程能力和上机操作的培养。学生自学基础知识,一方面可以培养学生的自学能力,另一方面可将节约下来的宝贵的课堂时间用于上机实践。
(2) 采取真正以学生为主体的任务驱动式学习。首先将课程内容划分为几个阶段,每一阶段包含相关的若干知识点,经过精心设计将知识点融入到系列任务之中,让学生通过完成任务掌握知识培养能力。例如对循环知识点的学习,教师可设计若干个任务,其中第一个任务给出设计过程及代码,第二个给出设计过程,第三个只给出问题描述,这三个任务要求学生必须完成,再给出若干难度递增的任务让学生选做。每一阶段的所有知识点全部学习完成之后,再为该阶段设计几个较为复杂的综合性任务。整个课程学习完之后,对学生进行分组,要求每组必须完成一个综合性的项目。
(3) 培养扎实过硬的上机调试纠错能力。学生觉得编程难主要有两方面的原因:一是没有形成解决问题所需的良好的逻辑思维能力,二是觉得上机调试纠错难。特别是调试纠错成了学生学习编程的一道难于逾越的鸿沟,作为教师有责任为学生搭建一座通向彼岸的桥梁。根据以往的教学经验,学生在上机过程中会遇到许多共性的问题,如果我们能将为学生解决问题的过程公开在所有学生面前,一定可以起到事半功倍的效果。为此,我们可在实验室中配备一台投影仪,将正在问问题学生的电脑屏幕投影在大屏幕上,这样教师的解答便可让所有关心此问题的学生知晓。通过这种方式,肯定能有效提高所有学生的调试纠错能力,从而为编程能力的形成奠定坚实的基础。
(4) 充分实现教师与学生,学生与学生之间的交流互动。教师通过指导学生上机的过程实现了与学生的充分交流,还可以通过网络教学系统中的答疑系统、论坛等与学生进行更深入的交流。这种充分的交流是传统课堂教授方式所难以达到的,在此基础上,教师可阶段性地总结学生存在的问题,并进行重点讲解。教师的这种有针对性的讲解,往往能得到学生的高度关注,从而获得非常好的教学效果。
(5) 成绩评定充分重视实践。要使学生真正重视上机实践,必须改变传统的重理论轻实践的考试方式。学生的最终成绩可由三部分组成,一部分是平时成绩,一部分是期末考试成绩,一部分是综合项目成绩。平时成绩由教师根据学生的出席情况和任务完成情况打分;期末考试采用在线考试,试题包含理论部分和编程实践部分;综合项目分由学生所在小组的项目得分和小组内成员的打分综合评定。
(6) 支撑环境的建设。首先是网络教学系统的建设,要求系统具备视频课件、Powerpoint课件、各种参考资料、答疑系统、网上论坛等功能;其次是实验室的建设,除了配备投影仪外,还应将所有电脑建设成为可由教师集中控制的智能化的网络教室,这是值得进一步研究的课题。
2.3在其他课程中延伸编程能力的培养
具备基本的编程能力是后续课程如操作系统、数据结构等的基础,同时这些后续课程的学习又可以促进编程能力的提高。为每一课程设计一个综合性的大作业,既能加深对该课程的理解,又能进一步提高学生的编程能力。但是单凭教授该课程的教师指导学生完成大作业,肯定会心有余而力不足。所以,学院应该为这些课程配备若干名经验丰富的指导教师。
编程的精髓在于实践,学生通过完成大量的任务和若干个项目,一定能在大量的实践中逐步形成扎实的编程功底。
3总结
为了解决计算机专业学生编程能力普遍较弱的问题,在我院软件工程专业教学模式的基础上,通过深入地研究,我们提出了基于网络教学的以任务驱动为核心的编程能力培养模式。在这种教学模式中,能充分发挥学生的主观能动性,学生是真正的主体,教师只是一个引导者;以培养学生的编程能力为中心,强调通过大量的编程实践在潜移默化中逐步形成扎实的编程基本功;这种模式注重编程能力培养的连续性,认为编程能力的培养不仅要依靠程序设计课程,还要在其他专业课程的学习中不断得到加强和提高。
在实际教学中,我们用此种模式对部分学生进行教学,实践证明这种模式对学生编程能力的形成有良好的效果。这种模式对提高学生的编程能力有较强的现实指导意义,但是它还存在着不足和需要改进的地方。例如,连贯的相互配合的教程的编写,建设智能化的网络实验室,教师队伍的组织和管理都是值得我们继续深入研究的问题。在以后的教学中,我们还会不断探索,继续丰富完善这种模式,使之能够为我国的软件行业培养出具有过硬编程能力的人才作出贡献。
参考文献:
[1] 李陶深.以能力培养为核心的程序设计课程教学研究与探索[J].广西大学学报,2008(9),36-37.
[2] 周荣辉.学生程序设计能力培养的思考[J].吉林大学学报,2005(8),122-126.
[3] 翁健红.提高学生编程能力的实践与思考[J].科技信息,2007(17),217.
[4] 舒兰英.以小组学习模式进行软件工程的教学[J].西华师范大学学报,2003(1),138-140.
To Explore the Programming-Capability-Building Mode Based on Web-Teaching
SHU Lan-ying
(School of Computer Science, China West Normal University, Nanchong, Sichuan 637002, China)
计算机编程自学教程范文2
关键词:程序设计;教学方法;能力
中图分类号:G642文献标识码:A文章编号:1009-3044(2008)31-0922-02
An Exploration of VB Program Design Teaching Methods
REN Hong-jian
(Nantong University, Nantong 226019, China)
Abstract: In teaching program design, finding new ways to solve the dryness and complexity of program design has always been a fascinating subject for many computer science educators. This article provides several ideas on the following aspects of teaching VB program design: how toimprove course quality, how to enhance the teaching effectiveness, how to nurture and strengthen students’ ability and creativity in analyzingand solving a design problem, etc.
Key words: program design; teaching methods; aptitude
1 引言
掌握和应用好计算机知识是当代大学生必须具备的基本条件,为此,国家教育部根据高等院校非计算机专业计算机培养目标提出了“计算机文化基础”、“计算机技术基础”、“计算机应用基础”三个层次的教育体系。VB属于第二层次范畴的计算机编程语言,已被列为公共必修课程。
程序设计语言类课程的指导思想是:使学生通过学习既掌握高级编程语言的知识、编程技术和基本算法,又掌握程序设计的思想和方法,更具备利用计算机求解实际问题的能力,能灵活运用高级语言进行程序设计。其重点是培养学生掌握程序设计的思想和方法,难点是作为程序设计的入门课程,应当如何引导学生突破传统的思维方式,培养程序设计的新思想。本文结合教学实践与理论思考,谈谈在教学上的一些经验和体会。
2 VB教学中存在的问题
第一,课堂教学模式单一。目前,Visual Basic 课程的教学模式主要是使用多媒体教室,教师采用Powerpoint课件加实例演示的教学模式,该模式比以前的“粉笔”+“黑板”教学模式有了很大的提高,加大了课堂的信息量,更直观形象了。但如果仅采用这样单一的教学模式,学生的学习过程还是以教师为中心,课件的信息量很大,授课速度又快,学生的自主学习和协作学习的积极性仍然没有得到充分调用;第二,上机实验过程中,学生是自主学习,忽视教师的引导作用。首先,在上机实验中,教师布置上机的任务后,学生自行练习,教师就忙于解答学生提出的问题,而不引导全局。在这种放任学生自主练习的状况下,整个上机实验过程节奏松散,而实验任务对大部分同学来说台阶过高,于是学生感到很茫然,便很快就丧失了学习兴趣,甚至厌恶上机。其次,上机人数又多,学生遇到的问题往往得不到教师的及时解决,于是挫折感增加,产生厌烦心理。
3 教学方法的探索
3.1 实例教学,培养学生的学习兴趣
程序设计是一种构造性的技术,对于学生来说,程序设计的思维方式和概念都是全新的,学生接受起来很困难,因此必须研究程序设计的教学方法。教学的过程是师生交往、共同发展的互动过程。在程序设计教学中要从学生的兴趣入手,利用学生对事物的好奇心,选择一些有趣的、有实际意义的程序,激发学生的学习兴趣。俗话说:教无定法,学无定法。打破课本原有以知识的逻辑结构体系为顺序组织课堂教学的方式,以学生的已有知识为基础,按照学生的认知规律,遵循先易后难、先具体后抽象的原则,通过观看、模仿、理解、总结、提高五个阶段进行教学。让学生成为学习的主人。
兴趣是最好的老师,兴趣决定了教学效果的好坏。让学生明确学习目的很重要,而教师还要在教学过程中去提高学生的学习兴趣,使学生对学习本身或过程有兴趣,而不是在外界剌激下只关心学习的结果,这直接影响到学生对这门课程的学习效果。教学中仅仅单纯地传递教材内容是不够的,在第一堂课中,教师应从学生的兴趣入手,利用其对事物的好奇心,选择一些有趣的、有实际意义的程序,从一开始便激发学生的学习兴趣。
3.2 创设问题情境,激发学生学习的主动性
在教学过程中提出问题,集中学生的注意力,促进学生主动思考、主动探索,可以使学生在学习的过程中成为主体。实际上,问题是最好的老师,是学生学习的引导者,没有问题便没有深入,老师要引导学生在解决问题中学习,即提出问题,留给学生时间思考、讨论、解决问题,从而更深入地展开学习。实践证明,这种教学方法充分调动了学生学习的积极性和主动性。
例如,在讲数组的概念时,老师先设置问题编程计算10个数的和。根据以前所学,学生会想到需要定义10个变量用于存放这10个数。再进一步要求计算50个数的和。这时候如果再定义50个变量,则会非常麻烦,学生此刻开始思考该如何合理地声明变量。再深人一步求100个数的和。此时,当教师引出数组的概念、分析数组的性质时,学生不仅能够很容易记住数组的性质,还能够知道在什么情况下使用数组,事半功倍。
3.3 举一反三,培养学生的创新思维
编程教学的根本目的是要使学生能够独立地编写程序,而这正是编程教学中最大的难点。在实际教学中,笔者采用以下几步措施来逐渐使学生能够独立编一些简单的程序:第一步精讲例题,详细分析其算法,逐一列出解题步骤,给出完整程序;第二步精心挑选很多程序题,让学生阅读程序,写出程序执行结果,这一步十分关键,读懂理解人家的程序是以后自行独立编程的前提;第三步是让学生做程序填充题和程序改错题,即给出相应程序,把其中一些关键地方留空,让学生填充,或在程序中提供一些错误语句,要求学生修改正确;第四步出一些类似例题的编程问题,让学生模仿完成;第五步让学生独立编写简单的程序。例如,为了让学生独立解决求s=1-1/2+1/3-1/4+...+1/99-1/100的程序,首先详细分析了求s=1+2+3+...+99+100 的编程,程序如下:
Dim i As Integer
Dim sum As Integer
sum=0
For i=1 to 100 step 1
sum=sum+i
Next i
Print "sum="; sum
然后,将上题中“For i=1 to 100 step 1”这一语句略作改动:①For i=1 to 100 step 2;②For i=0 to 100 step 2;其余不变,让学生阅读程序并分析。程序①实际上是求100 以内奇数之和,程序②实际上是求100 以内偶数之和。再将上题中sum=sum+i 这一语句改成sum=sum+1/i,其余不变,那又如何呢?学生很容易得出程序实际上是求s=1+1/2+1/3+...+1/100,进一步引导学生,这个程序有什么问题?答案是由于求和结果不可能是整数,故语句Dim sum As Integer 应该改成Dim sum As Single。再引导学生思考,要求s=1-2+3-4+...+99-100的编程,上题中循环体sum=sum+I 应该怎样改动? 结合相关数学知识,学生很自然得到正确结sum=sum+i*(-1)^(i+1)。有了上述的层层铺垫,相信学生是能够独立完成s=1-1/2+1/3-1/4+...+1/99-1/100 的程序代码设计的。
能独立编程后,还应善于总结。有些编程题,表面上看起来好象不一样,它们实质上可以用一道通用的程序来实现,只要改变其中的一条语句就可以了。如:
例1:编程求任意三个数中的最小数。
例2:编程求任意三个数中的最大数。
例3:编程求任意三个数中的中间数。
例4:编程将任意三个数从大到小输出。
例5:编程将任意三个数从小到大输出。
这五个编程题,虽然不一样,但只要会编写其中的一道题程序,其它题目只要在这道题程序的墓础上,修改最后的PRINT语句就可以了。
4 根据课程特点,做好归纳小结
程序设计的教学,一般都是从局部分散地讲,如果不归纳总结,学生则难以形成完整、清晰的框架,因此,教学中要及时归纳、做好小结。归纳可以是一个控件多方面(如事件、属性设置等)的归纳,也可以是对一种结构的归纳(如分支结构的归纳)。总结可以是一课的总结,也可以是几课的总结。归纳总结的形式也可以多种多样,可以使用文字概括,也可以使用图示总结,重难点要着重强调。这种归纳总结,一方面有利于学生理解知识、融会贯通,顺利实现知识迁移,另一方面对于提高学生的学习效率也有很大的帮助。
总之,教学方法在程序设计教学中举足轻重,它制约着程序设计教学的效率。虽然教无定法,但万变不离其宗,绝不能离开程序设计的教学内容和教学目标、脱离学生的知识背景和认知规律。采取符合学生认知规律的、科学的教学方法,必然会提高教学效率,取得事半功倍的效果。
5 不断培养学生的自学能力
在教学中笔者还注意不断培养学生的自学能力。自学能力在大学生能力层次当中属于最重要最基本的,首先,有了自学能力就可以通过课外阅读,学到课本里没有的东西,知识丰富了,眼界也开阔了,对于活跃学生的思想,提高科学思维能力大有好处:它可以使学生打破老师和课堂的限制,在学习上获取更大的自由。其次,学生在学校里生活毕竟是短暂的,现在提倡终身教育,将来不论他们从事哪种工作,都需要在工作中不断提高文化科学水平,这种提高主要靠自学,即自已阅读有关书籍和报刊,运用已掌握的知识,去认知新知识,自觉发现问题,再归纳概念,作出判断,进而解决问题。再次,针对计算机的飞速发展、日新月异的特点,自学能力的成长和提高,显得更为重要。
在不断的教改实践中,笔者始终坚持一个指导思想,即充分相信学生的学习潜力,减少学生对教师和教材的依赖性,激发学生的学习兴趣,提高学生学习的主动性,培养学生的好奇心,从而发展学生的分析能力,观察能力和独创能力,使学生真正成为课堂的主体。
参考文献:
[1] 牛又奇,孙建国.新编Visual Basic 程序设计教程[M].苏州:苏州大学出版社,2002.
[2] 沈国珍.《VB 程序设计》课堂教学的探索与实践[J].福建电脑,2007(4).
计算机编程自学教程范文3
关键词:中等职业技术院校 计算机 专业设置 发展
在职业技术教育类的培训中,计算机专业处于一个不断下滑,日渐淡化的境地,再没了曾经的热度。这是社会发展的阶段性的必然结果。短短20年的时间,计算机从无到有,从单位到家庭,从稀有到普遍,发展异常迅速。如今,传统的计算机普及率和电脑相关知识的普及率都已经很高了。
面对这种情况,我们职业技术类的计算机专业应该如何生存并发展,就成为了一个问题。就此,谈及以下几点,与同行进行交流分析。
一、与其他专业相结合的教学设置
计算机本身就是一个工具而已,发展到现阶段,正是将它“工具”的属性特征表现了出来。如今各行各业计算机的使用是广泛而普及的,计算机作为基础的支撑平台已是最基本的现实了。
这就为我们计算机专业带来了一个生存的空间,那就是与其他专业的结合,在协助他们培养出高素质、多技能的人才同时,伴随着其他专业的成长而成长。
例如:财会类专业。如今的金融、税收、财会电算化系统俱已是网络化的工作了,一切程序都由网络办公进行解决。社会需要能够掌握新型工作方式的人员,而我们则可以将自身专业知识与财会类传统专业知识相结合,协助他们提高培养目标的同时,为本专业的发展开辟新的道路。
这个方式几乎可以与所有的专业相结合,如:汽车类专业。如今汽车制造工艺的核心除发动机研发,几乎全部都是由电脑主板控制,汽车故障则采用电脑诊断仪来进行判断处理。
还譬如:医护专业。现代医疗的模式更依赖先进的医疗设备,由电脑控制的设备对采样数据进行分析,其结果成为如何治疗的基本依据。
再如现代工业4.0的提出,现代制造业的技术升级,机器人替代人力劳动率的不断提高等等,这些压力必将迫使职业技术教育要培养出更高素质的人员。
二、自身专业的教学设置
就自身专业而言,计算机的软、硬件的发展与更新都是非常迅速的。计算机专业的教学设置更是要追求:创新,务实。
创新就是新知识、新技术的不断学习更新,并将新知识和发展的趋势尽快传递给学生,以使其适应发展的要求。
务实就是面对社会的发展,一要及时调整更新专业设置,培养出社会需要的人员;二要及时调整专业教程,培养出符合社会需要的技能突出的人员。
三、意见与建议
职业技术教育教学是非常困难的一件事情。面对着基础文化知识不扎实,学习能力不高的学生,想要把专业的新知识与技能传递给他们确是一件不容易的事情。笔者认为还是要把握好基础与应用两个方面来开展。
1.基础方面
掌握好理论与实际操作的分配。事实证明,案例教学对本专业是一条很好的路径。在案例教学中,由于职业教育对象的特殊情况,往往会在理论与实际操作的教学分配上出现不同意见。个人意见:如硬件的原理、软件的编程基础数据结构等课程还是要有的。这样的基础课程由于教学效果不明显,实际应用不上,往往被忽视了。但是这样的基础课程,对于一个学生未来的成长是至关重要的。它可以使得学生在离开学校后具备自学的能力,受益终生。
2.应用方面
这应该是工作的重点,学生培养的最终目标是由这个环节体现出来。学生所掌握的技能多与少、水平的高和低,对于社会需要的适应性,都由应用这个环节的工作成果来决定。
在应用方面,笔者认为教程的设置应该在除了考虑专业自身传统教程的设置需求以外,更加需要考虑到社会的现实需要来进行教程的设置,从而达到教育目标。
例如:电子商务专业。作为现在的一个社会的行业热点,我们在做教程设置时只教授计算机的传统知识显然是不行的。如何解决呢?
我们可以将之细分。就电子商务专业而言,可以开网店。那么店铺的装修,可以设置绘图设计等专业软件教程;还需要进行产品推广,那么就设置广告宣传、产品设计等专业软件教程;不开店做运营,那么就可以设置网络安全等专业软件的教程。
一个专业的设置,其基本培养目标是让学生在掌握基本的专业知识上,加强对现实社会需求技能的培养,成为社会需要的人员,从而实现专业设置的目标。
四、小结
今天的计算机专业虽然面临着阶段性的困难,但是应该说现在又是一个非常好的机遇。传统的计算机已经被网络所替代,传统的PC也已经为移动终端取代,智能化的发展成果将很快走进生活。
计算机编程自学教程范文4
【关键词】C语言;程序设计;项目教学
C程序设计是计算机专业的一门必修课程,也是学习如何编程的入门课程。不少高校不仅在计算机专业开设了C语言的课程,而且在非计算机专业也开设了C语言课程。我院建筑工程学院各专业也开设了这门课,主要是培养学生逻辑思维能力。但每学期期中教学质量检查的学生座谈会上,都有学生提出C语言枯燥、难学的问题。为此,我们专门成立课改小组,分析问题存在的原因,并探究改善教学效果的方法,让学生真正喜欢上C语言,并能从中学到一些编程方法和技巧,为以后专业服务。
1.目前存在的问题
传统教学方式多以课堂讲解、小程序模拟为主,学生虽然理解了各章节知识点,但遇到一个复杂问题仍然不能综合运用所学知识来解决它。实验课大多是验证性是实验,缺少设计性实验。学生在调试程序过程中,出现编译错误,不能快速找出原因,缺乏理论与实践相结合的能力和英语阅读能力。由于上机学时有限,课堂不能完成的实验需要学生课后继续完成,在自学过程中有疑问,是查找资料解决还是请老师帮助都是我们改善教学效果要解决的问题。另外,学生在学期前1/3时间里还能保持精神集中、兴趣饱满的状态投入学习,但随着内容难度的加深,慢慢会出现畏难、厌学等情绪,需要老师多加鼓励,并利用学生感兴趣的游戏、管理系统、图形等案例激发他们的学习兴趣。
2.改变教学方式及方法,合理评价学生能力
2.1 项目教学,注重能力培养
实践中我们采用“项目驱动”教学法对整个教学过程进行整合,课程教学从学科式课程模式改变为工作过程导向课程模式,整个教学过程分为两个阶段:基础知识储备阶段和项目开发阶段。基础知识储备阶段,结合教材章节设计简单的任务,使学生对C程序设计的基本概念、基本语法规则以及基本编程技巧进行熟悉、演练,直至基本掌握。我们选择了通讯录输入输出、计算器设计、个人所得税计算、九九乘法表等小实验引出相关知识点的学习。项目开发阶段,学生以小组为单位选择适当的项目按照一定的规范进行项目实践。我们的项目包括系统类、小应用程序类和游戏类。通过教师的指导,以及学生自己到图书馆查阅资料或网上咨询,以小组为单位完成程序的编写,并能运用学过的技巧独立上机调试完成。以团队协作的方式,培养了学生的创新精神、创新能力,调动学生学习的主动性,挖掘学生的学习潜能,激发学生的学习热情,让学生体验到学习的乐趣。
2.2 精选案例,激发学习兴趣
在课堂中我们引用了生活中的一些实例来讲解知识点,比如以“计算器设计”讲解switch语句的用法,以“ATM界面设计”为例讲解函数的调用,以“扫雷游戏”中旗子、雷爆炸为例讲解图形函数的应用等。举例宜少而精,分析应细而透,要尽可能安排较多的上机时间,让学生有充分锻炼、展示才华的机会。
C程序设计是一门实践性很强的课程,学生只有在实际编程过程中才能提高自己的能力,唯有通过实践,学生才可以加深理解,培养兴趣,获取知识。比尔·盖茨及他的伙伴艾伦·保罗的编程知识基本上都是从实践中摸索出来的。因此教师的主要作用是“授之以渔”。只要有兴趣,无师也能自通,而且兴趣的培养比知识的获取更为重要。
2.3 项目考核,掌握整个程序开发过程
C程序设计课程我们采用项目考核与平时成绩相结合的考核方式,培养学生使用程序设计方法求解问题和编程的能力。在项目开发阶段,我们为学生提供多个题目,各设计小组自由选择,也可以令立新题目,要求每个班题目不能相同,小组共同讨论分析所选项目的基本功能,引导学生进行系统总体设计,画出项目模块功能图,分任务模块编写代码,最后提交项目报告。
课程成绩由两部分构成:平时成绩(包括平时作业、课堂表现等)占40%,项目考核成绩占60%。项目考核成绩按100分记,具体得分标准见表1。
3.创新教学手段
3.1 采用现代化教学媒体
积极制作和使用多媒体课件,充分高效地发挥这些教学工具的功能,但要注意讲课时不能将例题的程序代码一下子全部显示在屏幕上,运行时只能看到最后结果,学生没有机会思考代码过程,更无法体会其运行过程中可能出现的错误。较好的方法是,对于比较难理解的知识在课件中制作形象的动画,比如循环的执行用动态鼠标指针跟踪运行过程就能很好帮助学生理解。教师对经典的题目进行现场编程或将代码逐行显示,并设置典型错误,让程序在调试中完善,让学生在思考中掌握,引导学生读懂英文提示,提高程序改错速度。比如数组的赋值,可以采用分步执行,让学生逐步看到每个数组元素值的变化。
3.2 合理利用Blackboard教学平台
合理利用网络资源可以解决学生课外学习困惑和教师辅导答疑等问题。Blackboard(简称BB系统)是我院广泛使用的教学平台。在C程序设计的BB系统中,我们提供了该课程的所有教学资料,包括课程介绍、课程大纲、考核方案、课件、教学案例、项目报告模板等,还有常用软件的相关下载及讨论板,为学生提供作业提交、小组讨论、师生互动、作业评分等功能,方便使用,资源共享,沟通自由,是教学相长的好伙伴。
4.总结
在教学实践过程中,我们在内容上进行了合理的删繁就简,在教学方法上采取了项目驱动,在教学手段上采用了多媒体演示与板书分析相结合,对难于理解的概念设计了大量的动画说明。平时成绩和项目考试成绩评定采用了人性化评分原则。通过情境教学、项目教学、课堂讨论、上机操作等方式,给学生提供一个激发创造性的环境,真正做到以学生为中心。以上是我们在C程序设计教学中关于教学方法、教学手段等方面的一些微薄经验,已经收到了较好的成效,学生学习本课程的积极性明显提高,动手能力明显增强,教学质量显著提高。关键是学生参与了整个项目的设计与开发过程,对程序设计的思路与方法得到了新的认识和锻炼,培养了其逻辑思维能力,为后续专业课的学习奠定了基础。
参考文献:
[1]张燕红.C语言程序设计的教学探讨[J].电脑科技,2010,3.
[2]谢书良.创设“多元”条件,激发学生潜能[J].计算机教育,2010,1.
[3]冯林.浅析C语言程序设计教学[J].机电技术,2010,1.
计算机编程自学教程范文5
Abstract: Computer programming courses are the important specialized basic course in computer science, which are also applied courses, and are generally considered as the most difficult courses to understand and study. In order to arouse students' interest and passions of computer porgrammingcourses study, considering that most of students like to play computer games, the teaching theory of learning through play was introduced in the process of experimental teaching, teaching effects and quality have been improved.
关键词: 游戏化学习;程序设计;Robocode;Java
Key words: learn through play;programming courses;Robocode;Java
中图分类号:G42 文献标识码:A文章编号:1006-4311(2011)01-0211-02
0引言
程序设计课程不仅是计算机学科的专业基础课,也是很多非计算机专业学科的必修课,它是人们进入计算机世界的必经之路。特别是对于计算机专业的学生来说,程序设计课程更显得格外地重要,其重要性在美国计算机学会制定的CC2001教程和CC2002中国计算机科学与技术教程2002中的程序设计课程相关的教学内容和学时数比例(14个知识单元中程序设计与算法占3个,计90个核心学时,占32.2%)即可以体会到[1]。国内外很多著名大学都越来越重视程序设计课程,因为程序设计课程一方面是专业的启蒙课,通过程序设计使学生渐渐了解计算机是怎么工作的,通过程序设计使学生慢慢掌握该如何让计算机为我们解决各种各样的实际问题,如数学问题、物理问题、工程问题、管理问题等;另一方面,程序设计课程也是训练学生各种能力如抽象思维能力、逻辑判断能力、解决问题能力的重要平台。但是从实际教学效果来看,学生普通反映程序设计课程枯燥难懂,教学效果不甚理想。建构主义教学论原则指出:“复杂的学习领域应针对学习者先前的经验和学习者的兴趣,只有这样,才能激发学习者的学习积极性,学习才可能是主动的”[2]。为了激发学生持久的学习兴趣和产出极大的驱动力,教育工作者一直在不停地进行积极的探索,在程序设计课程实验教学过程中引入游戏化编程学习就是其中一个行之有效的方法。
1游戏化编程学习概述
游戏化学习(Learn through play),又称为学习游戏化,是指采用游戏化的方式进行学习。是目前在国内外比较流行的教学理论。爱好游戏是人类的天性,如果将学生对游戏的痴迷转化为学习的动力,则可以使教师的工作事半功倍。这正是游戏化学习研究的核心。
关于游戏化学习,目前存在两种观点:
第一种观点使用了评估中学习的理论,利用编制的教学游戏软件,将教学的内容通过游戏或网上竞技的方式引导学生学习,避免了传统教学模式的死板和枯燥。采用这种方式学习者处于被动接受知识的角色,适合年龄偏小的学习者,如中、小学生,这不是本文探讨的重点。
另一种观点认为游戏本身就具有学习性。因此,通过研究游戏的特性,用这些特性来改造学习机制,使得学习本身成为一项游戏――而不是将其中的内容通过游戏表达出来。这种观点主要存在于欧美国家,特别是新西兰。采用这种方式学习者是主动地积极地接受知识,适合具有一定自学能力的成年人,编程游戏就是其中一种,这也是本文探讨的重点。
编程游戏(Programming Game)是一类特殊的电脑游戏,通常以“机器人竞技仿真”的形式出现,它们有一个共同的特征:游戏玩家在游戏平台上使用某种编程语言创建和控制自己的机器人,把它放到赛场上同其他机器人比赛,直至分出胜负;游戏过程中,机器人不是由键盘、鼠标或操纵杆来控制,而是由游戏玩家为它设计的程序来自动指挥;游戏玩家最终目标就是编制一个高效的机器人控制程序来取胜。这类游戏具有很强的编程教学功能,以寓教于乐的方式,打破了传统教育的模式,让使用者在玩游戏的同时提高自身的学习水平,可以作为计算机语言课程有效的教学辅助工具。
2游戏化编程学习的实践
游戏化编程学习是指在学习游戏化观念的指导下,在教学设计过程中就培养目标、评价手段方面,就学习者年龄心理特征与教学策略等方面,借鉴游戏,设计、选择适当的游戏化编程学习工具、评价方法和教学策略。
2.1 游戏化编程学习平台的选择游戏化编程学习平台早期大多为欧美国家的编程业余爱好者自发组织开发,由于时间较早,界面较为简单;近年来一些AI(人工智能)教育专家为自己的专业领域搞研究也开发了一些游戏化编程学习平台,这些平台融入了更多的人工智能的策略因素;在选择游戏化编程学习平台时,考虑到高校目前程序设计课程多为面向对象程序设计的这一特点,引入Robocode编程学习平台。
Robocode是IBM的一位工程师MatNelson用Java语言所创造的机器战斗仿真引擎,是一款专门为程序员设计的游戏半成品。是一个很容易使用的机器人战斗仿真器,可以在所有支持Java2的平台上运行。开发Robocode程序是一个极佳的Java学习过程,是编程人员(学生)之间的智力较量。程序完全是由JAVA编写,并且玩家必须要创造一个继承自Robot类的类。Robocode的基本设计思路是:将不变的事物与变的事物隔离开来,其中不变的事物是Robocode的程序库,如对坦克的着色、画出等,而变的事物是坦克战斗策略的控制。这样游戏者(学生)只需专注于设计战斗策略,编写机器人坦克智能程序,让它能移动、进攻、防守、躲避、开火等,其对手则是其他程序员编写的智能程序。在学生竭尽全力编写自己的机器人去战胜对手的机器人的过程中,学生的编程能力就在不知不觉中无形提高。
2.2 制定教学目标教学对象:软件工程专业和计算机专业低年级学生,学生有C语言课程的学习经历。
教学目标:①培养学生建立面向对象的程序设计思想;②理解Java语言对封装、继承、多态等面向对象程序设计特性的实现;③学生能够使用Java语言来编写程序解决实际编程问题,为后续课程打好基础;④依据Robocode游戏规则,灵活创造出各种游戏策略;⑤培养独立思考、自主探索的习惯,以及不断进取的学习作风。
2.3 设计教学过程RoboCode把许多教学过程设计反映在其中,一个好的游戏化编程学习平台的选择意味着教学成功的一半,但RoboCode游戏化编程学习效果更取决于教师对平台功能掌握程度与驾驭的本领。
整个教学过程中,采用演示、讲解、编程、归纳、课外的教学模式,取得了良好的教学效果。
演示:抓住首次演示Robocode游戏时学生的痴迷,这时的学生很自然体现为学习的主体,教师的任务是让他们的作为学习主体的热情不要衰退,要因势利导。介绍新知识点时,教师向学生演示采用相应技术的机器人控制程序,或者让学生自己动手运行与观察,通过形象直观的演示,多数学生会对新知识产生浓厚的兴趣,为下一步的学习做好铺垫。
讲解:演示结束后,教师要及时引导学生把注意力转移到教学的实质阶段――编程知识的学习,当讲解到一些技术要点时,演示该技术在游戏中的具体运用,往往能起到事半功倍的教学效果。教师要做好学生学习前进方向的“领路人”,要注意多加点拨,适时提出思考要求。
编程:程序设计类课程属于实践环节很重的课程,所以教师应该精讲多练,给学生充足的时间进行编程实践,学生以小组为单位协作学习,每个小组3-4个组员,每个小组开发3-5个坦克控制程序。
比赛:进行小组间的坦克比赛,检验各小组学习的效果,游戏的胜负结果即对游戏者的评价。可以采用淘汰赛制或循环赛制,为避免两组对抗时的偶然因素,还可以多局对抗制。对于学习深度已达到一定层面时,还可以调整比赛的时间参数长短,使学习者会针对性地重新调整游戏策略。教师在游戏化编程学习评价中,要充分利用RoboCode平台的相关评价功能,充分调动学生的学习积极性。
归纳:比赛后,教师要及时引导学生找出胜利或失败的原因,然后进入下一轮的编程和比赛,在循环比赛的过程中,学生的编程能力得到了极大的提高。同时,教师在归纳的时候要强调相应课程知识点的运用,以达到良好的教学效果。
课外:开展课外编程游戏竞赛;召开技术讲座或经验交流会;为方便技术交流,可开设BBS专区以供讨论学习。
3游戏化编程学习教学实践中的几点思考
游戏化编程学习教学实践是在游戏化学习的理念指引下进行的一次探索性的教学实践活动,从游戏化编程学习平台的选择、游戏化编程学习过程的设计与实施以及教学效果,我们有以下几点思考。
3.1 提升了学生学习层次,强调了策略性学习游戏化编程学习教学实践首先选取了一个学生感兴趣的教学平台,其次设计了符合课程特点的教学过程,充分调动了学生学习的积极性,在学习的过程中学生的角色发生了变化,由以前的被动变成现在的主动。
3.2 将游戏与学习相结合给青少年学习以极大的驱动力和持久的学习兴趣建构主义教学论原则指出:“复杂的学习领域应针对学习者先前的经验和学习者的兴趣,只有这样,才能激发学习者的学习积极性,学习才可能是主动的”。由此可见,学生学习主动性的激发与贴近学生兴趣的游戏有很大的关系。
3.3 游戏化编程教学效果是多重的,有利于将学生迷恋于不健康的网络游戏中解脱出来从游戏化编程学习中学习程序设计的效果是显然的,而通过这一与电脑游戏看似类同的编程游戏,把一批迷恋于不健康网络游戏中的学生解脱出来,让他们学会编程,让他们学会通过动脑来玩游戏,这将受到学校老师们、家长们的大力支持。游戏化编程学习教学实践活动中就有原来是游戏迷的变成为编程迷的例子。
3.4 游戏化编程教学实践可以实现教育者与被教育者双向协同评价一方面教师可以对全体学生进行整体评价,另一方面学生在自主探索的过程中对自己的程序或策略进行评价,教师还可以根据对学生能力差异掌握的情况下,有意识的让水平相近的学生进行互相评价。这种做法,有利于激励所有的学生奋发向上。
4结束语
教学实践证明,采用游戏化学习的教学模式,将Robocode引入到Java课程的实验教学中,使学生对Java语言产生了浓厚的学习兴趣,不但提高了学生的编程能力,还能巩固其他知识,因为编写Robocode不但会用到Java的编程知识,还会涉及到数据结构、设计模式、人工智能、数学、物理等方面。并且在游戏的过程中就完成了学习任务,充分调动了学生学习的积极性、主动性和创造性,培养了学生分析问题和解决问题的能力,培养学生的团队协作精神,对提高程序设计课程教学质量有较大的现实意义。当然,Robocode游戏不可能囊括编程语言的所有方面,作为辅助教学工具,用来激发学生学习的热情,无疑是十分有益的。
参考文献:
[1]鲍春波.程序设计课程教学方法新探[J].学术问题研究(综合版),2007(2):101-601.
[2]李其龙.从德国教科书看当代教学论思想[J].全球教育展望,2001(3):19-22.
[3]王梅,于京.应用于教学的Java编程竞赛平台的开发[J].科技信息,2008(18):70-72.
[4]江耿豪,郑炜冬.编程游戏在计算机语言教学中的运用[J].漳州师范学院学报(自然科学版),2006(2):128-131.
[5]于海峰.对计算机教学中Java语言的思考[J].农业网络信息,2006(4):82-83.
计算机编程自学教程范文6
关键词:案例引导教学;任务实验;自主学习
中图分类号:G642文献标识码:A文章编号:1009-3044(2011)30-7471-02
Discussion of Teaching Method in High School Computer Foundation Course
WEN Chang1, HUANG Qin2
(puter Science College, Yangtze University, Jingzhou 434020, China; 2.Wuhan Railway Vocational & Technical College, Wuhan 430205, China)
Abstract: Control the basic knowledge in computer and have the computer application ability, is a request that arithmetic figure information turn the society to put forward to the university student. The educational teaching method in computer foundation in high school must reform continuously, then can adapt to the technical and quick development in computer. This text aims at the problem that university computer foundation teaching face, the study passes case example leading, mission experiment etc. teaching method, promote student's independence study, pushing the computer foundation education.
Key words: example leading; mission experiment; independence study
由于计算机在各地普及程度不同,致使学生已有的计算机水平参差不齐,给高校计算机基础教学带来一定困难。该课程的特点是知识点多、操作性强,若按传统的单一的“灌输式”教学方法来讲授,现在大大压缩的课时已满足不了要求,而且不利于学生自学能力的培养。如何改进教学方法,兼顾不同水平学生,解决上述的问题和矛盾,都是我们急需探讨的课题。以下笔者结合自己的教学感受谈谈教学方法的改进。
1 教学方法改进
对非计算机专业学生,要教会他们一些实用性强、操作难度不大、不用编程的方法,并培养一定的自学能力。若以传统教学方法把内容灌输给学生,学生完全处于被动学习状态,容易丧失学习兴趣。所以应以学生为主体、教师为主导,引导学生自主学习,才能收到事半功倍的教学效果[1]。
1.1 案例引导教学
课上讲授新知识时,用案例演示,并在演示过程中以问题的形式引出各个概念和知识点,引导学生自主思考,然后教师给出答案和解决方法,让学生在做某件“事”、解决某些“问题”的过程中将各个知识点理解消化。这种方法需要老师找到典型的案例,下面以电子表格Excel 制作的“学生成绩统计表”为例讲讲具体实践过程[2]。(见表1)
先把Excel 2007强大的“电子表格”与Word 2007中的“表格”进行比较,提出如何用Excel来制作表格。引出工作表、单元格等相关概念。通过对“总分”、“平均分”、“等级”列的填写,引出公式和函数的使用及单元
格的引用。如总分和平均分即可用公式也可用函数,等级可用函数等。另外同一列又可用函数填充,自动生成结果,从而引出学生不易理解的单元格地址引用中的“绝对引用”、“相对引用”及“混合引用”概念。表格制作完成后还能对其中数据进行管理和分析,引出Excel又一大特色――强大的数据处理功能,如排序、筛选、分类汇总,另外还可为表格创建图表、数据透视表等,以便对数据进行直观的分析。
可见,这个典型案例基本涵盖了Excel各知识点和相关概念,通过案例引导教学,使枯燥抽象的概念变得生动具体,易于学生理解掌握。
1.2 课件与板书融合
目前大多院校都已采用多媒体课件教学,若课件只是把黑板的内容搬到大屏幕上,教师只是播放课件,忽视了与学生的交流,就违背了计算机辅助教学的初衷。事实上,黑板加粉笔的讲授方式师生交互性强,仍然具有多媒体无法替代的作用。对于一些类似于推导、运算过程,例如数制转换,板书方式更能引起学生注意,引导学生思考;对于教学内容中较抽象的内容,例如计算机系统知识,用多媒体丰富的图片、动画、声音等形式表现,使枯燥知识形象生动,能刺激学生感官,激发兴趣,易于理解,这又是传统板书方式不可比拟的。另外,某些简单内容可直接让基础好的学生上台演示操作,激发学生能动性。总之,应理解这两种教学方式相辅相成的作用,多与学生交流互动,有选择地使用多媒体或板书。
1.3 加强上机实践
计算机基础最大特点就是操作性强。如果按实验教材的操作步骤,要求学生完成上机作业,学生多无兴趣。所以我们把实验以任务的方式交给学生。在上新课之前提出上机任务,只给实验要求不给操作步骤,基础差的学生带着任务与问题,听课会更认真学习会更主动;有一定基础的学生则可立即着手做,对其他同学也是鞭策与促进。由于任务以每章一个大作业的形式交给学生,不规定详细内容,学生所交的作业内容丰富、形式多样,体现出学生的创意,有些还反映出学生课外自学知识。这种任务驱动模式大大提高了实验教学的效果,培养了学生带着问题自主学习的能力。
2 结束语
针对计算机基础教学面临的问题,我们大力改进教学方法,通过案例引导、任务驱动和互动教学来调动学生学习的积极性。根据教学内容将多媒体课件和板书这两种现代与传统的方式融合,扬长避短,提高教学效果。这些教学方法之间相互联系,相互作用,较好地兼顾了不同起点学生的情况,适应了本课程知识点多、操作性强、学时少的特点;激发了学生对计算机的兴趣和热爱,培养了他们的自学能力、综合运用知识的能力等。
在今后的教学中,我们还要继续对计算机基础课程的教学进行探讨研究,探索行之有效的教学方法,努力提高教学质量,在改革中求发展,使计算机应用基础的教学更加符合计算机教育发展的客观规律,培养适应社会需求的计算机应用人才。
参考文献: