时间:2023-03-25 11:32:30
引言:寻求写作上的突破?我们特意为您精选了4篇程序设计教学论文范文,希望这些范文能够成为您写作时的参考,帮助您的文章更加丰富和深入。
随着Internet的迅速发展,Java作为一种面向对象的高级语言得到了越来越广泛的应用。它既具有一般程序设计语言所具有的安全性、多线程等特点,同时又具有独特的平台无关性的优势。为了适应社会的发展,培养更符合市场需求的计算机专业人才,很多高校都陆续开设了Java语言的相关课程。但是在传统的Java语言教学过程中,课堂一般以教师为主导,首先按照教材章节顺序向学生灌输一个个抽象的概念、语法和算法,然后再去布置相关的实践任务让学生在机房实践操作。这种先理论后实践、理论和实践完全割裂的教学方式忽视了学生的互动参与,导致课堂乏味,学生学习兴趣下降,教学内容单纯倚重课堂讲授,学生实训操作练习很少,而且学与做相脱离,不利于学生理解消化课程知识和锻炼编程能力,难以取得理想的教学效果。针对这些问题,教师可以在该课程的教学中引入案例教学,以书本知识点为基础,以案例为依托,使学生在制作案例的过程中逐渐理解Java基本理论知识,在理解理论知识后不断提高Java语言的编程能力[1]。
一、案例教学法的实施意义
案例教学法由美国哈佛商学院提出,通过在课堂教学中由教师围绕案例组织教学,将学生引入特定的情境之中,启发学生分析案例,探讨案例解决方案,实现课堂师生的双向互动和学生学习效果的及时反馈,激发学生学习的积极性,提高教学效果。在Java语言程序设计课程教学中应用案例教学法就是通过实施一个完整的Java案例来组织教学活动,用典型案例把理论知识与实践教学有机地结合起来,把理论知识融入到案例制作之中。教师通过案例实施完成教学过程,学生通过案例制作掌握Java的语言知识和编程技巧,使教学做有机融合,提高该课程的教学效果。与传统教学方式相比,案例教学方法更能充分发掘学生的创造潜能,培养学生学习Java语言的兴趣,提高学生解决实际问题的综合能力[2]。在Java语言程序设计教学中实施案例教学,教学过程通过教学案例的实施过程来开展,通过“提出案例目标--分析案例任务--实施案例--边学边做--总结反馈”的环节分解每个知识点,充分体现学中做、做中学的教学理念,展现互动创新、注重应用、共同协作的教学风格。
二、Java语言程序设计案例教学的实施
(一)明确Java语言程序设计的教学计划在Java语言程序设计课程的教学中使用案例教学方法,教师首先要明确该课程的教学计划。具体包括特定的教学对象、明确的教学目的、课程的教学效果和对教学过程实施的整体设计及其控制。教学计划的制定必须以市场需求为导向,符合程序设计语言课程的教学规律,既不能脱离学生的实际学习能力,也不能丧失该课程注重实践应用能力培养的教学特点。因此,通过市场调研、企业专家访谈和毕业生信息反馈等形式,确定本课程的教学计划是使学生掌握面向对象程序设计的开发方法,理解类、实例、继承、包的应用,体会面向对象的程序设计方法在软件系统开发中的优势,使学生能够运用面向对象的思想、方法和Java语言开发应用程序。同时在该课程的教学中注重进一步的培养学生的软件设计与开发能力、程序调试能力,养成良好的程序编写习惯,从而为本专业的后续课程的学习奠定坚实的基础。(二)精心准备Java教学案例资料结合高职学生的特点,本课程将抽象的理论知识点细化和组织到具体形象的案例中去,让学生在具体的案例中体会知识点的应用。为此构建该课程规范的一体化案例教学资料库是非常重要的,选取的教学案例要能很好地和相关地教学知识点紧密融合。因此,在讲稿和课件中注重设计好每个案例“如何运用,怎样引入,何时引入,怎样与知识点有机衔接”。为了更好的提高学生的学习积极性,体现高职课程应用型、实用型的特色,Java教学中应用的案例要生动、实用,最好能从实际工作中的应用出发,提取一些典型的教学案例,能够模拟真实的企业工作环境,按照软件开发的流程组织教学。这样一方面可以使得学生可以了解以后工作的内容,激发学生学习的热情,另一方面可以改变高中时的以掌握理论知识为中心的学习方式,变被动学习为主动操作,突出实践技能的培养,使学生养成良好的程序设计开发习惯[3]。但是实际工作中的案例一般都比较综合,结构庞大,涉及的知识点比较多,如果直接应用到教学中对于初学者来说过于复杂,这就要求教师对这些案例必须要进行加工,抽取出关键部分,把繁杂无关的部分去除,有效引导学生进行学习。在学生具有一定的编程基础的情况下,再给学生真实的综合案例,通过由简单到复杂、由单一模块制作到综合案例制作的学习过程逐渐掌握Java语言的知识和编程方法,从而提高学生对实际工作情况的适应度。学生在分析案例寻求解决方案的过程中,会自然地与所学知识点进行结合,而案例中较为复杂问题的解决,能够激发学生不断学习、勇于创新的热情,打破学生原有的知识范围,拓展学生的知识领域,从而使得学生从被动的学习者转变为主动运用知识来处理各种各样的问题的开发者,不断提高软件开发的分析和解决问题的实践能力。(三)设计合理的课后练习案例由于Java语言比较抽象,知识点较多,对实践操作要求又比较高,仅仅凭着上课有限的教学时间是远远不够的,所以在每一章节的课堂教学结束后,教师必须选取合适的案例,为学生布置所涉及相关知识点的课后作业,从而让学生能通过课后作业练习对Java语言能够进一步深入的理解。(四)理论课和实践课合为一体传统的Java教学模式一般是先理论后实践,理论课和实践课分开,理论课在多媒体教室完成,而且理论课时一般都是实践课时的2倍以上。在具体的教学中,为了保证后期课程的教学难点能够掌握,理论课都先于实践课开始。这样的教学安排会使得理论课已经进行一半后,实践课才刚开始。而在Java语言等程序设计课程中,学生对于知识的掌握和编程能力的培养,在很大程度上是通过实践操作来实现的,但课后并不是每个学生都会自觉地在自己的计算机上编程练习,还有一部分学生虽然也在自己的计算机上编程调试了。但是一旦在调试中遇到困难得不到解决,往往就会退缩,把问题搁置等着上实践课再来解决,以至于造成学生学习进度缓慢,编程能力得不到有效提高。为此,可以把Java语言程序的理论课和实践课结合在一起,把授课地点设在机房中,教师以教学案例为主线,首先分析案例,然后引导学生思考案例解决方案,接着引出案例涉及的相关知识点,再把知识点应用到案例制作过程中,边做边讲,通过这种教学做一体化的教学方式把理论和实践有机结合起来,把抽象难懂的理论知识通过具体的操作帮助学生理解,学生的学习热情有了很大的提高,学习效果也有了明显的改善。(五)重视教学的互动与及时反馈传统的教学方法一般是教师讲、学生听,课堂只注重知识的单向输出,忽略了师生之间的沟通和学生的实际的接受效果。通过教师和学生之间的及时沟通,不仅能够使教师发现学生学习的薄弱环节,而且可以发现教学过程的不足,动态调整教学实施过程,更重要的是增进了师生感情,从而引发学生的学习兴趣[4]。在Java语言程序设计中应用案例教学法就能很好的实现教学的互动,使教师能够及时的得到课堂教学效果的反馈。首先在案例教学中,学生拿到案例后,在教师的引导下先要进行分析消化,然后在案例制作的过程中学习相关的Java语言知识,这无形中会使学生加深了对知识的理解,而且学习过程是在和教师的互动中进行的。同时学生的成果要经过学生自评、教师点评环节,这一方面调动了学生学习和动手的积极性,也促使教师加深思考,根据学生制作案例的情况了解学生掌握新知识点的程度,及时调整教学内容和教学进度,不断完善案例教学的实施过程。(六)典型教学案例实施过程:自动计数器图1计数器初值为0图2计数器自动加1图3加数器变为减数器图4计数器自动减1在Java图形界面开发讲授时,教师如果只是介绍各个组件的构造方法和常用的方法,就会让学生觉得枯燥乏味,不知道每个方法具体的应用,而且不能让学生了解组件显示的难点--坐标的确定,因此有必要通过案例教学来实施这部分知识点的教学。比较典型的一个教学案例是自动计数器的制作。计数器初值为0,如图1所示;当单击“自动加1”按钮时,程序实现计数器功能,如图2所示;当计到100时,“自动加1”按钮显示为“自动减1”,如图3所示;并自动实现减数器的功能,如图4所示。如此循环,直到单击“退出”按钮为止。在讲授时,教师可以首先演示该程序的功能和运行过程,让学生明确学习目的,然后对着运行界面引导学生分析程序的实现思路:自定义一个窗口类,在窗口类的构造函数中添加单行编辑框和按钮组件。然后重写按钮事件处理方法actionPer-formed。在讲解窗口类的实现中,要详细讲解单行编辑框组件和按钮组件的坐标的确定。接着再详细说明在用户单击了按钮后,如何控制计数器计数:先要判断选择了哪个按钮,这里教师告诉学生通过事件的getSource方法可以获得事件源;然后再根据按钮的文本内容执行相应的操作,“自动加1”将使num加1,“自动减1”将使num减1;最后用setText方法把新的num设置为单行编辑框的值。这是一个综合了多个知识点的案例,涉及到组件的添加、事件处理、整型数和字符串类型的相互转换、事件源的判断等知识点。这个案例的学了有助于让学生掌握这些界面开发的知识点外,也会让他们学到流程控制的编程技巧。
三、结束语
在Java语言程序设计的教学中,以教学案例的实施为主线,通过教学内容、案例选择、授课模式等一系列的改革措施,培养学生独立分析问题和解决问题的能力。实践证明案例教学法不仅可以提高高职学生学习Java语言的兴趣,使他们在学习的过程中由被动接收知识变为主动培养实践技能,而且增强了学生在实践操作中的自信心,学生的编程能力也有了明显的提高。
作者:王惠 单位:九州职业技术学院
参考文献:
[1]李天书.案例教学法在专业课教学中的应用与实践[J].职业时空,2014(6).
1 移动学习
移动学习(M-Learning)是借助移动互连技术,使用移动计算设备(智能手机、PDA、移动电话等)实现学习者随时随地进行不同目的、不同方式的学习[1]。移动的内涵包括:形式上是移动的,即学习者不再受时间、空间和有线网络的限制,可以随时随地进行不同需求、不同方式的学习;学习环境是移动的,学习资源和学习者也是移动的;内容上是互动的,进行教学活动的双方实时交流,教育信息、教育资源与教育服务依靠移动计算技术和互联网技术实现双向“移动”,教与学相互促进,才能更充分的体现移动学习的优越性;实现方式上是数字的,移动学习是基于无线移动设备进行的数字化学习,它是在数字化学习的基础上发展起来的,是远程学习发展的一个新阶段[2] 。
现阶段的移动学习受技术条件的制约,通常作为高校教学的一种辅助学习模式,主要应用于管理和为学习支持服务提供“交互”通道,学生和教师通过使用移动设备(如手机等)方便、灵活地实现交互式教学活动。高校移动学习的主要应用模式分为三大类:基于短信息的在线移动学习,基于连接的在线移动学习以及存储移动学习模式[3]。基于短信息的在线移动学习具有使用费用低,设备普遍支持等优点,主要应用于通信数据少并且可用简单文字描述的学习活动和学习服务,可用于向学习者发送课程安排、考试安排和考试成绩等信息,提供指导、激励和支持等作用。基于连接的在线移动学习和存储移动学习,需要建设WAP站点,提供能够支持移动设备访问和下载的学习资源,着重选取能够贴近学习者生活和工作同时又较为时尚和流行的主题作为学习内容。存储移动学习和基于短信息的在线移动学习将是目前在高校中最切实可行的移动学习应用模式[4] [5]。
2 C语言程序设计课程特点
C语言作为当今最为流行的程序设计语言之一毕业论文范文,不仅是计算机专业的必修课,也是很多
非计算机专业的学习课程。随着计算机的普及,学生运用计算机的能力越来越强,但计算机程序设计课程因其较复杂的语法、编程等知识,依然是众多学生学习上的“拦路虎”。
C语言程序课程知识点琐碎,概念繁多,理论不易掌握;概念抽象且复杂,包含的数据类型和运算符丰富,需预习与复习相结合才产生较好学习效果;对应的规则繁多且易混淆,使用较为灵活,容易出错,使得学生容易产生畏难、厌倦情绪;理论与实验教学学时分布不均衡,导致课堂教学中,对如何分析和解决问题讲得不够充分,学生编程思路不清楚;实验过程中,不能将理论知识应用自如,在处理实际问题时往往不知从何入手,需要在平时教学中注意培养学生动手能力[6][7]。
C语言程序课程的这种特点,适合采用移动学习作为其辅助教学方式。针对C语言理论性强的特点,可以在课前课后发送定时短信,提示预习摘要求较高,不好的缩进格式影响其呈现效果,结构化风格使得程序占用篇幅往往较长等等,这些因素均会制约移动设备的可读性。
3移动学习在课程教学中的应用
根据上述分析,设计移动学习方式如下:总体原则,以传统教学方式为主,移动学习方式为辅,移动学习方式充当课堂教学的重要补充,能够实现课堂知识的延伸,指导和激励学生进行更深层次的学习和实践。实现方式,主要采用基于短信息的在线移动学习方式,配合基于连接的移动学习空间、论坛,以及存储移动学习资源建设。针对课堂教学,精心设计课前案例,提出驱动式问题,相关预习提示,课后设计相关重点回顾,知识点延伸,以短信形式发给学生,对于短信不能很好显示的内容可以邮件形式发送给学生,或者放在相关网站上,以消息的形式提醒学生查收。软硬件支持:考虑到学生普遍拥有设备的程度,将移动设备限定在普通移动手机,软件使用中国移动飞信校园版(EFetion_campus)[10],可以支持PC端向移动手机的短信群发,通过飞信、群、语音、邮箱、空间等多种方式实现互联网、移动网间的无缝互通毕业论文范文,还可以使用日程提醒,邮件提醒等功能打造个性化的学习指导。移动学习具体实现方式如图1。
图1 移动学习应用模式图
3.1功能模块介绍
移动学习做为一种辅助教学模式,能够参与到C语言课堂教学的课前准备,课后辅导以及实验指导等方面。
3.1.1短消息学习模块
(1)课前预习提示。可将每节的学习目标、重点、难点发送给学生,也可发一典型程序,加驱动式问题,发送到邮箱里,同时设置邮件提醒功能。
(2)课堂内容回顾。对前面课程学习过的知识内容以短信形式发给学生,提醒其回顾。
(3)作业提示、阶段测试。也可仿照上述短信设置方式,定时群发给所有的学生。
3.1.2移动学习空间或论坛
移动学习空间既可以方便学生在线浏览,也要努力适应基于连接的移动学习访问,其资料下载模块提供的学习资源,也要支持移动终端设备。移动学习论坛,实现学生自由交流空间。在移动学习论坛上定期设置讨论专题,既可以是关于某个错误进行分析,也可以针对相关程序选题集思广益,还可以是对当前教育进行探讨等等。
(1)课堂内容延伸。可提供诸如:MSDN使用介绍,帮助学生自如设计C/C++程序等;CSDN论坛介绍,提供同资深程序员交流学习的平台。
(2)常见错误提示分析。提供调试程序基本步骤,常见错误解读及可能出错原因。
(3)课程设计选题。设计相关程序选题,使其能够体现课程各个阶段的进度,并且具有一定的实用性,趣味性,能够调动学生的学习积极性。
(4)测试空间。提供一些历年试题,可以帮助学生巩固理论学习。
(5)教育思考。定期对教学进行总结,寻求更好的教学方式,也可以一些高校精品课程网站链接。
(6)资料下载。课程内容的各种学习资源,如PPT课件、多媒体课件、部分课程的录音、录像等;有关课程的各种辅导资料,如各章节的知识要点、课程设计任务库、程序设计案例库、试题库等都可以作为下载的资料。
3.2移动学习内容设计
在高校教育中,学生同时需要进行多门课程的学习,如果在针对某一门课程实施基于短信息的移动学习方式时,设计过多的短信内容,或者发送较多的次数,都将会给学生造成信息轰炸,带来过重的信息负担。配合C语言程序课堂教学,在课前课后发送两条飞信,每次不超过5页,对于无法以短信内容呈现的资源就发送到邮箱,同时以短信形式提醒学生注意查收。程序设计课程所涉及程序对格式要求较严格,一个程序案例通常占用较多篇幅,此时以邮件的方式发送较为合适,同时在相关论坛上设置讨论专题,根据学生回答设置最佳答案,统计学生活跃度,作为平时成绩参照。图2为课前预习的飞信基本内容设计。
图2 飞信基本内容设计
把课程内容按照“章-节-知识点”的层次模式进行组织,整理出每章每节的学习目标、重点、难点、学习指导、参考资料等内容毕业论文范文,并概要总结出每个知识点的核心内容和若干测试题目,学习者可以通过短信息随时随地自由学习、复习这些重要的知识点,并对学习的效果进行测试。设计短信内容时需考虑程序格式问题,屏幕显示行数,尽量控制在8行*5屏=40行,每行8字以内,不要以图片的形式发送(涉及彩信资费问题)。
另一方面,为课程的核心内容提供文档、PPT课件、课程录音、课程录像等多种媒体格式、适合多种移动终端的学习资源,满足学习者不同的学习需求和学习习惯。学习者只要把这些资源通过教学网站,下载到自己的移动终端上,当他们在教室外面、公共汽车上等地方时,都可以通过移动终端来浏览这些学习内容,充分享受移动学习的便捷与方便,而且不需要承担高昂的移动通讯费用。但是供下载的资料要充分考虑移动学习的特点,不仅要考虑学生的设备支持程度,还要考虑移动学习的片段性特点,对其中的部分资料需要进行特殊处理使其适合移动学习方式,主要处理原则,按知识点,将文档,影音资料都处理成片段,确保一个片段一个知识点,每个片段持续10分钟左右。
4 实验分析
借助中国移动飞信校园版,上述大部分移动学习方式都可以实现,从PC端到手机客户
端可以方便的实现短信群发,只要不超过一定数量,免费且易于操作。学生也分常乐意参与到这种形式的移动学习中来,非移动用户除了在接收短信受限之外,也可以加入飞信校园版PC端,可以共享资源。实验证明,使用移动学习方式作为程序设计课程的辅助教学方式能够大大调动学生学习的积极性。但是在学生中间出现了两级分化的现象,部分同学兴趣高涨,能够充分利用提供的学习资源,学习进度甚至出现超前现象,另外一部分同学上课时也在查看手机,学习不仅没有进步,反而沉迷于手机上网。这种现象提醒大家不仅应该注意实施移动学习的方式,同时还要加强大学生的思想教育,使其认识到网络资源的便利性和危害性,能够主动的去寻求有益的资源来提高自己。
使用飞信实现移动学习还有以下必须注意的地方:(1)飞信中涉及大量广告,容易分散学生注意力。(2)短信数量过大,易给学生造成信息轰炸,要限制性的使用。(3)需警惕不法分子盗取飞信或手机号,进行诈骗。可以利用飞信的二次开发功能,屏蔽其他模块,使其更适合校园使用。
移动学习对学习者也要有一定要求毕业论文范文,比如说需要一定的自学能力,自制能力,以及较强的学习动机等[8][9]。现阶段的移动学习在高校教学中应该起辅助作用,但不能排除其对研究生,博士生及在职人员充电的作用,所以还是要做好移动资源的建设工作,注意打上数字签名保护知识产权。
5 结论
当前,移动学习是教育界的研究热点。将移动学习方式引入语言类课程的教学中已取得较大进展,但将其应用到C语言程序设计课程教学中来,还属于尝试阶段。移动学习给教学改革注入新鲜活力,其对高校教学的促进作用,不仅依赖教师的合理使用和学生的大力配合,还依赖于软件平台的设计。本文所使用的飞信校园版,受到发送短信条数,广告绑定等不利因素的限制,不仅要考虑课程特点,还要考虑软件的使用规则,不能充分发挥移动学习的优势。下一步需要改进的地方,不仅在于移动学习资源的建设,还要建设实施移动学习的软件平台,不仅要适合移动终端在线浏览,还要能够与校园各个系统整合,充分利用现有资源,更加适应程序设计课程的要求。
参考文献:
[1]德斯蒙德·基更.移动学习:下一代的学习[J].开放教育研究.2004
[2]刘豫钧,鬲淑芳.移动学习——国外研究现状之综述[J].现代教育技术.2004
[3]王建武.3G网络下基于彩信的被动式移动学习实践研究[D].西安:陕西师范大学.2009
[4]张珑,王建华,张军,邸佳奇.移动学习在高等学校教学改革中的应用[J]. 计算机教育.2010(6):34-37
[5]王伟,钟绍春,吕森林.大学生移动学习实证研究[J].开放教育研究,2009,15(2):22-27.
[6]张素芹,吴连生.独立学院“C语言程序设计”教学改革实践[J]. 计算机教育.2010
[7]顾钧.程序设计语言课程的概念体系及教学策略探讨[J].中国成人教育.2010
[8]李望秀.高校教学中的移动学习[D].长沙:湖南师范大学.2008
[9]徐楠.M_Learning在现代远程开放教育中的应用研究[D].南京:南京师范大学.2005
(2)基于TCP套接字编程模型
面向连接的网络通信的建立有多个步骤,要使用多个函数。为了便于理解,可以将其比喻为“打电话”这个过程。要建立基于TCP的C-S(客户-服务器)通信,首先双方进程必须各自创建一个端点,也就是调用socket函数创建套接字,正如打电话之前,双方必须都拥有一台电话机一样。Socket是面向模型设计的,针对C-S通信双方提供不同的socket系统调用。客户随机申请一个socket号,这类似想打电话的人可以在任何一台入网的电话上呼叫。服务器拥有全局公认的socket,调用bind函数将套接字地址和所创建的套接字句柄联系起来,任何客户都可以向它发出连接请求和信息请求,这就类似于被呼叫方的电话号码告知了呼叫方。客户端调用connect函数发出连接请求,就好比拨打对方的电话。而服务端有可能在完成当前请求之前又发生多个服务请求,为了很好的处理这个问题,服务器调用listen函数将所有的服务请求放在一个请求队列中排队,并尽快处理这些请求[2],这就如被呼叫方在开启呼叫等待的功能,不错过任何呼叫请求。服务器端执行accept函数等待来自某一客户端的实际连接请求,实现与客户进程连接,这就如被呼叫方拿起电话,双方可以正式通话。最后,客户端与服务端完成数据传输后调用close函数关闭套接字,撤销连接。这就好比打电话双方通话结束后,挂掉电话。
(3)基于UDP的通信机制
用“邮局系统通信”来类比这一种通信机制是非常恰当的。基于UDP通信是面向非连接的,无法保证数据以正确的顺序到达。这就类似我们先后寄出两封信给对方,不能确保第一封信一定会比第二封信先到达对方手上。而在通信过程中,服务端和客户端双方首先都需要绑定IP地址和端口号,这就好比寄信之前,对方的通信地址我们是要已知的。而客户端发送信息以及服务端回应的时候,调用sendto函数来实现,需要指明对方的地址。这如同在寄信的时候,需在信封上要注明对方的地址信息。
(4)协议端口
在讲解“协议端口”时,学生总是不能理解为什么在网络通信的时候要指明端口号,为了解决这个问题,同样采取比喻教学法。大多数操作系统是支持多进程的,目的主机到底把收到的数据包送给哪个进程呢?就好比我们去银行办理业务,银行的业务有多种,有多个服务窗口。我们要成功地办理业务,必须知道对应的窗口号。同理,当你的主机开启多个服务时,如FTP、WWW、E-Mail多个服务,当接收到传送过来的数据包时,主机要准确的把数据包传送给相应的进程,这就需要数据传输的双方进程开启端口,这样数据包将会有标识有源端口,确保接收方顺利地将数据包传送至这个端口。
(5)带外数据
通常数据是按顺序传输的,然而套接字API概念性的提供了一些使用程序,从而可以使得一串数据无阻的先于普通的数据到达接收端。这就是所谓的发送带外数据。这就好比大家排队在银行依次办理业务,有个强盗拿着枪走入银行,越过整个队伍走到柜员面前。这个就可看作为带外数据。这个强盗能越过整个队伍,是因为枪标识他的特殊性,给了他凌驾于众人的权力。
(一)面向对象程序设计
OOP是一种计算机编程架构,它具备软件工程的灵活性、重用性和扩展性。OOP不仅具有丰富的理论知识,同时具有很强的实践性,坚持在真实的项目中锻炼编程能力,才能理解其精髓,进而活学活用。
(二)项目教学法
项目教学法以学生为教学中心,是学生在教师的指导下处理项目,提高自身能力的教学方法。其优势在实践性较强的OOP课程中体现得淋漓尽致。具体实施时,教师化身为顾问,主要的作用是引导学生把课堂所学用在实践过程中,理论联系实际,进而提高动手能力;学生是项目的具体操作者,知识水平和发现问题、解决问题能力均能得到提高。
二、改革的必要性
OOP是一门实践性很强的课程,如果不进行实践教学,学生不能全面掌握其核心思想。原因主要有以下两方面:
(一)难理解
由于面向对象概念较抽象,是基于现实世界的特点,对系统的复杂性进行概括、抽象和分类,对象是OOP的核心,是将代码和数据封装起来的具有某些特性的具体事物的抽象。从学生角度来看,以知识点为中心的讲解教学方式理论性太强,不好理解,甚至有部分学生自始至终也无法掌握OOP的重要概念,不能满足课程考核要求。
(二)理论教学多
教师上课采用多媒体教学,这种方式基本上是教师在课堂上唱独角戏,把理论和方法灌输给学生,学生被动地学习,只是把教师讲的内容在大脑中形成记忆,没有自己独立思考的过程,不利于培养学生的创造能力。
三、项目教学法的改革要点
项目教学法设计了完整的软件项目教学背景,克服了传统教学中注重理论知识忽视应用实践的缺点。学生在慢慢了解、逐渐熟悉软件项目开发的过程中,能够理解应用,学习和掌握各种知识并训练相关技能。
(一)项目题目的设定
教师在进行项目教学引导时需要策略,创设学习的资源,协调学习合作环境。教学项目题目的选取是其中的关键问题,选题最好能与软件公司进行交流或合作,应具备针对性和实用性,能体现出学生综合能力的运用,并且可以进行客观评价。首先,项目题目应尽可能覆盖教学大纲的多项知识点;其次,应该构建具有完整项目的项目案例库,项目题目应有不同的难易度和适当的工程工作量,适应所教班级的不同学生的实际水平;最后,项目题目应尽量贴近大学生的生活,并可以用一些标准,如软件是否易用、是否有良好的用户交互性等进行公平、准确的评价。
(二)互动增强
传统的教学环节中,老师和同学的交流仅限于课间十分钟或者课下较短时间的交流,交流时间少,沟通的问题也只是教学内容中个别的知识点。而在项目教学法中,沟通渠道是多向的,老师与学生之间沟通的宽度和广度都加大了。另外,即使在同一课堂上听讲,不同的学生在学习动机、学习心理、学习兴趣和学习能力等方面仍然会有一些差别。
(三)角色换位