针对JA程序设计的仿真教学法

点赞:5418 浏览:18798 近期更新时间:2024-04-01 作者:网友分享原创网站原创

摘 要:JA程序设计是高校计算机专业的一门重要课程,其目标在于培养学生面向对象的编程思想和编程能力.针对本科生普遍存在的参与真实项目开发机会少、动手能力差等问题,通过总结当前JA程序设计课程教学中存在的问题,模拟当下软件项目开发的实际流程,提出一种基于问题引导、项目驱动和小组协作的仿真式教学模式,就理论教学、协作实验和综合考核3个环节分别提出了改革措施.教学实践证明,该方法有助于调动学生的学习积极性,提高学生的程序设计能力.

关 键 词:JA程序设计;问题引导;项目驱动;小组协作

程序对计算机的重要性决定了程序设计在计算机学科体系中的核心地位,使得计算机专业本科生必须学习程序设计语言、掌握程序设计方法、培养程序设计能力.程序设计是有形表达抽象思维的方法,其中贯穿阅读、分析、思考、判断、表达、工具使用、综合创新等多项技能,对计算机专业人才的培养至关重要.JA是当下软件开发的第一平台,各个高校都为计算机专业本科生开设了一系列JA课程,如JA程序设计、J2EE框架与技术、J2ME移动软件设计等.因此,在JA相关课程的教学中,如何提高学生的程序设计能力、培养出符合软件企业需要的程序开发专业人才是一个亟待解决又十分重要的问题.

针对JA程序设计的仿真教学法参考属性评定
有关论文范文主题研究: 课程设计类论文范文 大学生适用: 大学毕业论文、电大论文
相关参考文献下载数量: 41 写作解决问题: 毕业论文怎么写
毕业论文开题报告: 文献综述、论文总结 职称论文适用: 刊物发表、高级职称
所属大学生专业类别: 毕业论文怎么写 论文题目推荐度: 优秀选题

1.现有问题

JA程序设计课程一般在大三开设,是继c、c++语言之后的又一门编程语言,其主要目标为帮助学生实现从面向过程向面向对象的编程思想转变,为高层次的J2EE软件开发打基础.实际教学实践表明,当前本科生在学习这门课程的时候一般会出现以下3个方面的问题.

1)教学方面.传统程序设计课程以语法教学为主、上机验证为辅,这种模式虽然有利于教师调控教学过程和学生对分散知识点的入门学习,但不能充分调动学生的积极性,通常会令学生在实际使用过程中不知如何灵活地应用相关知识来进行程序设计,解决具体问题.这主要是因为学生没能把握住串起程序设计思想各个知识点的主线,忽视了面向对象编程思维的建立和实际程序设计能力的培养.

2)实践方面.一般来说,现有的教学实践是老师布置题目、学生编写程序,这种形式难以引起学生的兴趣.而且在实验和课程设计中,有些缺乏主动性的学生往往对课本之外的JA主流开发工具或平台知之甚少.

3)考核方式.通常的课程成绩是由平时成绩和考试成绩组成的,这种考核形式难以全面反映学生解决问题的能力和实际的操作技能,有可能造成一些在笔试中能够考出不错成绩的学生实际上并没有掌握JA编程技能和技巧,到实际编程的时候就不知如何着手.

这些问题说明一个共性现象,即教师在讲授JA程序设计时,对实际编程能力的培养不够,多数学生对JA的学习仅是“纸上谈兵”、实践能力差.究其原因,笔者认为主要是因为:①本科生在学习的时候,基本没有程序设计与开发的真实场景,难以形成真正的程序开发时应有的紧张氛围;②真实的软件项目不可能交由一群毫无经验的本科生进行全权的开发,真实的软件项目也不可能考察到程序设计的所有方面,客观上造成缺乏全面锻炼学生编程能力的实际项目,使得本科生难以参与一个完整的软件项目研发流程.

2.仿真式教学法

针对上述问题,文章模拟当下软件项目开发的实际流程,提出一种针对JA程序设计的仿真式教学模式,以实践促进理论学习,加强对本科生JA程序设计能力的培养.JA程序设计的仿真式教学法基本结构如图1所示.

2.1基本思想

文章提出的仿真式教学法将JA程序设计这门课程设计为以真实而典型的JA软件项目为载体,把教学内容设置到复杂且有意义的仿真研发环境中,教学内容由若干从简单到复杂的主题单元组成.在每个学习单元,学生在教师的引导下,通过解决实际问题,不断积累一些类似于实际项目的开发经验,进而领悟知识与技能之间的微妙关系;而不同单元之间存在知识和技能的重叠与递进,确保学生在课程推进的过程中温故知新,灵活迁移,熟练掌握隐含于问题背后的非显性知识,提高学生发现和解决问题的综合能力.

2.2关键模块

1)问题引导的理论教学.

作为一门应用性很强的专业课程,JA程序设计课程在课堂教学过程中应用经典问题来引导理论教学.这样做可以改变“满堂灌”的做法,在思考中培养学生对程序设计语言的学习兴趣.在实际教学实践中,我们将理论教学内容分为若干个主题,JA程序设计是贯穿各个主题的主线,并创设“体验性学习”的条件,充分地发挥学生的主体作用.通过分析经典问题引导的典型案例,重点讲解面向对象程序设计的基本思想和关键方法,辅以介绍JA程序设计语言的理论知识,循序渐进地帮助学生掌握面向对象编程的基本思想和关键方法.

①将每个学习单元细分为若干个典型问题.JA相较于c语言增加了许多新概念,因此应该在课堂教学中,我们通过回答一个个具体的问题,在透彻阐明面向对象编程思想的同时,授人以“渔”地指引学生自己发现并主动解决一个个在实际编程中可能出现的问题,而不是直接简单地给出现成的结论.

②在知识阐述与技能解析上以够用为度,相对淡化JA语言规则的教学,将一些必需的和常用的概念分散穿插在应用举例中,在确保知识与技能涵盖性的前提下降低学习的强度和复杂性,使学生循序渐进又轻松有趣地领悟JA语言及其应用的内涵.

③学生要完成课堂的主题作业和课后的综合作业.教师针对学生在练习中暴露出的种种问题进行有针对性的答疑解惑,一对一地给每个学生分析其编写的程序代码,帮助学生逐步熟悉语法、应用语句,实现具有难度伸缩性的差异性教学.

在仿真式教学法中,理论教学从问题人手,采取完全开放的合作学习形式,鼓励学生发表自己的见解和发现.教师要把控课堂内容进行的方向,适时提出问题,并纠正其中的错误,引导学生掌握学习JA程序设计的方法,培养学生发现、分析和解决问题的综合能力.2)项目驱动的协作实验.

考虑到学生的学习水平和动手能力存在较大差别,实验内容应该提供几种在难度上具备足够区分度的选择方案.因为如果只采用难度过高的实验,多数学生会失去学习的动力与信心;但是实验难度过低,会使得部分学生得不到应有的训练而失去学习兴趣.

为此,笔者采用项目驱动的协作实验教学,其基本步骤如下.

①将全班学生依据学业水平、能力倾向、个陛特征、性别等方面的差异组成若干个异质学习小组;

②提供来源于真实项目,且侧重点和难点不同的若干个软件项目(或项目的子模块)供学生选择;

③基础好的学生在协同合作开发过程中起主导作用,基础差的学生也能从中得到激励和帮助,形成“以强带弱、以弱促强”的局面.

实践证明,项目驱动的协作开发使得每个学生都能够在原有的基础上取得进步,有助于培养学生自己主动学习JA程序设计的兴趣和能力,还可以促进学生之间良好的团队合作.

3)侧重实践的综合考核.

传统的JA程序设计考核一般以标准化的笔试题目为主,侧重基本语法,导致学生忽视编程实践能力的培养.我们认为应该加重实践环节的考核,将其以较大的比例加入课程考核的最终成绩中,但是应该充分考虑主观评价容易造成结果有失公允的问题.为此,笔者采用“个人评价+小组评价+教师评价”的形式,最大程度地保证实验成绩的公平和公正.

①个人评价是学生根据自己在小组中分担任务的执行及完成程度、在小组协作开发中的表现、与同伴互助协作情况以及对项目任务完成的贡献等情况,为自己进行打分.

②小组评价的第1步是选择3~5个学生(学生选出初始名单、教师确定最终名单)构成评委组.每个小组选出自己的小组代表对本组的最终结果进行演示和讲解.评委按照细分的评价指标(如功能完善、界面美观)进行评分,当场计算各组的综合分数.

小组评价的第2步是每个组长和指导教师构成评审团,对各个小组的实践过程进行评分,要强调团队协作意识,如需求分析的收集和整理,开发文档的完整性,实践过程中解决问题、分析问题的能力,团队协作进展情况,小组学习实施计划,组员参与情况等.

③教师评价是指导教师对各个小组进行总结性点评,帮助学生总结完成任务的过程和方法,促使学生反思自己的思路和行为,进一步消化学到的JA知识和技能.

3.实例分析

根据仿真教学法的基本思想和关键步骤,笔者在自己担任的JA程序设计课程教学过程中进行实例验证,这个过程分为以下几个阶段.

1)任务设计与准备.

①合理分组:依据学生的个性倾向、个性差异,指导教师将全班学生按照“组内异质、组间同质”的原则进行分组,每组成员控制在4~6人(模拟当前软件公司的项目小组形式),确保每个小组都有高、中、低3个层次的学生,并让每组学生自己推荐一名小组长.这样不但有利于各组之间的公平竞争,也有利于学生主体能动性的发展.

②设计任务:教师结合实际开发环境创造一种真实的虚拟项目,再根据课程进度将其分解为对应于一个个实验的一个个子任务,让每个小组讨论后提出相应的项目名称和预期目标.指导教师再与各个组长协商确定项目实施的各子任务和进度安排,提交项目进度表和考核指标.


2)任务实施.

①监督子任务进度:根据任务进度表,指导教师在每次实验的时候检查每个小组的子任务完成情况.在和小组成员进行充分沟通的基础上,对于子任务进度安排不合理的部分进行微调.在这个环节尤其需要强调团队协作,如部分成员态度问题、内部团结合作等.

②指导技术难题:小组成员需要发挥团队精神,培养学生互相沟通、尊重他人、聆听他人意见、说服他人的能力.在超出学生知识结构的地方,教师要及时加以实际指导或给予解决思路和参考书目,有效地辅助学生解决遇到的各种技术性难题.

③加入竞争激励机制:指导教师适当加入一些竞争激励机制,如评比“最有效率小组”“最高质量小组”“和谐团队”和“精英团队”等,使组内出现互动、互勉、互相促进的局面,充分调动学生的参与.

4.结语

变革与创新是科学发展的永恒主题.身为教育工作者的我们理应在教学过程中积极探索与实际需求相适应的教学思想、教学模式和教学方法.JA程序设计是计算机专业的一门非常重要的实践性课程.如何利用学生已有的知识和经验,使其快速掌握面向对象的程序设计思想,进而能够创造性地解决实际应用中的种种问题,是我们需要关注的重点.文章提出了一种仿真式教学方法,对JA程序设计的理论教学、实践环节和考核方式3个方面进行了一定程度的改进.笔者在担任的JA程序设计课程教学过程中进行了相关的初步实验,教学实践表明:该方法可以促进学生之间的交流,发挥学生的学习能动性,提高团队协作精神,有利于全面提升学生JA程序设计的理论水平和实际技能.