文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。网学的各位小编整理了JAVA- 以项目方式驱动java实验课程教学的创新 的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!
一、目前计算机实验课程存在的问题和研究目的作为实验教学的核心任务,计算机动手能力的培养与发展具有综合性、层次性和实践性等特点。“计算机教学应根据这些特点采取有效的教学策略来培养与发展学生的计算机动手能力。而计算机动手能力的形成和发展离不开智力技能的支持,计算机操作技能中包含有智力成分,需要学习者智力活动的积极参与,手脑并用才能完成。”学生的计算机动手能力是在不断地进行上机操作练习的实践活动中积累形成的,离开了上机操作,即使学生具备良好的素质和学校提供良好的环境条件和教育手段,其动手能力也是难以培养的。我们在实际教学过程中发现,目前我们的实验教学呈现出实验模式单一、内容相对固定的情况。从实验项目上看,以单一的基础型、知识型、验证型实验为主,而综合型、设计型的实验较少。很多实验内容只是要求学生照搬照抄已有的知识内容,简单地调通、验证完毕即可,并没有给学生自由、独创的空间。这使学生失去了对实验课程的兴趣,继而也就失去了应有的积极性和主动性。反思目前我们对Java语言的教学,尚停留在纯粹的语言语法阶段,所配置的实验以验证为主,学生在练习以后懂得的仅仅是一些基本语法,而对开发整个项目却仍然很陌生,工程性的知识比较欠缺,学生依旧是“只见树木,不见森林”,自然不能很好地适应以后工作的需要。
此次研究的主题,是通过项目的形式来驱动Java实验教学的改革,以改善Java课程当前实验教学效果,以培养出具有较强实验动手能力的学生。假设Java的实验全部采用项目的形式给出,按照软件工程的规定原则,要求学习者进行可行性与需求分析、系统设计、程序设计、测试、维护等,并以分组的形式进行实验,以加强学生的团队合作精神的训练。在实际的项目开发过程中,以项目带动学生去深入学习语言结构必然会给学生更多发现问题、解决问题的机会,这对学生进行自主学习起到了很好的带动作用。在这方面,目前国内有部分高职院校以“项目驱动”的方式进行了教学开发和实践,取得了一定效果,但由于本科教育更注重教育的宽泛度和理论性,致使“Java程序设计”课程的实际课时相对较少,在培养学生的动手能力方面尚有很大提升空间。
二、项目方式与非项目方式的Java实验教学特点的比较(一)非项目方式的教学特点非项目方式是Java程序设计教师较常用的实验教学方式,是目前主流的实验教学模式。教师一般会在每个学期之前根据课程安排分章节、分知识点设计一些基础性较强、突出验证特征的实验。
1·针对性:这种实验模式由于实验数目没有严格限制,所以其在内容涵盖上会比较丰富,能够顾及到各个课程的重、难点,进行针对性的实验教学。并且针对教学某一特定内容来说,采用此种实验方式能够更加具体、深入地对该知识进行学习和探索,有利于学习的深化。能针对性地训练学生的专项操作技能,让学生在编程过程中发现问题、解决问题。如果实验设计的初衷得以顺利实现,将有助于学生打好语言编程基础,并较深刻体会其中遇到的某些重难点。
2·可控性:非项目的实验方式具有较强的可控性。对于短而精的实验,教师可根据实验周期或进度灵活地对实验安排进行撤销、添加或更改。在学生进行实验室实验的同时,也可对其进行个别指导和调整。譬如,当与某个知识内容相关的实验由于教学计划的更改需要撤销时,可以立刻应对教学大纲的安排作出机动性的调整;而对于小实验的安排也没有更多课时上的拘束,可以临时添加诸如两个学时的短实验以巩固学生相关内容的知识。
3·重复性:学生在进行该类型的实验操作时,实验内容相同,内容上重复。在这种情况下,一方面,将有助于教师对学生进行个别辅导,加强反馈式教学的效果,即:自主性自学→自动性反馈→纠偏性补授→诊断性反馈→课堂讨论。通过总结问题的类型和数量,及时反映到教学内容的设计和重新整理中,对实验中呈现出来的重难点进行重点教学,亦能加强学生之间的交流和对问题的共同探讨,达到共同进步。但是另一方面,也有可能会助长某些学生的投机意识,而不愿去主动学习,这样也就违背了教师设计实验教学的本意,值得注意。
4·短周期:由于此类实验设计需要维护课程教学大纲,所以非项目实验在设计上会呈现短而精的特点,实验内容可能是一个小型的管理系统或者一个大型系统中的某个程序组或程序段等。这样,一个实验能够在较短时间内完成,并能迅速进入下一知识点的学习及相关实验的教学过程中。在短周期的实验设计上,笔者在具体教学过程中发现,所设计的实验最多不宜超过6课时。
5·精短性:在短周期条件下,所设计实验必然不宜过大过长,以便学生能在较短时间内完成,甚至是能在机房实验课上当场完成。精短的实验安排起来比较灵活,操作起来也比项目型的实验更简单。此外,也有助于教学进度的顺利完成。
(二)项目方式的教学特点1·系统性:项目方式的实验教学有利于培养学生的大局观,能使其从整体上把握系统的构建和设计,了解Java这一特定语言的组成规则和运转规则,实现业务“零距离”,提高其工程性意识及工程性设计能力。通过系统性的Java实验学习,学生能融合软件工程的思想,有能力独立完成项目的设计与开发。
2·多角度:鉴于项目方式的实验形式明显地利用了软件工程的思维,较严格地参照了软件工程所要求的步骤进行实验安排,故而项目方式的实验教学在操作过程当中会对学生进行更多角度的培训,包括项目可行性与需求分析、设计或是测试维护等方面能力的培养。这也在无形之中加深了学生在计算机程序设计中的软件工程意识,对日后进行企业项目的编码设计产生积极影响。
3·协作性:若是由几个学生分组协作完成一个项目,则可加强学生之间的交流。不同的学生,能力高低不同,学习进度不同,所获资源也不同,因此对知识的认识层次也有差别。但是学生个体之间的交流、碰撞、沟通、争议,不但能使资源共享,还有很大可能产生新的教育资源。“因为优秀学生灵敏的悟性和良好的学习技巧,不同层次的学生提出的各种问题,暴露出的各种知识缺陷,不同智慧的学生,不同的思维方式等等都可以是小组内相互共享的学习资源,其开发利用的价值非常之大。他们可以交流心得和体会,共同学习信息和资料,对于同一个问题可以提出不同的看法并进行讨论交流,甚至是争论以产生新的火花,更重要的是能够更深刻地领会所学知识的重难点,掌握学习方法、技巧,互帮互助,共同提高。小组成员也可适时分工,相互协作,及时交流信息,既可以节约时间,也能够及时获得学习资料,帮助学习,提高学习效率。”
4·长周期:相对于非项目型实验,项目方式的实验设计具有较长的周期,因而可能会花较多课时来完成系统的设计。而相较于短而精的非项目实验而言,该类实验显得更全面、更完善,这类设计项目亦即小实验的综合体。然而,能用Java语言负责设计这样长周期的项目才是学习Ja-va语言的终极目标。假使自语言学习一开始就贯彻这样的学习思路,必将对学生的工程性编程理念的培养产生积极影响。
5·仿真模拟性:项目方式的实验教学具有与未来企业要求的项目相仿的特点,若是在计算机课程的实验教学中推广项目方式,则能实现与真实工程的“零距离”接触。这对于深刻掌握计算机语言知识以及提高自身的独立开发能力具有深刻的意义。
三、教学改革通过以上对双方教学特点及优劣的比较可以看出,项目方式的Java实验教学较之于一般的实验教学,对学生掌握Java课程及更好地运用所学知识具有更直接的促进作用。因而在宏观上,以项目方式驱动Java实验教学的改革成为绝佳的选择。不过,我们可以不必只是呆板的撤换,而应对两者灵活地加以利用。
(一)优化实验教学内容,精心设计实验大纲在以前的Java实验教学中,实验内容大都是验证性内容,验证前次课堂讲授的知识点,沿用基础课程的实验教学模式,割裂了各个知识点之间的联系。我们在考虑Java实验教学学时数和学生已有程序设计学习基础上,拟对实验内容进行改革。改革后的实验项目有四个,大多为项目型实验,突出了综合性、设计性实验在实验课中的主体地位。具体见表1所示。
实验项目表序号项目名称内容提要实验学时参与学生实验类型1压缩和解压缩软件实现(1)完成图形化界面(2)实现把现有文件进行压缩(3)实现把现有文件进行解压缩8三个人一个小组,合作完成综合型2人力资源管理系统实现(1)完成图形化界面(2)完成员工基本信息存储、查询(3)用JDBC连接后台数据库8三个人一个小组,合作完成综合型3网上聊天系统实现(1)完成图形化界面(2)可以实现文字、文件的传输(3)把聊天的记录进行加密后,放入本机的文件中8三个人一个小组,合作完成综合型4在线预约系统实现(1)完成图形化界面(2)采用C/S模式,要求可以处理多线程(3)采用JDBC连接数据库8三个人一个小组,合作完成综合型总体来看,实验安排以项目为主,非项目为辅,教学理念上“以教师为主导,以学生为主体”,以提高学生素质为根本宗旨,把握学科教育本质和目的,以培养学生创新精神和学习能力、实践能力为重点。这使培养出来的学生具有扎实的理论基础,具有很宽的专业知识面,有很强的项目分析能力和设计能力,具有很强的适应学科发展的能力。学生在进行项目型实验操作的同时,需注意打好程序设计理论基础,切忌建造“空中楼阁”。实验的指导方针是以“项目驱动”方式带动实验的改革,在以巩固所学知识的理念的基础上强调了实验的重要性,以项目带动语言的学习,培养学生的项目设计能力。
(二)采用分层次、开放的实验教学对于教学对象而言,因为学生的层次不同,掌握知识的多少、编程能力高低也大相径庭,所以实验方式的选择可以根据不同类型的学生而有所侧重:一方面是有语言学习基础的学生可以采用纯项目的方式;一方面是没有语言学习基础的学生要先以基础学习、小实验为主,基础扎实了,最后再结合项目方式进行系统式的编程训练。故而实验的设计需保留必要的基础性实验,精简内容单一的验证性实验。
但在教学中要特别强调因材施教,允许有潜力的学生进一步提高水平。基本实验教学着重于对学生计算机基本技能的培养和训练,通过这一阶段全面系统的训练,使学生的基本技能得到应有的提高,为设计实验教学打下坚实的基础。项目型实验教学在基本实验教学的基础上,结合具体问题,让学生进行程序设计,积极调动学生的主观能动性,对学生进行创造能力的培养,使每位学生掌握理论和实践相结合的本领。为了有利于学生的能力培养和素质教育,培养学生的独立思考和解决问题的能力,Java程序设计的实验教学可以采用封闭与开放相结合的教学方式。我们在这里提供开放的实验室,这样学生可根据自己的情况选择实验时间、实验内容,鼓励学生利用计算机开放的有利条件提高上机率,鼓励学生勤加练习,培养和提高编程能力,使学生在实验中处于主动地位。这样有利于调动学生的学习积极性、主动性和能动性。同时,开放式实验教学也能充分发挥现有计算机设备的作用。在硬件软件资源上做到最大限度的公用化,使计算机机房内的所有资源共享,让计算机的作用得到很好的发挥。
(三)提供给学生更多的自由在Java程序设计的实验教学中要调动学生学习的主动性,充分考虑学生的学习基础和学习需求,尽可能地提供完善的软、硬件设备及其他教学条件,包括上文提到的实验课程分层次教学,实验室开放,高质量的教材,完善的实验教学辅导系统,具有启迪新思维、有助于提高动手能力的实验仪器。目前大多数的实验是被动实验,即所谓“照着做”的实验。这种完全按照教师意愿修订的实验教学大纲,缺乏灵感,思维较单一,容易遏制学生的创新思维。故而对Java程序设计,教师在修订实验大纲时要注重科学性,集思广益,设计出能让学生自主创新的实验大纲,使学生改变被动学习的局面,使学生在实验课程中自主学习,探索知识。教师则应在学生发挥主体作用的过程中当好指导者、激励者和引路人的角色。
(四)优化课程考试方式以前的“Java程序设计”的考试是以闭卷的方式进行,以最后的试卷分来评定学生这门课的成绩,缺乏实验教学考核标准。在实验教学中,很多实验课不独立考核,不占学生的学分,学生的学科考试主要是看卷面成绩,对学生的素质评价以理论课的成绩为依据。这样的分数只能反映出学生对知识点的掌握程度,不能很好地体现出学生实际的动手能力。对于Java这样的课程,更重要的是体现其编程能力,所以笔者准备将参加项目的最后的答辩成绩作为学生的最后成绩。
此外,笔者还带领学生团队专门设计了一套基于J2EE架构的课程无纸化办公系统,以改革以前基于纸张的评卷形式,并提供给教师一套方便、易操作的办公工具,方便教师对学生进行成绩管理以及学期分数计算。通过建设一个Java程序设计课程交流的网站,提供给师生间、学生间一个交流的平台,也有利于教师获得更多教学反馈,以改善教学效率。此举也在一定程度上推动了本课程多媒体教学的发展。
四、结语对计算机专业,特别是计算机语言的学习需转变教学观念,强调培养学生的整体素质,计算机语言的学习不能仅仅停留在语法本身,不能为了学习语言而学习语言,而要在项目的实践中自然地对语言语法结构融会贯通。对于Java这样一门典型的计算机语言来说,这样的观念必须树立起来。