APP下载

基于工程师型人才培养的Java 程序设计教学改革与探索

2023-11-17黄桂萍奎晓燕温创新

科教导刊 2023年24期
关键词:程序设计课程教学

黄桂萍,奎晓燕,温创新

(1.湘潭理工学院数字科技学院 湖南 湘潭 411100;2.中南大学计算机学院 湖南 长沙 410000)

Java 程序设计是计算机科学中重要的基础课程之一,涵盖了编程语言的基本概念、语法和编程技术。然而,随着计算机科学的不断发展和应用领域的不断扩大,传统的Java 程序设计课程常常会出现缺乏编程实践能力,理解不深入等问题。例如,传统的Java 程序设计课程注重语法和基本的编程技术,而现实世界中的应用程序要求学生掌握更高级的技术,如面向对象设计、软件工程和图形用户界面设计等。因此,为了提高Java 程序设计课程教学的质量,许多高校和教师积极对Java程序设计课程教学进行改革与研究,通过创新教学方法和手段,提高学生的学习效果和应用能力,使其能够适应不断变化的技术环境和需求。

湘潭理工学院于2020 年由湖南工商大学北津学院完成转设。在新工科背景下,学校定位于服务湖南省 “三高四新” 和产业行业发展的应用型本科院校,立足产教融合,提出全新的CFAP(C,character品格与信仰;F,fundamental skills,基础能力;A,action 行动力;P,professional skills 专业能力)+项目制人才培养模式,培养社会、产业行业需要的各类工程师人才。Java 程序设计课程是学院计算机相关专业的必修课,实践性和操作性强,连续十年位居编程语言使用榜前三[1]。Java 课程涵盖编程语言的基本概念、语法和编程技术。随着计算机科学的不断发展和应用领域的不断扩大,传统Java程序设计课程采取的 “教师讲+学生听” “理论+实验” 教学模式所培养出的学生呈现出理论不扎实,动手能力不强,无机会参与项目实践锻炼自身软件系统开发能力,与市场人才需求脱节,毕业找工作屡屡受挫等问题。湘潭理工学院紧跟产业技术发展前沿,积极开展Java 程序设计课程教学改革与实践探索,采取 “四维一体” 的教学模式和 “5W+1H” 的教学方式,开展企业级项目制教学,充分利用校企合作资源,培养适应 “互联网+” 时代的新工科工程师型技能人才。

1 相关研究

Java 程序设计课程教学改革的内容涉及教学目标、教学内容、教学方法和教学评价等方面[2-3]。Liu 等[4]构建了基于MOOC 慕课的翻转课堂教学模式和学习模式,让学生成为学习的主角,提高了学生的编程技能和沟通能力。Sun等[5]结合蓝桥杯竞赛,通过课程与竞赛的融合,对Java程序设计课程进行改革, “课赛结合” 能显著提高教学效果。Zhu等[6-8]将OBE 成果导向教育理念引入Java 程序设计课程的教学中,以结果为导向,以学生为中心制订教学目标,细化课程,改革混合教学模式,加强校企合作,采用多元化课程评价体系,提高了学生的学习效果和工程实践能力。Sheng[9]开展Scratch 辅助教学的 “423 模式” 教学研究与实践,在课程设计上遵循Scratch 和Java 两条主线,在课程实施上遵循 “课前―课中―课后” 的 “423 模式” ,培养学生的创新思维能力,激发学生的学习兴趣,提高了课程教学效果。这些研究为本项目提供了新的思路和方法,丰富了Java程序设计课程的教学内容和形式,为教育工作者和教师提供了重要的参考和借鉴,促进了Java程序设计课程教学的改进和优化。也为Java 程序设计领域的研究提供了新的思路和方向,推动了Java 程序设计领域的创新和发展。

2 Java 程序设计课程教学现状分析

湘潭理工学院于2023 年6 月迎来了第一届毕业生,毕业生就业工作已经接近尾声,学院通过对毕业生的就业跟踪、用人单位反馈以及对四年来教学质量数据进行分析,总结出学院Java 程序设计课程教学存在以下问题:

①教学方式传统。虽然教学改革每年都在大力推行,但 “教师讲+学生听” “理论+实验” 的传统授课模式依然为学院目前主流的教学方式。学校最新教学质量监控报告显示,2023 年2―3 月,校、院两级督导听课共计540 节,其中二级学院督导听课483 节,校级督导听课57 节,反馈的典型问题之一为教学方式比较单一,授课局限于PPT 内容,思路打不开,新观点引不进。近两年Java 程序设计课程教学也存在同样的问题,不能充分利用MOOC、头歌、智慧树等网络资源平台,以及翻转课堂、分组讨论、项目制教学等多样化的方式来开展教学。

②学生缺乏实践。课程教学以多媒体授课为主,每周安排一次上机实践课,内容为每个知识点的小案例。整个课程学完后,学生不能综合运用所学知识解决实际问题,不能用Java语言进行软件项目开发,对于开发过程中相关文档(可行性分析报告、项目开发计划、需求说明书、概要设计文档、详细设计文档、用户操作手册等)的撰写不懂,不能体会软件开发过程中团队协作、沟通方式以及相关规范、文档的重要性和必要性,这些能力恰恰是IT 信息技术人员最基础的核心技能。Java 程序设计课程教学改革需要加强实践环节,提高学生的实际应用能力和综合素质。

③考核方式单一。课程的考核由平时成绩(课堂出勤、作业、课堂表现、实验表现)加期末考核(试卷或上机)两大部分组成,平时成绩占40%,期末占60%。集中式的考核机制不能全面检测和反映学生的学习效果,同时导致学生平时学习没有紧张和压迫感,加上驱动力不足,往往在考试前临时抱佛脚突击复习。Java 程序设计课程教学改革需要综合考核学生的实际应用能力和综合素质,而目前的考核方式主要是传统的考试成绩,缺乏实际应用环节和项目实践等考核方式,故难以全面评价学生的能力和水平。

④学习缺乏持续和系统性。Java 程序设计课程开设完成后,没有安排实践项目加以巩固和运用,没有安排后续项目引导学生系统而深入地探究。学生学习形成点到即止的现象,局限于教学安排的课堂64 课时,一个假期过后返校,所学知识全部返还老师。

⑤教学资源不足。由于学校办学年限短,大部分实验室和教学设备都还在建设和完善中,所以目前学校软硬件教学资源不充足,教学改革面临一定的困难和挑战。

3 Java 程序设计课程教学改革与探索

课程组针对学院Java 程序设计课程教学中存在的问题,借鉴和参考已有教学改革经验,结合学院推行的CFAP工程师型人才培养模式,充分利用学院现有资源对本课程进行教学改革和实践探索,经过一年的实践,取得了比较好的成效。

3.1 课程设置改革与实践

学院完成转设后,根据CFAP工程师型人才培养理念,修订了全新的人才培养方案。根据就业岗位群技能需求,计算机类各专业均开设 “面向对象程序设计(Java)” 课程,总学时为64 学时,先导课程为C语言,同轨课程为数据库,此为第一课堂。增加校企合作的工程项目为实战项目,并与粤嵌、千锋、新梦想IT 等企业共建 “实训项目资源库” 。现库里建有 “浙江地级市宏观经济数据” “锋云医疗健康系统” “飞扬的小鸟” 等30 多个项目,并在不断增加和完善中。增加 “互联网+” 大学生创新创业、 “挑战杯” 、蓝桥杯、计算机程序设计、创新创业等各类学科竞赛为综合应用类持续项目,此为第二课堂。对课程设置进行改革,使得学生缺乏实践、教学资源不足等重大问题得到了有效缓解,重新设置后的课程得到了学生的认可和好评,提高了学生对该课程的学习兴趣。

3.2 教学实施改革与实践

3.2.1 教学实施

将Java 程序设计课程由原来的半机房上课转变为全机房授课。理论讲解和实操相结合, “边讲边写边练” 。教师在学生练习期间,主动解答学生的问题,了解学生掌握情况,适时调整授课节奏。本课程内容划分为三篇,第一篇为语法基础、流程控制、数组等基础知识,因有C语言作基础,学习难度不大,学生缺乏的是逻辑思维能力及上机实践能力。第二篇是重点,为类和对象,包括类、对象、继承、多态、抽象类、接口、包和内部类等内容,学完本篇,学生应能掌握如何用面向对象的思维编写Java程序,解决现实问题。第三篇为核心技术,包括异常处理、字符串、常用类库、集合类、输出、数据库操作、Swing 程序设计、Java 绘图、多线程和网络通信等内容,学完本篇,学生应能开发出一些小型应用程序。最后通过安排为期一周的计算机程序实践项目,由企业工程师带训,学生自由组队,选做项目资源库里的一个项目,全程运用软件工程的设计思想,采用真实项目开发流程,按照 “项目管理—开发环境—代码&文档—质量&安全—持续集成—软件部署” 步骤,模拟团队开发,全过程体验和完成公司项目开发的完整流程。此外,在后续的学科竞赛中,学生持续对Java程序进行进一步的学习和应用,不断强化工程应用能力。

3.2.2 教学模式

以企业需要的技术型工程师人才为培养目标,采用 “四维一体” 的教学模式,全方位培养学生。第一维是专业技能,包括Java 工程师初级技能、高级技能、项目规划、需求分析、项目设计、开发测试、文档编写、项目部署和项目开发流程等专业技能。第二维是项目经验,包含实践项目开发经验和分享项目开发经验。第三维是思维拓展,学生在项目中融入自己的想法、开展独立分析和学习。第四维是综合素养,包括团队合作能力、沟通表达能力、个人职业素养、公司规章制度和个人职业规划。在教学过程中,将以上四个维度融合到一体,把整个项目从设计、开发、实施、交付维护等拆分到课程的不同阶段,每个阶段都采用 “四维一体” 的教学模式展开教学,不仅让学生掌握专业技能,体验公司的开发流程,更注重培养学生的团队合作意识和独立解决问题的能力,提高学生实践动手能力和就业价值。整个过程中,采用 “5W+1H” (what―何事,why―何故,who―何人,where―何地,when―何时,how―何法)的教学方式,课程中引导学生思考并解决问题。

3.2.3 企业化教学及管理

按照权威的移动互联网公司的项目流程要求和标准,对课堂和实训项目进行管理,涉及项目的市场调查、需求分析、项目规划、项目开发、BUG和集成测试、产品提交、产品上线、产品推广、产品试运营、产品正式运营等各阶段。课堂教学和项目实训过程中,要求学生使用最权威的移动互联网公司的标准文档和工具,教师为学生提供各类模板、资料和开发工具,包括需求文档的模板、市场调查的模板和资料、项目策划的模板、项目开发的框架和工具、项目测试文档模板和工具、产品提交环境、产品运营的资料等。按照真实的、正规公司的管理制度管理和约束学生,为学生营造并使其感受真实的公司工作氛围。

3.2.4 开展项目制教学

项目制教学实施流程:需求(进行需求分析)―计划(提交工作计划)―决策(与企业工程师进行专业讨论后决策)―实施(编码实现)―测试(形成测试报告)―总结(与企业工程师进行专业讨论)。以小组的形式进行课程的教学和实训项目的开发,锻炼学生的团队合作能力。每个小组选出一位有责任感、有担当的小组长,保证本小组课程学习和小组项目的有序进行。在学习过程中,教师每天都会讲解新的知识点,融入一些简单的小例子,并与学生进行有趣的小游戏互动,使学生对编程更加感兴趣。组织学生模拟公司的开会,讨论项目的进度和问题,学生可以发表对项目目前发展阶段的建议和意见,使项目更完善。在项目实训过程中,学生要写周报或日报,记录自己的进步和收获。项目即将结束时,学生需要进行项目总结和汇报,包括学习以及项目相关数据的总结,如项目代码的工作量统计、BUG 的统计率与解决率等,全面提升教学质量。

3.2.5 过程化考核

成绩由个人考核成绩(占总成绩的30%,包括考勤、阶段作业、团队表现)、项目组考核成绩(占总成绩的50%:包括方案设计、组织实施、技术)和项目汇报成绩(占总成绩的20%:包括项目汇报、项目报告、项目总结)三部分构成,根据评分标准展开评分。

3.2.6 以赛促学,以赛促教

竞赛是通向杰出工程师型技术人才的捷径,为了使学生能学以致用,除去教学计划中的64 个课时及程序设计实践项目外,教学团队还成立了学科竞赛小组,划分四大类:数学建模、程序设计、 “互联网+” 创新创业大赛和 “挑战杯” 竞赛。配以指导老师在大学四年中不分时段开展常态化竞赛指导,以赛促学,以赛促教,企业工程师全方位参与学科竞赛指导。在过去的两年里,实践取得非常好的效果,具体体现在四大类学科竞赛中,在参赛队伍和参赛总人数不变的情况下,学生摘得省级以上奖项由2021 年的6 项增加到2022 年的26 项。

4 结语

本文针对学院Java程序设计课程教学存在的问题,结合学院推行的CFAP 工程师型人才培养模式,充分利用学院现有资源进行教学改革与实践。在课程设置上,增加第二课堂,以校企合作的综合应用为持续项目,与企业共建 “实训项目资源库” 。在教学实施上,采用 “四维一体” 的教学模式和 “5W+1H” 的教学方式开展项目制教学,采用企业化管理模式进行教学管理,将单一化的考核方式改为过程化考核方式,并全力推进各类学科竞赛,以赛促学,以赛促教。通过整合教学资源和实施教学改革,学生缺乏实践经验和内驱力、教学资源不足、教学方式单一等问题得到了有效解决。重新设置后的课程得到了学生的认可和好评,提高了学生对该课程的学习兴趣。教学实施的改革,提高了Java程序设计的教学质量和学生的学习效果,体现在今年学生的就业、用人单位的反馈以及各类学科竞赛所取得的成绩中。本研究为其他程序设计类课程教学改革提供了新的思路和方向,为其教师进行教学改革提供了经验和借鉴。

猜你喜欢

程序设计课程教学
《无机化学》课程教学改革
数字图像处理课程混合式教学改革与探索
微课让高中数学教学更高效
软件设计与开发实践课程探索与实践
基于Visual Studio Code的C语言程序设计实践教学探索
为什么要学习HAA课程?
从细节入手,谈PLC程序设计技巧
“自我诊断表”在高中数学教学中的应用
对外汉语教学中“想”和“要”的比较
高职高专院校C语言程序设计教学改革探索