设计型学习模型在《软件工程》中的构建与应用实践

2019-11-21 07:07巫华芳
四川职业技术学院学报 2019年5期
关键词:软件工程模型课程

巫华芳

(赣南师范大学 数计学院,江西 赣州 341000)

信息技术及互联网时代,运用信息技术解决问题的能力和创新设计的意识和能力显得日益重要。2016 年6 月,我国教育部颁布的《教育信息化“十三五”规划》提出积极推进创客教育、STAEM 教育等新的教育模式,积极探索信息技术在新的教育模式中的应用,以提高学生的信息素养、创新意识和能力,为培养创新型人才提供了一条有效的途径[1]。《2016 新媒体联盟中国基础教育技术展望:地平线项目区域报告》中也指出世界范围内各学科的学生通过实践和创造来学习的越来越多,他们的角色不应再是消费者,不再简单吸收教学内容,而应变为创造者[2]。探索高校教育教学模式,如何在现有的教学条件内让学生既掌握理论知识,又促进学生运用理论知识解决实际问题、发展个性、培养实践能力及创新能力发展成为教学关注点之一。随着创客教育的提出,设计型学习在不同的学科领域的应用也逐渐增加,设计型学习的价值也突显出来,为培养创新型人才提供了一条有效的途径。

《软件工程》课程是高校计算机专业的学科基础必修课程,是一门综合性和实践性很强的核心课程,因此改变传统的重视理论讲解、轻实践能力培养的教学方法,探索适合该课程培养目标的教学模式是非常有必要的。设计型学习模型的核心是以项目为出发点进行“设计”,引导学生运用设计的思维方式在问题解决中学习,进而提升学生个性化和创造力,这也是《软件工程》课程的要求。本研究尝试从培养学生创新能力的角度出发将设计型学习的理念应用到《软件工程》教学中,在课程教学中引进以项目为导向的教学方法,整合出设计型学习模式的基本结构。以期为其它课程运用设计型学习模式提供借鉴。

1 设计型学习的内涵

设计型学习又称为基于设计的学习,在国内外教育界受关注程度越来越高,尤其是在欧美的K-12 教育的互动课堂中得以大规模推广和实施。Kolodner 教授于1996 年提出了“通过设计进行学习”这一观点,并与同事以及中学教师共同合作验证了其有效性[3];Jonassen 认为设计有助于学生在学习和研究过程中提高思维水平,应该是结构不良的问题[4],是学生在基于项目的学习中尝试设计东西时,及时查阅和学习他们需要的知识和技能[5];Doreen Nelson 等人将设计理念应用于教学实践中,形成了较为系统的设计型学习样式[6]。设计型学习在国内中小学与高校的课程中均有研究与应用。顾小清等人认为设计型学习是以使学生学会设计,提升学生能力水平为目标的教育模式[7];王佑镁等通过阐释设计型学习的内涵和“逆向思维”学习过程模型,指出设计型学习能够培养学习者的创新和协作能力,为教学革新提供了一定的参考价值[8]。通过上述观点可知,设计型学习改变了传统教学中通过线性方式给学生呈现和传递知识,其本质是以设计为中心,学生在学习的过程中主动地建构知识和技能,通过循环迭代并且不断深化,又依据学习成果反过来检验设计是否合理有效,问题是否得以解决的过程[9]。设计型学习以基于项目的学习为出发点,以设计为核心,在问题解决中运用设计思维和方式习得知识,培养个性化学习和创造力,以提高学生合作意识,问题解决能力及创新能力为目标,因此此方式注重学生的学习知识与技能,注重知识的应用及多次反复的设计过程。

2 设计型学习模型分析

目前设计型学习的典型模型有两种,一是尼尔森的“逆向思维”模型,其主要观点认为教学应开始于高级别的推理,直线式的教学不利于学生高阶思维的发展,主要采用逆向思维进行教学,教学活动初始建立评价标准,引导学习过程,教师讲授新知是在学习开始一段后开展,这样有助于提升教学针对性。与传统教学不同的是,该模型让学生从未接触的学习对象开始设计和制作,通过已有知识进行推理,继而发现将要学习的新知识,解决问题。包括需要教什么、明确问题、建立评价标准、学生实践、教师指导、反思六个环节,有实践表明该模型能提高学生的高阶思维及学习积极性。二是克罗德纳等人提出的“基于设计的探究式双循环模型”,其主要观点是通过设计激发学习动机,提升学生问题复杂认知技能、社会技能以及交流技能,在设计中学能快速获得学习反馈。该模型围绕调查探究与设计、再设计两个相互嵌套与融合循环展开,强调多次分享与设计作品的改进完善,即设计学习之前需要调查和学习相关知识,而在调查探索的基础上再去设计与再设计,这个过程可能又遇到新问题,需要再次调查和探索,因此设计和探索之间及内部都在不断循环,体现了学和做之间的相互促进。除上述模型外,还有专家学者提出了学习挑战模型、基于设计的科学学习循环模型等。这些模型为开展教学活动提供了重要的指导作用,但这些模型在实际应用中存在一些不足:首先,现有的模型未考虑学科间的差异而设计出适合学科的教学活动环节;其次现有模型只关注教师的教学活动,未考虑学生的学习活动也未考虑学习环境的设计。因此,需要在已有模型的基础上构建具有学科特点的模型,模型中不仅仅关注教师的教学活动,同时要考虑学生的学习活动及学习环境。

3 《软件工程》设计型学习模型的构建

3.1 基于项目的学习

设计型学习是以基于项目的学习为基础的,是将学习置于复杂的有意义的真实情境中,学生以小组形式共同解决问题的学习过程。通过项目引发学生的学习动机,通过提出和解决问题实现知识的建构,因此恰当的项目设计是教学的关键点之一。项目设计的实质是为学生提供一个完整、真实的问题背景,让学生产生认知上的冲突,使学生产生学习的需要;同时又促进学习共同体中成员间的互动、交流,驱动学习者进行自主学习,从而达到主动建构知识的目的。项目的内容是现实生活和真实情境中表现出来的各种复杂的、非预测性的、多学科知识交叉的问题。基于项目学习的活动具有一定的挑战性及建构性,主要是指学生采用一定的信息技术工具和一定的研究方法对解决面临的问题所采取的探究行动。因此教师设计项目时应满足:①有明确的要求,能解决实际问题;②尽可能自然、有机地结合多个知识点,利用新旧知识完成项目;③学生在一定的时间范围内可以自行组织、安排自己的学习行为,以多种途径相结合鼓励自主探究及协作学习;④支持与引导激发学生高水平思维;⑤体现社会性交流与合作的作用,对学习内容和过程进行反思。因此项目型教学模式应包括理解问题、探索研究、问题解决及反思评价四个主要阶段。基于项目的学习实施流程如图1 所示。

⑴选定项目:项目应该和学生日常的经历相关;应能融合多门学科;项目的内涵应该丰富;项目也应该是更适合进行检测。《软件工程》课程中的项目设置可以结合学生的日常学习和生活,选定如学生成绩管理系统、教务管理系统、图书管理系统等。

⑵制定计划:学生为完成项目制定的计划,内容有:学习时间的详细安排和活动计划。时间安排是学生对项目学习所需时间作一个总体规划,做出一个详细的时间流程安排。活动设计是指对基于项目的学习中所涉及的活动预先进行计划。由于《软件工程》课程以开发一个完整项目进行学习,因此可在项目实施前按软件生命周期分阶段计划学习时间、内容及小项目的划分。

图1 基于项目的学习流程图

⑶活动探究:提出解决问题的假设,使用软件开发阶段的研究方法和技术工具来收集信息资源并进行处理和加工,如建模、写文档或代码等,对开始提出的假设进行验证或推翻开始的假设,最终得出问题解决的方案或结果。

⑷项目制作:学生运用所获得的知识和技能来完成阶段性项目。

⑸成果交流:项目完成后,各个学习小组要展示成果,交流学习过程中的经验和体会,提出建议。

⑹活动评价:通过自评、互评及师评方式,评价学生在小组学习过程中的表现,项目活动计划、时间安排、结果表达和成果展示等方面。对结果的评价强调学生获得了知识和技能的掌握程度情况。对过程的评价强调对活动记录表、调查表、访谈表、学习体会等的评价。

3.2 《软件工程》设计型学习模型的构建

根据基于项目的学习、设计型学习双循环探究的特点,结合《软件工程》课程的要求,设计出设计型学习模型。该模型的设计从项目出发,以培养学生问题解决能力及创新能力为目标,体现学生学习的主体地位、教师教学的主导地位,提供个性化学习环境,强调非线性开放式循环学习,满足学生自主学习及协作学习的需要。该课程的设计型学习模型如图2 所示。具有以下几个特征:

⑴以学习环境为基础:在设计型学习中,技术、资源及工具是完成学习的重要保证。在设计项目时教师应提供资源及案例,学生需要进行资源的查找、加工处理等,如在《软件工程》课程中的建模工具、程序设计工具等,为知识建构提供便利;在情境创设及学习成果展示时需要工具的支持;还需利用工具完成学生的协作会话,交流思想观点,实现知识共享;为保证有序的学习环境,增加学生间的信任,制定个人应遵守的行为准则是必要的。

图2 《软件工程》设计型学习模型

⑵以项目为引导:将学习置于复杂的有意义的问题情境中,通过学生以协作方式解决实际的真实问题。合适的项目是学习的关键,学习过程围绕一个弱构性问题的解决展开,产生认知上的冲突,形成问题解决能力及创新能力。

⑶循环迭代升华:克洛德纳提出“知识在应用于实践前,通常需要反复的循环设计才能实现”[10]。模型中的学习过程围绕分析及设计两个活动要素的进行循环,在分析过程中分析问题、学习新知、拟定项目解决方案,经过反复讨论交流修改确认方案后进入设计阶段的循环;在设计过程中可能会产生新问题,需进一步分析,因此在每个阶段内部及两个阶段之间是在不断循环优化而又构成迭代的,这是设计型学习的重要特点,它能有效促进学生提升知识的应用及知识的迁移,更好地掌握所学知识。

1.4 质量控制 本次研究对象的选取标准由北京友谊医院营养科营养医师共同讨论确定,并对本研究的调查方法及用表进行审核完善,确保调查方法科学可行、真实有效。现场调查前进行培训及预试验,由专业调查员填写调查表,保证资料获取的准确性。数据处理均严格按照卫生统计分析的要求进行,保证调查结果的分析准确。

⑷学习共同体助力:协作学习策略能使学生在面对一个复杂项目时,参与到问题解决、知识建构、计划实施等环节中,所解决的问题能被合作环境增强而内化,有助于学生理解复杂的项目。通过集体讨论的方式学习基础知识,将学习内容组织成系列学习单元,通过提问,引导集体讨论和思考,让学生充分发表意见,相互修改和补充;对于项目的实现,应将其分解为若干个任务,分工解决各自的问题,最后汇总合成结果。设置的任务应能引起学生注意,最大限度发挥学生自主性,又能较好开展协作学习的内容,保证每位学生都能在解决问题中发挥各自的作用。

⑸学习成果作品化:设计型学习强调学生在做中学,将知识融合在设计过程中,为了明确学习目标,加强知识的综合应用及体现,应强调学习成果作品化。在《软件工程》课程中,每个项目都能以作品体现,如创建模型、文档、代码等。⑹能力培养为目标:设计型学习的本质是设计,目的在于引导学生使用设计思维解决实际问题,培养学生的问题解决能力,通过对弱构型问题的探究,培养创新能力,在循环学习过程中,学生学会思考分析和判断,培养批判性思维,在协作学习中培养交流能力,运用设计型学习模式应关注过程,关注能力的提升而不仅仅是结果。

4 设计型学习模型在《软件工程》课程的个案设计

本次教学实践选取本校2016 级软件工程专业一个班(43 人)为样本,教学时间16 周,教学内容为《软件工程》,第一周介绍了本课程的学习方法及要求,课程的评价方式采用笔试(40%)、学习表现(20%)及项目作品(40%)综合计算。本次实践的目标在于通过教学实践来评测设计型学习模型的可行性及有效性,与传统教学模型相比对学生的问题解决能力、创新能力及协作能力是否有提高。

《软件工程》课程以软件项目开发过程为主线,包括传统软件工程方法学及面向对象软件工程方法学两大部分内容,以不同的方法分别介绍软件项目开发所经历的生命周期阶段:需求分析、设计、编码、测试及维护的基本概念、原理及方法,同时让学生运用基本原理和方法开发软件项目。因此与设计型学习模型中以基于项目为引导的要求完全一致。教学实施前对课程的教学内容设计了多个项目。本文以传统软件工程方法学需求分析中的“创建功能模型”一节为例介绍设计型学习模型的应用。

项目要求:设计银行存取款系统的功能模型

学习目标:理解功能模型的作用,掌握功能模型的四个组成元素:数据源(终)点、数据流、存储及加工,会利用工具设计系统的功能模型。

学习环境要求:教师提供功能模型案例、信息搜索工具、建模工具,网络环境及学生协作学习交流工具。

学习分组:由于学生需进行协作学习完成项目设计,因此在课前要对学生进行分组。根据项目的规模确定小组人数,本项目的每组人数为3人即可,小组成员的组合可采取“组内异质、组间同质”的分组方法,有利于通过相互间的帮助促进共同进步。

教学过程按如下步骤进行,首先开始分析项目方案,进行分析阶段。

4.1 分析阶段

⑴创设情境:首先教师登录学生熟悉的教务管理系统,完成成绩查询、选课等操作,为了让学生更直观感受系统功能,教师还可呈现学生管理系统、超市收银系统的相关功能。以此激发学生的探究动机及学习欲望,形成学习的准备。

⑵提出问题,启发思考:什么是功能及功能模型?如何表示系统功能?功能间的关系是什么?与学生共同分析待设计项目的功能及数据信息。

⑶明确问题:学生在教师的引导下对设计的项目讨论分析,明确实现本项目要解决的问题:①数据来源?②这些数据要做哪些加工?③数据加工后得出什么新的数据?④哪些数据信息需要存储?

⑷学习新知:教师介绍功能模型的作用及组成、建模的要点,展示创建教务管理系统功能模型的过程,帮助学生掌握建立功能模型方法及步骤;学生在教师的指导下收集相关资源,学习新知。

⑸交流协作:小组内部成员分工完成各自的任务后,讨论存在的分歧意见并提出解决方法,教师要及时指出学生容易忽视的问题。

⑹形成方案:掌握了创建功能模型的基本要领后,各小组学生围绕着银行存取款系统功能模型的四个要素展开讨论,选择恰当的设计方案。教师要鼓励学生多角度考虑解决方案,培养创新思维。

⑺讨论评价及修正:在小组交流达成共识后,由各小组成员汇报结果,解释提出设计方案的理由,并听取意见和建议,如果方案不完整或不可行则将进入下一轮循环分析过程,如果方案可行,则进入设计阶段。

4.2 设计阶段

⑴项目设计:经过对方案的多次修正后,小组开始着手用建模工具实现该系统的功能模型,验证知识的有效性及方案的可行性,组内各成员均参与项目的实现,教师适时指导,对各组的问题进行引导启发学生思考。

⑵讨论评价:各小组展示功能模型,根据教学目标,教师在此环节应监控项目质量,在课前设计好评价量规,评价要点包括各小组分工是否明确,项目是否达到要求,观点是否正确,表达是否清晰,成员合作程度等。可采取小组介绍,自评,组间互评及教师评价的多元方式。通过自评,体现出个人在协作学习中的作用,学会自我认识;通过互评,可以起到交流学习的作用,教师应对优秀的尤其是有创意的项目作品进行鼓励,保持学生的学习热情,对存在的问题,教师应及时指出并引导学生找到更好的解决方案。

⑶修正设计:各小组将已制作完成的功能模型与学习目标、教师及其他组员的建议进行对照,对项目进行修改完善。此时组内成员进一步讨论是否有更合理优化的方案。也即进行设计阶段的循环迭代过程,直到项目设计达到目标为止。

5 实施效果评价

实验效果评价的数据来源于实验班与对照班的成绩及访谈。研究实验前对学生通过问卷调查的形式进行了前置评价,实验结束时对学生进行了课程考试及问卷调查,对学习过程、方式及结果进行了评价。对学习过程的评价包括利用信息资源的意识、协作学习能力、批判性思维、问题解决能力及项目的创新能力及对设计型学习方式的认可程度。每种能力对应一个或多个学习环节或学习方式,并基于此设计了18 个问卷调查问题。对结果分析后表明,实验班学生的创新能力及问题解决能力明显优于对照班,学生在学习过程中逐渐接受此种学习模式,并在学习中培养了查找信息资源的意识,学会了如何分析、判断信息的真伪,选择合适的资源的能力及交流协作能力有较大的提升,从完成的项目可以看出,学生拓展思维,利用不同的方法实现目标。总体而言,学生对该学习模式的满意度较高。从考试成绩来看,实验班的平均成绩高于对照班4.25 分。设计型学习模式提供了一条有效教学的指导思路,有利于调动学生的积极性,提升学生的问题解决能力及创新设计能力。

6 总结

本文从师生活动的视角构建了面向《软件工程》课程的设计型教学模型,该模型以设计型学习环境的基础,以问题解决与创新能力提高为目标,教学环节包括分析及设计两个循环及10 个学习步骤,以需求分析中“建立功能模型”一课内容为例,应用于教学实践中,并对学习效果进行了分析。设计型学习模型在引导学生运用设计思维分析解决问题、培养学生创新能力方面起到了积极的作用。但由于本实践的样本数量较少,且在一门课程中进行实验,研究结论存在一定的局限性。因此还应对该学习模型不断完善,扩大样本的数量及实验次数、根据不同课程的特点进行个性化设计。

猜你喜欢
软件工程模型课程
适用于BDS-3 PPP的随机模型
数字图像处理课程混合式教学改革与探索
重要模型『一线三等角』
软件设计与开发实践课程探索与实践
为什么要学习HAA课程?
A—Level统计课程和AP统计课程的比较
模型小览(二)
依托工作室的软件工程实践教学研究
基于工程教育认证的《软件工程》课程教学质量建设研究 
关于如何创新和完善计算机软件工程管理的探讨