APP下载

计算机科学与技术专业信息化项目教学实践的研究与探索

2021-11-19刘诗源赵海燕申海伟胡正坤王廷梅

科教导刊·电子版 2021年29期
关键词:过程课程课堂

刘诗源 赵海燕 申海伟 胡正坤 王廷梅

(北京联合大学应用科技学院 北京 100101)

0 前言

随着计算机软件技术教育的理念逐渐趋于成熟,对软件开发人员的人才培养模式和课程教学模式都有了更加深刻的认识。项目化教学在我国不是新生事物,基于工作过程的行动导向的教学模式逐渐被各高等所院校采纳。尤其是近几年,专业教材或辅导资料陆续进行了“项目化”改造,为项目化教学在我国全面推广奠定了基础。

北京联合大学应用科技学院电子信息系计算机科学与技术专业的最重要的培养目标岗位是 WEB开发工程师,本专业在2020年为了将教学方式从传统的记忆性知识为导向转变为以项目应用能力为导向,尝试性的进行了项目化教学的探索工作,注重提高学生的自学能力和动手能力,培养学生的大国工匠精神,使学生成为具有良好的团队协作意识、自学意识和创新意识的高素质应用型人才。

1 课程介绍与教学现状分析

该研究中参加项目化教学改革的课程包括《WEB应用设计》《软件工程》《基于框架的应用开发》三门专业课程,以下为各门课程的介绍。

《WEB应用设计》课程的教学内容是让学生掌握WEB应用设计过程中的原型设计、界面设计、架构设计、接口设计、数据库设计、开发流程设计、项目配置设计等环节的工作流程和普遍原则。如果不结合实际的项目,本课程的教学内容也只是一些枯燥的记忆性知识,难以引起学生的兴趣。

《软件工程》课程的教学内容主要以教师课堂讲解工程化的方法(开发方法)、工具(支持方法的工具)和过程(管理过程),课程内容比较抽象、学生因缺乏工程实践难以理解和接受。

《基于框架的应用开发》课程的教学内容是讲解使用框架技术实现WEB信息系统的原理,并教授一种业界常用的框架技术,同时围绕这种框架技术的相关知识点讲解一些小型案例的制作过程。通过课程的学习,学生能够学会WEB应用开发的基本知识点,但是对于企业实际开发流程、应用程序设计思想、团队协作工具等企业关注的技能却完全没有了解。

2 信息化项目教学重点举措

2.1 优化项目

项目直接影响着教学效果。首先,项目的确定是根据教学计划设计项目内容。利用信息化手段对软件公司的项目内容进行调研,选取其中具有代表性的实战项目划分成小项目,结合历届毕业设计的题目等作为学生所选题目。项目编排要突出其实践性,按照任务驱动的思想,从实践中来,到实践中去。最后,项目的设计应采用结构化的方法,项目的选择应循序渐进,难度及标准应与学生的掌握能力保持平衡。

2.2 角色分配

项目化教学中,学习过程为一个人人参与的创造性实践活动,注重的不是最终结果,而是完成项目的过程。学生分组完成项目的开发,每位学生除了参与整个项目的开发,也侧重不同的角色,从而感受项目开发的真实情境。每个角色都有各自所负责的工作,由项目经理在开发平台上对任务进行发布,成员领取相应任务,并按照进度在平台上进行任务完成情况的发布。学生共同合作,培养大家的团队合作能力。

2.3 考核标准

项目教学法的重点在学习过程,而不是项目完成的结果。传统的教学评估方法与项目教学的评估方法有较大的差别。项目评价采用学生互评、老师评价相结合的方式,以学生在整个项目完成中起到的作用和遇到困难时找到解决办法来综合评定成绩。在交流过程中教师应重点关注学生本人自评以及小组成员间的互评,注重对学生的项目完成情况作出总结性评价,帮助学生发现项目过程中出现的错误和不足并尽快完善。

3 信息化项目教学设计

从通过分析各课程教学现状可知,教学效果不如预期的原因在于学生缺乏软件开发的经验,难以理解与体会到学习课程知识的意义。项目化教学方法能够为这种情况提供解决方案,就是制造学生开发项目的环境,模拟企业软件开发工作岗位任务,改变学生的角色,学生按照职业岗位的要求将课程知识应用于软件项目的设计与开发过程中,体验岗位工作并完成项目的开发,整个开发的过程也是收获知识、提升职业能力的过程。

3.1 设计思路

基本的设计思路是以培养职业能力为核心,提高学生职业综合素养为目标,基于职业岗位任务的项目化教学融合课程内容与企业工作任务,突出课程的职业性、实践性和开放性的特点。本次实践根据职业岗位工作任务,结合信息化教学手段、方法,参照企业软件开发流程,任课教师在研读教材的基础上将课程内容按照项目进行重构与知识点的序化,并设计学习任务。

3.2 教学实施

本次项目化教学改革首先是选取合适的项目,以软件开发流程为主线,围绕企业级项目开发的各个阶段,实现教师与学生在教学与学习过程中角色的转变,使学生身临其境,在角色体验过程中激发学生求知欲,充分发挥学生的学习自主性,体现职业适应力和职业迁移力结合的职业能力培养。实践证明,这是一种成效显著的教学改革方法。以下为教学活动的各个阶段:

(1)选择项目:利用大数据技术对网络公司所开发的经典项目进行调研,并结合从历年毕业设计题目中选取合适的题目,依次作为学生的实训项目,要求每个项目能将理论知识和实践技能结合在一起,具有综合性,项目实施需要学习新知识、技能,解决过去未遇到的实际问题。本次教学活动共选择了42个题目作为备选,并为每个题目完善了项目任务书。

(2)发布任务:教师通过项目开发平台把项目任务书分发给学生,让学生自由分组并领取任务及所对应的项目经理账号,最终在与教师协商之后确定各组成员和角色。为了模拟实际的开发工作流程,每个学生会在项目过程中担当不同的角色,使得学生需要通过共同合作来完成项目。整个开发过程培养了大家的团队合作能力,不仅有益于学生特长的发挥,而且有助于学生的责任感和协作精神的形成,体验到个人与集体共同成长的快乐。

(3)需求分析:教师在《软件工程》课堂上讲授做需求访谈、需求分析的过程和要点,学生就各自模块形成需求访谈表,由产品经理汇总并访问客户,形成访谈记录。所有的功能文档、会议记录等都需要有专门负责该角色的学生在开发平台上进行上传。学生再按照所学知识,建立需求分析模型和相关图表如数据流图、用例图、流程图等,形成需求分析说明书。在需求分析说明书的基础上,学生提取各模块的功能点,完成各功能点的功能描述,最后汇总为需求规格说明书。

(4)原型设计:教师在《软件工程》课堂上讲授使用Azure等工具做系统原则设计的过程和要点,学生就各自模块设计各模块的原型页面,由产品经理设计首页、菜单等将各模块结合在一起形成系统原型。在《WEB应用设计》课堂上,各组演示系统原型,由教师对系统原型进行审评,指出其中的问题,并要求学生完善需求分析说明书、需求规格说明书、系统原型等各重要文档。完善需求的过程,也是学生加深对系统理解的过程。

(5)测试案例设计:教师在《软件工程》课堂上讲授软件测试的过程和要点,以及测试案例的书写规范。学生根据所学知识完成各模块的功能测试案例,并在《WEB应用设计》课堂上通过开发平台完成测试案例审评,包括小组自评和互评。通过审评环节,学生将明确系统将要达成的质量标准。

(6)界面设计阶段:教师在《基于框架的应用开发》课堂上讲授界面设计的设计要点和所需工具。学生运用所学知识将系统原型转化为静态页面。

(7)接口设计阶段:教师在《WEB应用设计》课堂上讲授软件接口设计的过程和要点。学生运用所学知识确定前后端接口和各模块间接口,并完成系统接口设计说明书。在《WEB应用设计》课堂上教师将和学生一起完成接口设计审评。通过审评环节,学生将明确各模块的接口功能。

(8)数据库设计阶段:教师在《WEB应用设计》课堂上讲授数据库设计的过程和要点。学生运用所学知识完成各模块的表及字段,并组合成系统ER图,完成数据库设计说明书,最终生成数据库。

(9)架构设计阶段:在《软件工程》课堂上,教师讲授如何做软件的架构设计和关于设计模式方面的知识。学生需将之前所完成的各项设计工作综合在一起形成系统简要设计说明书。

(10)代码设计阶段:教师在《基于框架的应用开发》课上讲授如何使用框架技术做前后端程序编写,在《软件工程》讲授面向对象的代码设计思路、软件开发流程和代码的编码规范。学生按照所学知识完成各模块的代码结构,同时给代码写注释。此阶段项目组需完成系统详细设计说明书,并在《WEB应用设计》课堂上和教师一起完成详细设计审评。

(11)代码填充阶段:学生完成代码、实现功能,并进行单元测试。

(12)功能测试阶段:各组的测试工程师按照功能测试案例对系统进行测试,并向产品经理报告测试结果;产品经理督促代码开发者修改bug。

(13)系统验收阶段:各项目组向老师提交并演示系统,同时提交所有项目文档和会议记录。各项目组对其他项目组的系统进行交叉测试,寻找是否有bug。

三门课程并行进行,具体课程内容安排如下表1所示:

表1:项目化教学课程内容安排

所有环节所产生的文档、代码等都需要在开发平台上上传,教师可以看到每个小组上传的所有内容,对项目不同阶段的完成时间、完成程度等可以随时进行考量,并以客户的身份随时对项目内容进行修正。

3.3 课程评价

项目化教学需要把各项目的所有实践环节进行组合设计,把思想、理论、资源调配到各项目中,把关注点聚焦到解决问题上,把评价标准着力到能力提升上。教研组坚持以学生为中心、成果为导向、过程为抓手、项目为载体,实现“做中学、学中做,教中练、练中教”、以赛促学、促练、促教,教学相长,最终形成项目化育人环境,达成应用型人才培养目标。具体到本次探索实践中,学生的能力素质是主要的评分标准,主要包括综合设计能力、文档写作能力、代码写作能力、团队协作能力、组织管理能力和责任心、纪律素质。

《WEB应用设计》的团队成绩由在各次审评活动中所得分数相加而成,而个人成绩则由团队成员间互评得到,体现了学生的综合设计能力和团队协作能力;

《软件工程》课程的团队成绩由整个项目组的各文档的所得分数相加而成,而个人成绩则由文档中个人任务得完成质量和完成时间决定,体现了学生的文档写作能力;

《基于框架的应用开发》课程的团队成绩由整个系统的完成程度及在系统验收阶段被检测出的 bug数目和程度决定,而个人成绩由各自负责的部分的代码风格、设计思路、书写规范程度以及bug数目和程度决定,体现了学生的代码写作能力和责任心。

在各项目组都有四位学生担任了特殊角色,他们的工作体现了其组织管理能力。在本次实践中,教师会根据他们的特殊任务的完成程度和质量给予加分或者减分。

4 结论

信息化项目教学的应用实践表明,结合信息化相关教学手段,采用项目化教学强调培养学生实践能力为目标,将学科知识融入项目中,以选取的项目作为载体,将项目分解为各个任务,实现理论和实践相结合,教学过程中以任务驱动,学生通过团队协作在完成任务的过程中锻炼自己的分析思考解决问题能力、培养团队协作精神与提高团队沟通能力。课堂教学不再枯燥无味、摆脱理论灌输,充分发挥学生的学习自主性,促使学生从学习者到职业人的角色变换,突出学生职业能力的培养。

猜你喜欢

过程课程课堂
甜蜜的烘焙课堂
《无机化学》课程教学改革
美在课堂花开
数字图像处理课程混合式教学改革与探索
软件设计与开发实践课程探索与实践
描写具体 再现过程
临终是个怎样的过程
为什么要学习HAA课程?
在这个学习的过程中收获最大的是哪些,为什么?