基于编程技能的Java课程教学创新与改革

来源 :职教通讯 | 被引量 : 0次 | 上传用户:ash0
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:在大批普通本科高校向应用型本科转型的背景下,为了契合应用型人才的培养目标,提升学生的编程技能,福州大学至诚学院开设了“Java程序高级开发”课程,并以此课程为载体,开展教学改革,以实践教学为主线,以拓展训练为特色,将多种现代教育技术手段引入课堂,形成多元化的、混合的综合教学模式。
  关键词:应用型本科;编程技能;实践教学;拓展训练
  基金项目:2018年度福州大学至诚学院课程改革项目“Java程序高级开发”(项目编号:ZJ1831)
  作者简介:亓晓静,女,副教授/高级工程师,主要研究方向为软件工程。
  中图分类号:G712 文献标识码:A 文章编号:1674-7747(2019)06-0028-04
  随着近年来一大批普通本科高校向应用型本科转变的办学方向改革,“以能力为中心”的培养模式已被大家广泛认可,福州大学至诚学院在向应用型本科转型过程中,经过全方位细致的走访与调研,把突出技术与实践应用能力作为培养为的核心,重新修订了各专业的人才培养方案。笔者以软件工程专业的“Java程序高级开发”课程为例,探索编程实践技能教学的改革与创新,以提高学生的技术应用能力。
  一、“Java程序设计”课程现状
  “Java程序设计”是大部分软件工程专业必修的一门课程,该课程主要有“面向对象基础”和“Java技术应用”两个部分的内容。作为面向编程学习的第一门课程,以往的做法是,将“面向对象基础”部分作为授课的重点,占用了总课时比例的60%~70%,导致“Java技术应用”部分的授课时间严重不足,技术应用能力方面的实践力度不够。学校为了弥补这一问题,从企业请来一线的工程师,安排了实训课程,希望通过工程师带来更贴近实际的项目实训,强化和提升学生的Java技术应用能力。但由于这样的实训项目通常综合应用了多项技术,而课堂上对“Java技术应用”部分的学习着墨不多,只停留在表面。學生普遍反应,如此直接面对项目实训,跨度太大,难于驾驭,实训效果差强人意。
  为了契合应用型本科的人才培养目标,针对存在的问题,我们走访了用人单位、邀请企业技术负责人和专家共同研讨,同时,结合本学院学生的认知能力与学习特点,在新的培养方案中将“Java程序设计”拆分成“面向对象程序设计”和“Java程序高级开发”两门课程,旨在通过“Java程序高级开发”这门课程中的强化训练,来提高学生的Java技术应用能力。
  二、“Java程序设计”教学中存在的问题
  通过调研了解到,以应用型本科人才培养的目标来审视以往的“Java程序设计”教学模式,主要存在以下四个方面的问题。
  (一)与人才培养目标脱节
  “Java程序设计”课程往往是学习面向对象程序设计的第一门课程,教学过程中主要重视面向对象的基本知识及语法的学习,对其中的Java技术应用部分,仅要求学生了解和掌握基本的编程步骤,没有足够的时间突出和加强编程实践技能的训练,学生的实际应用技能较差,达不到人才培养的目的。[1]
  (二)与学生的实际状况脱节
  应用型本科往往是“本二”“本三”层次的学生,其学习态度与自主学习能力与“本一”学生存在明显差异,然而,现有的教学资源,如教材和案例等,没有足够重视这些差异,认为“Java技术应用”部分只需要做好相关的知识铺垫与必要的案例引导,学生就能够自主学习发挥,在实际项目中运用自如,而不需要花费时间、精力进行专项的学习和训练。然而实际情况却是,当学生在实训课上面对企业一线工程师带来的实际项目时,常常不能很好的驾驭,课堂上的学习与实际编程开发无法顺利对接。
  (三)与岗位技能脱节
  对于一线工程师岗位而言,仅靠课堂上学会的编程语言是不够的,还需要具备一些其他的综合技能,如程序的调试、诊断、测试等,但这些技能在一般的程序设计课程中鲜有涉及,使得学生完全是在一个真空状态下学习编程的过程,根本没有意识到自己写出的代码不够健壮,就更谈不上如何优化于完善,造成学生毕业进入工作岗位后,不能较快地适应岗位技能要求。
  (四)排课方法不利于编程训练
  高校中现有的排课规范是,按2:1或1:1的比例分配课堂教学和实验教学的学时,理论课与实验课相互交错安排。这样的排课方法,在时间和空间上将课堂教学(多媒体教室)与实验教学(机房)人为分离,不利于编程训练的强化。另外,由于本院学生学习特点,在实验课上大部分学生还需要教师再次梳理和演示后,才能进入状态开始实验训练,导致动手实践的时间比例严重缩水,达不到预期的效果。
  三、“Java程序高级开发”教学创新与改革路径
  为了有效地解决上述教学中存在的问题,学院以向应用型本科转型为契机,以“Java程序高级开发”这门课为载体,展开新一轮的教改实践,借助“互联网+”技术,融合多种教学方法,探索采用多元化的、混合的综合教学模式,提升应用型本科软件工程专业学生的编程技能。
  (一)以实践教学为主线
  “Java程序高级开发”这门课程的内容主要是Java技术应用,包含IO流、JDBC、多线程、网络编程等众多的技术主题[2],主要培养学生动手编程的能力,即技术应用的能力,属于技术实践类课程。它有别于工程实践类的课程,是专业基础课与工程实践课之间能否顺利衔接的关键。
  这些技术主题都有自己鲜明的技术特征,拥有各自不同的编程套路,并且在实际应用时,并不是独立使用,而是互相渗透,演绎出多样的形态,如在网络编程中一定会出现IO流和多线程,会促使在这门课程的教学实践中淡化理论和实践的界线,以实践教学为主线,通过循序渐进的编程训练,反复实践来掌握相关技能。
  (二)以岗位技能为中心的综合技能训练
  在对企业的调研回访中了解到,软件工程专业学生的编程技能,不仅仅是会用编程语言写代码,还需要掌握一系列与软件工程有关的综合技能及实用小工具,这些技能及小工具在现有教材中几乎无涉猎,仅在“软件工程”课程中有简单介绍,没有专门的课堂训练,而这恰恰是软件开发工作中不可或缺的实用技能。因此,在“Java程序高级开发”教学内容的组织上,增加这部分内容的拓展训练,引入一些常用的综合技能、小工具,自编讲义、课件、编程任务集,使学生能够初步掌握更接近于实际岗位需要的编程技能,顺利地过渡到后续的工程实践类课程。   1.训练编程思路。编程的关键是编程思路,没有人天生就懂编程思路,编程思路是经过一定训练后养成的。对于学生而言,就是要从养成良好的编程习惯入手,拿到编程任务后,要认真分析得到正确的编程思路,不能匆匆忙忙敲代码。在开始阶段先由教师提供任务的编程思路,要求学生将编程思路作为代码的注释,将文档放在代码里,根据思路完成编程任务。经过一段时间后,学生就渐渐有了将大问题分解成小问题的模块化设计意识,到了中后期就要求学生自己先写出编程思路,再完成代码。同时,要求学生编写javadoc注释,并生成API文档。反复训练,养成习惯。
  2.训练编码规范。所谓无规矩不成方圆,无规范不能协作。在实际工作中,良好的编码规范将有利于团队成员之间的协作配合,减少程序bug,提高程序性能及安全性,并可以减少软件的维护成本。在课堂上应引入主流的Java靜态代码分析工具,不仅学习代码的格式规范,更重要的是熟悉编码的经验法则,要求学生的作业都必须通过静态代码分析工具的检验,逐步养成遵循代码规范编写程序的习惯,能够写出优雅的、一致的代码。
  3.训练单元测试。单元测试,是每一个程序员必须掌握的,是程序员对所开发代码质量的一个基本承诺。在开始的任务中,先提供JUnit单元测试的代码,要求学生学会用JUnit单元测试代码检验自己的程序,熟悉测试代码的使用,认识单元测试的作用与意义。后期,再要求学生自行设计测试用例,编写JUnit单元测试代码,检验自己编写的程序。通过不断的训练,锻炼学生的测试技能,养成测试意识。
  4.训练调试诊断的能力。调试诊断的能力是编程必备的技能,但却无法从理论课堂上学到,只能在编程实践中,借助调试诊断工具通过不断纠错的过程来学习掌握。当学生在编程实践中遇到问题时,教师现场引导学生学会使用调试诊断工具,帮助分析诊断问题所在,修复程序缺陷,逐步培养调试诊断的技能。
  5.训练优化代码的能力。能够编写更快更好的代码,是每一个程序员不懈的追求。引导学生使用性能分析工具,找出影响代码性能的瓶颈所在,对代码进行重构与优化。同时,通过回归测试,确保任何重构与优化都不能破坏代码的正确性。通过训练,让学生初步掌握代码优化的技巧,能够优化完善自己编写的程序,让程序“跑得快”。
  (三)引入翻转课堂,提高实践教学的比例
  翻转课堂正好契合“Java程序高级开发”这门课的特点,教师按教学进度在线上发布相应的视频课件,学生课前观看视频自主学习,初步掌握每次课的知识要点及课堂训练的要求,从而改变传统满堂灌的课堂教学方法,可以最大限度提高课堂实践教学的比例。[3]在引入翻转课堂教学法之初,学生们纷纷抱怨从小到大都是到课堂上去听课,习惯了跟着老师走的被动学习方法,突然在一门课上要转变成课前自主学习,不知所措,难以适应。因此,学院老师及时做出调整,将视频精简为以实例演示为主的微视频,并增加课前导读、线上讨论与答疑,经过几轮的磨合,学生已能从容应对,渐入佳境。为了配合翻转课堂,教师将课程的安排改为以3~4节课为一个单元,不再人为地分割课堂教学与实验教学,全部在机房完成,确保学生人手一机,可以边讲边练,保证了课堂实践教学的时间与质量。
  (四)多种手段确保课堂任务的饱满度
  翻转课堂实施的效果,很大程度上取决于学生的学习兴趣、自主学习能力,因此,学生之间的程度差异将被迅速放大,这样就不能按统一的标准来要求每个学生,所以设定分层次的教学目标是对翻转课堂教学法的一个很好的补充。根据学生的不同程度,设计不同层次的作业任务,既让每个学生都可以入手,循序渐进,又能较好地解决了学生间“吃不饱”与“吃不下”的现象。(1)第一层次:模仿练习。学生从模仿编程例题入手,完成相类似的任务,从而了解和熟悉基本的编程思路和方法。(2)第二层次:编程应用。根据要求,完成稍有难度的编程任务,自行解决些小问题,从而小有成就感,逐步提高学习的兴趣。(3)第三层次:拓展训练。引入结对编程的方法,适当提高编程难度,完成几个有意义的小工具,积累编程经验。
  借助云教学平台,为每次上课发布的各层次的训练任务指定不同的deadline,并据此形成新的考核评价方式,即课堂评价、任务评价等。一方面,营造了真实岗位的工作氛围,让学生增加课堂实践的紧迫感,迫使每个学生都能自觉参与到课堂实践中;另一方面,也有利于教师掌控实践课堂的节奏,提高机房教学的效果和质量。
  (五)通过电子教室加强现场实时指导
  教师可以借助电子教室,通过监控巡回查看每个学生的编程训练情况,学生可以方便地通过电子教室向教师求助。对于学生在实际编程中遇到的各类题,教师通过电子教室的控制功能,直接操控学生端,实时地帮助分析出错的原因,引导学生逐步解决,并利用电子教室提供的学生演示功能,灵活地将纠错过程同步演示给特定的学生群体观看学习。通过个别指导、小组指导、全员指导多种形式加强现场指导,真正做到以生为本,个性化教学。利用电子教室,可以在课堂上加强教师和学生之间的交流讨论,启发学生认真思考,学会提问,善于提问。
  (六)采用多样的课堂活动形式
  在调查中发现,学生遇到学习问题解决的途径依次是:请教同学→上网百度→寻求教师的帮助。为此,教师在课堂上挑选一些学习能力较强的学生为核心,组建若干个学习小组,以好带差,展开互帮互学式的交流与讨论。在课堂上引入结对编程,两个学生一起交流与讨论编程思路,共同完成任务,并以一节课为单元,要求学生轮换驾驶员和领航员的角色,互相监督、相互学习,既培养了团队协作的意识,又提高了学习兴趣。借助云平台工具,每次课都组织开展讨论答疑的活动,并设立最佳问题奖,提高学生参与课堂互动的积极性,方便及时地进行线上和线下交流。
  (七)线上线下的点评与交流分享
  每次课上及时点评学生的编程思路和代码中存在的主要问题。除了教师点评外,还时常邀请作业优秀的学生上台演示和说明编程思路,同学之间互相讨论交流学习体会。课后,全班同学都可以在云教学平台上查看教师批改和点评作业的情况,交流和分享优秀作业,互相取长补短。   总之,通过两轮的实践,看到了学生们从开始的不适应甚至排斥,到喜欢上这种教学模式的变化,特别是在刚刚结束的课程中,学生给出的课程评议结果是98.93的高分,这大大增强了学院教师们继续探索实践的信心。经过课程实践训练,学生们逐渐培养起自主学习的能力,遇到问题不再发怵,能够沿着一定的路径摸索解决,编程实践能力得到了提高,并且在各类创新创业项目中都看到他们活跃的身影。
  参考文献:
  [1] 邓海生.新建本科高校Java课程改革研究与实践[J].电脑知识与技术,2016(21):106-107.
  [2] 李秋菊,王长斌,杨鸿雁.高校转型背景下计算机专业Java课程改革与实践[J].鞍山师范学院学报,2017(4):68-71.
  [3] 郑瑞强,卢宇.高校翻转课堂教学模式优化设计与实践反思[J].高校教育管理,2017(1):97-103.
  Abstract: In the context of transition from a large number of ordinary universities to applied undergraduate education, we have offered the course Advanced Development of Java Programs and conducted teaching reform with this course as a carrier in a bid to meet the objectives of training applied talent and enhance students’ programming skills. We take the practice teaching as the main line, take the development training as the characteristic, introduces many kinds of modern educational technology means to the classroom and forms the diversified, mixed synthesis teaching pattern.
  Key words: applied undergraduate education; programming skills; practical teaching; extended training
  [責任编辑 李 漪]
其他文献
摘 要:在职业教育教学设计中,知识内容的结构组织与排序方式是影响教学质量的重要因素。以二级管教学为例,基于知识体系逻辑展开的教学设计,容易产生与教育规律的偏差、与学生认知心理的偏差。相反,基于学习认知逻辑展开的教学设计,符合“感性—理性、行动—思考”教育规律,也符合人的认知心理学规律。  关键词:职业教育;二极管教学;知识体系;认知心理;偏差  一、问题的提出  一般而言,教学内容来源于教材,
期刊
摘 要:作为“世界继续教育之乡”的英国,在继续教育建设方面一直处于世界领先地位。为了适应社会经济的发展,英国的继续教育不断深入改革,在20世纪80年代已经提出建设一体化继续教育体系的设想,将继续教育体系完全纳入到公立教育体系当中。该一体化继续教育体系不是简单地将继续教育视作几个行政部门的集合,而是从政策到实践层面为英国一体化继续教育体系建设提供切实可行的方案,以满足成人多样化的继续教育需求。英国
期刊
摘 要:在三年制与五年制两种不同学制的高等职业教育背景下,学生在校行为表现有显著区别,究其原因是学生身心阶段、身经阅历及价值判断等方面存在差异。教育工作者应极力避免冲突,强调互补,发挥融合优势,提高学校育人实效。  关键词:高职学生;行为表现差异;三年制高职;五年制高职  基金项目:2017年江苏省职业教育学会五年制高职分会重点课题“三年制高职与五年制高职比较研究”  作者简介:陶菊良,男,副研
期刊
摘 要:专业导论课程在高职院校酒店管理专业人才培养和课程体系中具有重要的地位。基于高职院校酒店管理专业新生的学情特征以及酒店導论课程的基础性、课程内容的概览性、授课方式应具备的趣味性,课程内容应包括职业认知模块、行业认知模块和专业学习认知模块。同时,在教学过程中应把握教学时长的合理化、教学形式的多样化、师资队伍的多元化、教学资源的丰富化,从而实现专业导论课程帮助学生建立对酒店行业正确认知、做好专业
期刊
摘 要:鉴于德国“双元制”人才培养模式在我国的实践范围不断扩展,需要对现有的实践现状进行梳理。从参与主体、实践规模、师资队伍、考核方式、实训场所等方面对10所实施“双元制”本土化实践的高职院校的公开文献进行分析发现,我国“双元制”本土化实践存在主体性参与不足、覆盖面不够广泛、“双元制”师资比较薄弱、考核模式有待优化、跨企业培训中心建设还需加强等问题。因此,需要采用系统论视角,建立政、行、企、校
期刊
摘 要:乡渡文化理论是将学校借喻为乡渡,教师似渡工,学生是乘船者,学校将学生从此岸送到彼岸,实现人生的价值。乡渡文化构建是由文化理念体系、教育理论体系、教化融合体系构成。文化理念体系由学校愿景、校训及三风建设;教育理论体系包括教育的多元性、自主性、目的性和指导性;教化融合体系即环境层面的融合、精神层面的融合、行为层面的融合、知能层面的融合。  关键词:职业教育;乡渡文化;文化育人  基金项目:中
期刊
摘 要:德育教师是开展职业院校德育的骨干力量,职业精神的培养有助于调动其工作积极性、激发职业热情和创造力,健全职业院校教师激励管理机制。基于赫茨伯格的双因素激励理论,职业院校需要提升德育教师的政治觉悟和职业使命感,激发其内在激励因素;改善德育教师的保健因素,消除其职业不满意感;完善学校的激励因素,增强德育教师的职业满意度。  关键词:职业院校;德育教师;职业精神;双因素激励理论  教师是职业院
期刊
摘 要:教师是教育发展的第一资源,深化教师队伍建设是高职院校内涵建设的第一要务,新教师入职培训与考核是深化职业院校教师队伍建设的起点,新教师入职培训和考核要明确其目的和重要性,从我国新教师入职培训与考核的基本方法入手,学习和借鉴国外的先进经验,通过实践探索不断完善培训与考核体系,使新教师在有限的时间内树立正确的职教理念,掌握良好的教学方法,为职业生涯发展奠定良好的基础。  关键词:职业院校;新教
期刊
摘 要:“电子产品设计”作为电子信息工程技术专业岗位能力课程,对本专业学生专业技能和职业素养的培养有着重要作用。对“电子产品设计”课程目前的现状和存在的问题进行了分析,依据电子信息工程技术专业能力目标矩阵对学生工程能力的要求,并借鉴探究性学习的方法对该课程提出了针对性的改革方案和具体的实施措施,通过教学实践对课程改革的效果进行了讨论和总结。  关键词:电子产品设计;能力目标矩阵;探究性学习;课程改
期刊
摘 要:在基于全面发展的新时代职业学校学生发展目标指引下,本文采用德尔菲法和层次分析法相结合,借鉴了非营利性组织常用的平衡记分卡方式,构建了由5个一级指标和20个二级指标组成的高职学生社团绩效评估指标体系,探讨了学生社团绩效考核的特点及本研究的不足之处,为客观、科学的评价高职学生社团活动提供了参考。  关键词:学生社团;绩效指标;德尔菲法;层次分析法  基金项目:江苏省职业技术教育学会2018-2
期刊