“工作坊”在软件工程本科课程教学的

点赞:4722 浏览:13035 近期更新时间:2024-03-12 作者:网友分享原创网站原创

摘 要:软件工程专业课程强调理论和实践紧密结合的特性,如何在教学过程中加强实践教学活动是难题.针对偏重理论和偏重实践的不同专业课程,从团队组建、问题解决方式、沟通技巧和学生认知体系建立等方面进行分析和探讨,提出一些可行的专业课程“工作坊”实践教学设计方案.经实际教学过程检验,达到比较好的教学效果.

关 键 词:工作坊;教学改革;软件工程;实践教学

中图分类号:G40文献标识码:A文章编号:1009-3044(2014)07-1427-03

大学课堂是高校教学活动、学生学习的重要场所,是大学生获取知识的主要途径.课堂教学的好坏直接影响课程效益,最终影响到人才培养质量,同时也体现了高等教育的办学理念.根据教学活动围绕的中心,可以将课堂教学分为“教师中心式”和“学生中心式”两种类型[1].在以教师为中心的课堂教学活动中,教师是课堂的焦点,在整个教学过程中起到主导地位;教师一般采用强制性的教导方法,将知识与技能传授给学生,基本是单向广播模式.以学生为中心的课堂教学活动中,往往学生处于教学活动的中心,教师以平等的身份与学生进行互动;教学过程强调了学生的主动学习以及对学习主题的深层理解;此时,教师通常扮演咨询者、辅导者和学习动机激发者的角色.现代教学活动通常强调师生之间的互动,从而在课堂教学活动中更有效地进行知识传授,在此过程中,教师需要以一种好的方式和态度辅助学生建立自己的认知体系.因此,在课堂教学活动中,教师的“教”和学生的“学”是不可分割的重要部分,如何以一种好的教学方式调动学生的积极性是完成一堂优质课堂教学的关键.

软件工程本科专业的特色主要体现在:实践性、工程性、系统性、综合性和复合型,注重学生的数理逻辑基础、工程实践能力、软件作品与沟通技巧等核心能力培养.在本科学习阶段,由于受到计算机学科的迅速发展和相关领域知识不熟悉的双重困扰,学生学习的积极主动性受到约束.同时,学生通常没有建立自己的认知体系,程序设计的经验严重不足,这些都约束了学生的动手能力和口头表达能力,很明显的表现在于课堂教学过程中不活跃,和教师的互动积极性不高,甚至出现课堂上的消极沉默现象[2][3][4].

结合“工作坊”实践教学模式和软件工程专业课程要求,通过对课堂教学活动进行思考、探索和设计,在有限的课堂教学中加强对学生的引导,可以明显增强学生主动学习的积极性,提高口头表达能力和沟通技巧,并进一步培养学生的程序思维能力和团队合作精神.

1“工作坊”实践教学

“工作坊”,也称为专题研习工作坊,起源于欧洲的Bauhaus学院,发展至今逐渐演变为一种实践教学模式.Bauhaus学院提倡的教育理念是“技术与艺术并重”,学习过程有如“工厂学徒制”,学生身份是“学徒工”.在教学过程中,担任艺术形式课程的教师称为“形式导师”,教授其理论课程,并引导学生专业的发展;而担任技术、手工艺制作课程的教师称为“工作室师傅”,负责辅导指导其实践教学.Bauhaus学院所形成的教学方式,形成了教学、研究、实践三位一体的现代设计教育模式:教学为研究和实践怎么写作;研究为教学和实践提供理论指导;实践为教学和研究提供验证.工作坊教学模式所创建的知识与技术并重,理论与实践同步的方式,为学生提供一个能够将其所学理论知识进行融会贯通的全过程.

“工作坊”实践教学模式强调以学生为中心,关注学生的需要、内在动机,并充分发挥学生学习的自主性,注重培养学生发现和解决问题以及知识和技能的应用能力;同时,该教学模式强调以多元化的方式来分享和呈现理论联系实际的成果,是一种既注重过程又重视结果的学习方式.一般而言,“工作坊”实践教学模式是在一名核心的主讲人引导下,多个小团体通过活动、讨论、短讲等多种方式,共同探讨某个话题.“工作坊”实践教学模式的本质是促进学生“从做中学”,符合“实践-认识-再实践”的认识规律,作为一种教学途径,能促进教师和学生之间的互动,增强学生在课堂教学中的参与积极性[5].

2软件工程专业课程“工作坊”实践教学设计

针对软件工程本科专业课程,从偏重理论教学到偏重实验教学的角度,选择“算法设计与分析”、“Oracle数据库”和“软件设计模式”课程,从“工作坊”教学模式的团队构建方式和相应教学方法进行了一系列的思考、探索和设计.

2.1“算法设计与分析”课程“工作坊”实践教学设计

“算法设计与分析”[6]课程是计算机和软件工程专业的重要专业课,介绍软件开发中的典型非数值计算问题的解法,要求学生掌握算法的基本原理思想、方法与技术.如何在有限的教学时间内让学生掌握算法的特点以及算法之间的内在关联性是教学重点.以背包问题和0-1背包问题[7]为例,探讨“工作坊”实践教学设计的具体内容.

背包问题和0-1背包问题要求学生区分二者算法差别以及在程序设计上的约束.因此,可以确定核心知识点:1)背包问题和0-1背包问题的异同,以及问题转换条件;2)二个问题在程序设计上的差异和转变.在教学过程中,要求学生以团队方式围绕核心知识点准备材料并在课堂上进行讲解.具体教学过程如下:

首先,组织学习小团队.采用学生自愿组合的方式,约束每组4到5个人,有组长和发言人各一人,要求组长和发言人不能是同一个人.要求组长负责任务的分工等事务工作,而发言人需要汇总材料,准备内容讲解的逻辑顺序.团队分工的目的一方面是锻炼学生的合作精神,另一方面是减轻新内容备课的压力;

其次,多组准备同一个专题.让2到3组针对同一个专题组织材料并进行讲解.虽然知识点会类似,但是,不同的团队组织材料的侧重点会稍有差异,表达方式也会有不同.采用这种方式,一方面可以让更多学生有机会锻炼组织能力、口头表达能力和逻辑思维能力;另一方面,不同团队讲解的内容差异性会让学生进一步加深对问题的全面理解;最后,教师点评.这也是关键的教学环节,教师需要对学生的材料准备和课堂讲解情况进行总结.总结内容一方面需要覆盖知识点的完整性,另一方面也要对每组讲解问题的方式进行有限的点评,更多要让学生参与进行评判.教师点评的目的是引导学生合理正确的分析和解决问题.

由于合理运用了“工作坊”模式,取得比较理想的课堂教学效果.比如,经过学生团队之间激烈的讨论,认为回溯法解决0-1背包问题的程序是错误的.因为该程序采用分割物品来计算背包容积的上限,这种计算方式混淆了背包问题的算法程序.相比较教师讲解的方式,正是由于学生的积极参与和探讨,才会使得学生进一步加深对算法和程序设计实现方面更好的理解,也增加了学生学习的兴趣和良好的团队合作精神.

在采用工作坊实践教学活动中,团队人数以及同一专题讨论组的数量不能太多.团队人数太多,部分同学会完全依赖其他同学而不参与相关专题的讨论;针对相同的问题,一般安排2到3个团队讨论比较适宜,从而可以在一节课的时间内完成全部介绍、讨论和点评工作.

2.2“Oracle数据库”课程“工作坊”实践教学设计

“Oracle数据库”是软件工程开设的专业课程,SQL语言的运用是该课程的一个重点.在教学过程中设计两个任务:1)编写SQL程序读取文本文件中的数据信息并写入数据库相应表格中,主要强化学生对于SQL语句,以及函数、过程和触发器等内容的熟练掌握程度;2)撰写实验报告,要求具备系统开发的需求分析、程序分析设计、实现和结果显示等内容.

根据教学计划进度安排,完成实验和撰写报告的时间约为一周(课堂教学课时是10节课).在此时间内,学生需要熟悉软件环境、完成SQL程序编写并撰写格式规范符合要求的实验报告,具有一定的难度.因此,在教学过程中,对“工作坊”实践教学模式进行了有针对性的设计,具体内容如下:

首先,组织小团队.采用学生自主组队的方式,不约束团队成员人数,最终团队成员人数最少的有4个人,最多的有9个人.由于对汇报方式没有特定要求,每组只设置组长一人,方便教师了解团队分工合作的情况以及任务完成情况;

其次,问题解决.在实践教学过程中,对于学生提出的相关问题,教师并不直接给出答案,而是指导学生如何通过网络查找相应的解决方案,并要求以团队内部互相讨论的方式确定最终可行的方案.针对具体问题,鼓励团队成员课后继续完善解决方案;

然后,过程检查.通过和不同团队的交流,教师需要了解每组具体实施情况,挑选在实现内容上有特色的团队,不定期安排团队成员进行课堂讲解,介绍其团队分工、实现程序过程和撰写报告的思路,并展示相关的成果信息.比如,针对读取文本文件和解析数据信息这两个功能方面,安排学生介绍团队讨论确定的程序实现内容,并演示初步达到的效果等;

最后,教师点评.教师一方面需要总结学生的实现情况,进一步明确实验内容和要求;另一方面,教师需要结合软件工程发展要求,建议学生今后继续努力的方向.

综合课程教学完成情况,学生分组形成团队的方式对实践教学活动提供一定的借鉴意义.组建团队需要考虑具体的任务难度和组长领导能力.当任务不是特别重的情况下,每个团队的人数不能太多.在此次实践教学活动中,人数较少的团队(比如,4个人组成的团队)组织能力比较强,编写程序和撰写文档分工都比较明确,合作效果比较好.而部分人数较多的团队(9个人组成的团队),组长曾抱怨说,什么都是一个人做,其他同学根本不参与.针对这种情况,教师需要及时了解团队在教学活动中的反馈信息,当出现人员配合程度不高的情况,应该解散该团队,重新组队完成任务.

在实践教学活动中,针对具体问题,教师可以指导学生掌握解决问题的方法,然后,通过学生演示的方式有效推广具体问题的解决方案.该方式一方面可以加强学生良好的沟通和交流技巧,培养团队精神;另一方面也能极大提高学生的学习热情,促使学生能快速掌握相关知识内容.

2.3“软件设计模式”课程“工作坊”实践教学设计

随着对软件人才要求的提高,本科教学阶段开设“软件设计模式”课程已经是趋势[8].“软件设计模式”课程内容具有高度的抽象性,即使是计算机或软件工程专业的高年级本科学生,由于缺乏相应的项目编程经验,也没有积累相应的代码数量,对于课程内容的接受也是一个很困难的过程.在课堂讲解过程中,即使采用了生动的案例,教师一旦开始对象构成和类结构的理论分析,大部分学生就已经不在学习状态中.学生提意见说,模式内容太抽象,很难理解.针对这种情况,对该课程进行“工作坊”实践教学设计,教师调整了相应的教学方案和授课方式,具体如下:

首先,知识引导.介绍面向对象的基本内容,并深入对软件设计原则进行讲解.因为这部分内容和高级语言程序设计课程结合的比较紧密,学生接受程度还是比较好的;

其次,建立概念.对于具体的软件设计模式,教师介绍一些特点和运用场景,通过解释相应的类结构关系,让学生初步建立相应的概念模型;

然后,强化运用.提供计算机专业的毕业论文题目,让学生选择比较熟悉的题目,针对部分模块进行程序的分析和设计,并完成设计模式实验报告.该实验报告作为课程分数的主要依据,要求学生构造出相应的类结构图,并说明使用的设计原则和设计模式;

“工作坊”在软件工程本科课程教学的参考属性评定
有关论文范文主题研究: 关于实践教学的论文例文 大学生适用: 自考论文、专升本毕业论文
相关参考文献下载数量: 21 写作解决问题: 怎么写
毕业论文开题报告: 论文提纲、论文设计 职称论文适用: 杂志投稿、职称评副高
所属大学生专业类别: 怎么写 论文题目推荐度: 优质选题

最后,学生讲解和教师点评.通过了解学生的实验情况,教师选择适当的实验报告,让学生进行设计过程和思路的讲解.教师则对讲解内容进行合理引导,对学生构建的设计模式进行分析,从而可以让学生深入掌握设计原则和设计模式的运用和构建过程.

综合课程实践教学过程,通过让学生先思考,然后再引导学生的方式,提高了学生对授课内容的关注度,也加深了对设计模式中对象构建和类结构模型的理解.单纯采用案例教学的效果并不是很理想,可能存在的原因之一是所选择的案例和学生自身的关联性不高,学生的关注度不会长久集中;原因之二是案例内容过于狭窄,学生几乎不需要思考就知道怎么划分相应的对象并构建类结构,从而降低了学习的兴趣.“工作坊”课堂实践教学并不是一成不变,而是需要根据教学内容和不同学生的接受情况进行调整和设计.即使同一门课程,学生接受能力不同,实际教学方式还是需要进行相应地调整和设计优化.在学生进行课程讲解的过程中,也是教师学习的过程.通过观察学生准备的材料、课件风格以及知识点的表达方式,教师可以在一定程度上了解学生对类似问题的掌握程度,也对学生接受方式有一定了解,从而在后续的备课中更有侧重点.同时,采用多个小组讨论同一问题,从学生关注的侧重点和表达的理论深度,教师也可以了解学生的自学能力和对相关知识点的熟悉程度,可以更全面了解学生的整体素质.通过“工作坊”教学活动中获取的学生反馈信息是调整相应教学方案的重要依据,也是检验教师课堂实践教学活动的标准之一.

3结束语

郭沫若说:“教学的目的是培养学生自己学习,自己研究,用自己的头脑来想,用自己的眼睛看,用自己的手来做这种精神.”

为了提高学生参与教学活动的积极性,也为了更好进行实践教学,针对软件工程专业课程的特点,分析探讨了“工作坊”实践教学模式,提出一些可行的专业课程“工作坊”实践教学设计方案.设计方案分析了学习团队的构建以及运用于团队精神的培养,其中成员人数和组长领导能力是组建团队需要考虑的因素;引导建立学生掌握解决问题的方法并讨论确定解决方案的方式,锻炼学生逻辑思维能力,提高沟通技巧;采用让学生先思考和练习,教师再引导的方式来加强学生对知识点的理解和掌握,可以有效培养和建立学生自己的认知体系;通过多个学习团队讨论同一个专题的方式,教师了解学生的学习情况,并依据反馈信息调整相应的教学设计方案.教学效果表明,良好的“工作坊”实践教学设计方案可以有效培养学生创造性的思维和良好的口头表达能力,在增强团队合作精神的同时也进一步加强学生的观察、分析和解决问题的能力.