发布时间:2022-06-20 04:48:44
序言:写作是分享个人见解和探索未知领域的桥梁,我们为您精选了8篇的计算机科学导论论文样本,期待这些样本能够为您提供丰富的参考和启发,请尽情阅读。
关键词:美国;计算机;基础课程;教学大纲
2009年11月,作为国家示范教学实验中心建设工作的一部分,国内高校计算机教学单位组团,对美国中部几所大学的计算机教育情况进行了考察。本文对美国伊利诺伊大学香槟分校(UIUC)和伊利诺伊理工学院(IIT)的计算机基础教育和美国大学非计算机专业计算机基础教育的指导方针进行介绍和探讨。
伊利诺伊大学香槟分校(University of Illinois at Urbana-Champaign,UIUC)成立于1867年,学科专业设置齐全,共有近200个专业,最好的学科是工程和商科,还有农学院、法学院、教育学院、航空学院、工程学院、通信学院、兽医学院、艺术学院、劳资关
系学院、企业管理学院、社会研究学院、人类学院、化学和化工学院、人文和家庭研究学院、应用科学生命学院、哲学和理学院等20多所学院[1]。
UIUC的计算机科学系创建于1972年,经历30多年的发展,一直雄居全美前5名,仅次于Stanford、Berkeley、MIT和CMU[1]。UIUC的计算机科学(CS,Computer Science)课程体系规划基本成形于1986年,并在此后的20多年间不断完善。目前有57位教员(Faculty)[2],承担着全部本科教学和科研工作。CS本科课程设置特点为广、深结合,理论、实践结合。课程覆盖计算机理论、设计和应用等领域[3]。
伊利诺伊理工学院(IIT)始创于1890年,坐落于芝加哥,是一所同时重视科学和工程学的学府,是美国知名的三大理工院校之一,下设7个学院和1个研究中心,即阿默工程学院(Armour College of Engineering)、芝加哥肯特法学院(Chicago-Kent College of Law)、建筑学院、文理学院、设计学院、心理学院、斯图尔特商学院(Stuart School of Business)和职业发展中心[4]。IIT的CS系目前有16位教员,承担着计算机本科教学和科研工作。
1计算机专业基础教学的特点
分类的计算机基础课是美国大学基础教学的主要特色,不同类型的计算机基础课分别面向计算机专业、理工科专业和非理工专业。其中,根据美国本科教育的特点,计算机专业的基础课有非常显著的针对性。非计算机专业的计算机基础课设计也很耐人寻味。
美国的计算机基础课一般有两门,在UIUC分别是CS100 Freshman Orientation(新生指导,1学分)和CS 125 Intro to Computer Science(计算机科学导论,4学分) [5]。在IIT分别是CS100 Introduction to Professions (职业生涯介绍,2学分)和CS201- Accelerated Introduction to Computer Science(简明计算机科学导论,4学分)[6]。
面向新生开设的CS100类课程不仅课时较少,内容也比较简单,在国内高校中较为少见。例如,IIT的CS100课程“作为一种(从事计算机)科学和工程职业介绍,阐述应用(计算机)工程和科学解决问题的过程,强调跨学科和国际化解决问题并需要评估计算、金融和社会制约因素下的解决方案[7]。”学习目标定位在使学生“理解计算机科学基本概念,包括计算历史、二进制计算/逻辑/程序转换、算法、计算机体系结构、操作系统等;展示使用伪代码解决基本问题,如排序和递归;与计算机科学职业生涯有关的职业操守(ACM Ethics Code);利用图书馆资源研究和撰写计算机科学技术的研究论文;创建并进行计算机科学理论的教学演示或计算机科学技术销售演示[7]。”
这类课程在美国大学是非常有意义的。许多选择计算机为职业方向的本科新生对计算机专业的培养目标、专业课程和职业生涯并没有真正了解,而这门课程就可以帮助这些学生了解计算机专业的培养目标和就业前景,然后再作决定。不少学生学完这门课后,发现现实与自己想象的完全不同,就可以尽快转到其他专业。另一种情况则相反,一些没有专业方向的本科生(美国大学允许大学生没有专业方向,但需要辅修若干小专业)在选修了这门课程后,可能将计算机作为自己的主修或辅修专业。
UIUC的CS125计算机科学导论是以Java语言为主的编程入门课,涵盖了一些算法的内容,介绍与解决计算问题有关的基本概念和基本技术,此外还有与之配套的实验课[2],拟作为计算机科学专业的第一门课程。该课程与我们国内多计算机专业开设的第一门计算机课程有共同之处。
2非计算机专业计算机基础指导方针
美国大学的非计算机专业计算机基础的指导方针出自美国国家科学研究委员会 (National Research Council,NRC)1999年出版的报告《Being Fluent with Information Technology》[8]。在报告中,该委员会将现代高等教育中受教育者的计算机或信息技术应用能力分别定义为智力性能力、信息技术的概念和信息技术技能3个方面,每个方面包含10项内容,共30项。
这3个方面的具体内容如下:
1)Intellectual capabilities(智力性能力,指在复杂和支撑性环境中应用信息技术)。
(1)Engage in sustained reasoning(持续运用推理能力)。
(2)Manage complexity(管理复杂性)。
(3)Test a solution(测试解决方案)。
(4)Manage problems in faulty solutions(在失败的解决方案中寻找并解决问题)。
(5)Organize and navigate information structures and evaluate information(组织和导出信息结构并评估信息)。
(6)Collaborate(合作)。
(7)Communicate to other audiences(与他人沟通)。
(8)Expect the unexpected(准备好应对预料之外、情理之中的情况)。
(9)Anticipate changing technologies(预见技术的变化)。
(10)Thinking about information technology abstractly (关于信息技术的抽象思维)。
2)Information technology concepts(信息技术的概念)。
(1)Computers(计算机)。
(2)Information systems(信息系统)。
(3)Networks(网络)。
(4)Digital representations of information(信息的数字化表达)。
关键词:工程硕士;开放式教学;课程组
中图分类号:G642文献标识码:B
1引言
软件学院软件工程硕士的培养目标是培养高层次、应用型人才,针对这个目标,其教学实施应着重体现出以下两个差异性:
(1) 软件工程学科领域和计算机学科领域间专业设置的差异性,这个差异应能够很好地体现培养应用型人才的目的;
(2) 工程硕士课程和软件学院本科课程的差异性,这个差异应能够很好地体现培养高层次人才的目的。
目前国内软件学院软件工程学科和传统的计算机科学学科在课程设置上差异还不显著,工程硕士的培养方案中甚至部分课程只是本科阶段的重复。虽然大都开始强调学生的软件项目实践,但普遍缺乏过程管理。本文在对IEEE的软件工程知识体系进行深入学习的基础上,针对软件学院软件工程硕士提出了实现开放式教学体系的教学改革方案。
2软件工程知识体系
2004版SWEBOK将整个软件工程知识体系分为11个知识领域(Knowledge Area,KA),其中前5个知识领域是按软件开发的生命期诸阶段排列的,即软件需求、软件设计、软件构造、软件测试和软件维护;后6个知识领域是软件开发中的支撑性或者辅的方面,可能覆盖软件开发的多个阶段,包括软件配置管理、软件工程管理、软件工程过程、软件工程工具与方法、软件质量、相关学科知识领域。这些知识领域SWEBOK并没有重新系统规定,而是直接套用已经成型的各领域知识体系,因此不可避免地存在重叠和不匹配。
在SWEBOK的基础上,IEEE与ACM又共同拟定了CCSE。其中的核心部分是软件工程教育知识(SEEK)。SEEK由十个知识领域组成,包括:计算机基础(CMP)、数学和工程学基础(FND)、职业实践(PRF)、软件建模与分析(MAA)、软件设计(DES)、软件验证(VAV)、软件演化(EVL)、软件过程(PRO)、软件质量(QUA)、软件管理(MGT)。
可以看出,SEEK和SWEBOK基本内容是相近的。总的来说,二者都是包含了软件工程核心类的知识领域、基础类或前导类的知识领域,以及其他相关领域的知识。
3高等教育教学改革研究状况
目前国内关于高等教育教学改革的论文很多,如翁敬农、刘云等在软件学院实践教学体系的内容与规划中提出了“一个目标”、“两种途径”、“三大环节”、以及“四级台阶”的具体步骤。王移芝、林艳琴提出基于“两段教学”的计算机基础课程的教学体系框架。谢芳清、闫大顺提出了以素质教育为目标的实践教学体系。王浩、胡学钢等提出计算机科学与技术专业实践教学体系的总体研究与建设。王志英以国家实验教学示范中心为例,提出实践是综合能力培养的基础,并以此构建计算机科学与技术专业实践教学体系。董玮、邱建华等以专业课“程序设计基础(C语言)”为例给出了建设实践教学体系的实践探索。然而目前还没有检索到专门研究软件学院工程硕士教学改革的论文。无论是从传统计算机科学与技术专业与软件学院软件工程专业的区别,还是本科生与研究生的区别来看,针对软件学院工程硕士的教学改革研究都是十分有必要的,同时也是迫切的。
4工程硕士的课程体系设计策略
我们以IEEE SWEBOK和CC2004SE的知识体系为主体,结合中国软件产业以及本院的具体实际情况,设计了中国科学技术大学软件学院软件工程专业的知识体系,作为我院工程硕士课程设置和教学计划实施的依据。以SEEK为基础,我们对软件工程的课程设置进行规划。整个课程设置可以分为三个层次,即导论性课程、软件工程核心课程和其他课程。如图1所示,该知识体系定义了7个知识体系子类。计算机基础和数学和工程学基础属于导论性课程、其他课程包含了职业实践、领域课程、软件工具、工程实践等四个子类。
其中计算机基础定义了软件工程作为计算学科所必需包含的计算科学基础以支持软件产品的设计与建设;数学与工程学基础提供了软件产品获得所需属性的理论和科学基础;职业实践则聚焦于软件工程师以职业行为从事软件工程实践所必需具备的知识、技能和态度;软件工程核心课程应该包含软件开发生命周期所涉及到的主要知识领域;领域课程包含了对于某个特定领域软件工程师应该接受的特定教育或经验;软件工具定义了从事软件工作所必需掌握的当前主流工具与软件产品等;工程实践则是学生使用所学到的知识从事实际开发活动,提供动手能力的重要环节。
对于工程硕士来说,大部分同学经过计算机本科专业的学习,已经具备了初步的计算机基础以及数学与工程学基础,因此目前其课程体系建设如图2所示,重点是完成软件工程核心课程教学,并结合IT界的最新技术趋势设计相关领域课程。教学改革的核心是如何设计软件工程的核心课程,并指导学生熟练掌握相应的软件工具,强化他们的实践动手能力。
5工程硕士开放式教学体系建设
对于如何设计软件工程的核心课程,我们的主要思路是打破原先各子知识体系间的界线,围绕专业培养目标,结合学生的工程实践,引入课程组的概念,实现一个完整的开放式教学体系。如图3所示,整个开放式学习体系包含三个部分:
(1) 设计课程组:在理论环节采用课程组的概念,集中讲授较高层次的、符合硕士生水平的软件工程的某些重要环节;
(2) 开设实践教学环节:在实践教学中采用做中学(Learning by Doing或LBD)理念,由指导教师讲述软件工具的具体操作过程,同学实际动手学习;
(3) 强化工程实践:在工程实践中由学生自主选题,并将LBD中讲述的工具在项目整个生命周期中贯穿使用。
5.1设计 课程组
目前我院开设的高级软件工程和本科的软件工程课程内容并没有太大差别,对于软件工程的各个环节面面俱到,但又都比较浅显,对于工程硕士的培养显然是不合适的。因此我们设计了软件工程课程组的理念,初步设计了以下课程:
(1)“软件开发管理”(Managing Software Development)
(2)“软件系统架构”(Architectures for Software Systems)
第一门课程主要针对以后立志从事软件工程管理方向的同学,课程针对IT项目集中阐述如何实现风险、资金、工期等各方面的管理;第二门课程主要针对以后立志从事软件高级开发方向的同学,课程主要讲述复杂软件系统架构层上的设计,介绍目前通用的软件系统结构、设计技术以及实现这些结构的模型、表述方法等。这两门课程对于软件工程硕士应该至少必修一门。除了这两门课程,其他软件工程类的课程包括了设计模式、软件测试、语言类课程如J2EE、.NET等等,学生可根据自己的实际情况进行选修。
5.2开设实践教学
针对该课程组,我们开设了实践教学环节,采用做中学理念,由指导教师(可以由助教担任)根据事先确定的主题,选用具体工具讲述如何使用该工具完成项目开发的某具体环节,工具涵盖了项目管理、架构设计文档化以及测试等软件项目开发的主要方面。
对于软件工具的选择,有两种思路。一种方法是对软件工程的不同环节分别选择不同工具,例如项目管理选Project、开发文档化选Rational、测试再选别的工具这样来做,但结构分散,不利于整体化考虑。另一种是采用套件,完成项目开发全程的所有操作,目前我们选择了两种套件,一是微软的VSTS,该套件和微软的Visual Studio开发平台绑定,适合学习.net开发框架的同学;另一种是IBM的RSA,该套件和Eclipse开发平台绑定,适合选择开源J2EE开发框架的同学。
5.3强化工程实践
大多数的软件学院目前都开设了专门的工程实践环节,但实际的效果并不尽如人意。因此我们将工程实践环节也纳入到开放式学习体系中,以前面所说的理论以及实践教学环节来指导学生更好地高质量完成整个工程实践。
从教学方法上,工程实践应尽可能地贴近现实项目,除了常见的软件工程文档,我们还要求学生提交过程管理类文档(软件开发合同、会议记录、工作日程记录、合同执行报告:财务报告和开发过程报告、个人总结、小组总结等)。
从技术上,学生可以自由选题,也可参考工程实践题库中的选题。选题涉及所有领域课程包含的内容。要求学生必须采用实践教学环节中介绍的工具全程介入项目开发的各个阶段。学院设立专门的工程实践网站提供学生选题及交流,以及指导教师的监督。
从教学形式上,则注重如何实现应用型软件人才的核心能力分析与培养,要求学生运用职业实践子知识体系中的相应内容,锻炼学生的口头表达能力、书面表达能力等。通过学生的开题演讲、采用各种工具完成相应的项目文档、结题答辩等环节来实现学生职业素质的培养。
从实践效果评价上,我们制定了一系列的成绩考核方法、管理考核信息、分析考核结果、评价教学质量等措施,实现完整的考核体系。
6结论
软件工程专业学生的培养,在学科教育与培养面向市场需求的人才方面有着事实上的矛盾。软件学院现有的实践教学体系存在着专业课程设置定位不准确、课程实验师资不足、实验教学内容质量不高、实验指导和管理落后等问题。根据软件工程专业教学所面临的挑战,在充分调研IEEE SWEBOK和CC2004SE知识体系的基础上,针对软件学院的工程硕士,我们提出了软件工程硕士开放式教学体系的建设,围绕专业培养目标,结合学生的工程实践,引入课程组的概念,制定了一套较为完整的开放式实践教学实施计划。
参考文献 :
[1] Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering [EB/OL]. [2004-08-25]. /ccse/SE2004Volume.pdf.
[2] 翁敬农,刘云. 北航软件学院本科生实践教学体系的研究与实践[J]. 计算机教育,2007(11).
[3] 王移芝,林艳琴.“计算机基础课程”实践教学体系的研究与实践[J]. 实践教学,2008(8).
[4] 谢芳清,闫大顺. 计算机工程专业实践教学体系的研究[J]. 中国科技信息,2008(9).
[5] 王浩,胡学钢,侯,等. 计算机科学与技术专业实践教学体系的研究与建设[J]. 计算机教育,2007(11).
姓名: 专业: 所属系别:
学号 指导教师姓名 职 称:
开题报告时间: 年 月 日
论 文 题 目 :小型医院业务管理系统设计
1、拟选课题国内、外的研究动态、水平、存在问题,与本人实习、社会实践、调研的关系,并附主要参考文献:
医院的医疗水平和服务质量一直是国内外关注的焦点,仅靠增加基础设施投入和脱离信息化的管理方法的改进,是不能从根本上提高医院的工作效率、服务质量和管理水平的。医院业务管理系统的目的就是减轻业务劳动强度,减少了差错,科学管理药品,节省人力,提高医院的财、物管理水平,增加经济效益,改善患者的就医环境,方便患者就医和查询,提高医院的服务效率和服务质量,提高医院的医疗质量和管理水平。所以,一个现代化的适应社会发展需要的医院,除了具备一流的医疗队伍、一流的服务设施之外,还应具备一流的业务管理系统。
医院业务管理系统不仅能提高医务人员的工作效率和医疗水平,而且能提高医院的服务质量。因此,医院对业务管理系统有着强烈的需求。本文介绍了医院出入院处、病区、药房、药库的业务流程,在整体分析医院各部门以及部门之间的实际工作业务的基础之上,结合管理系统开发的理念,用VB 6.0作为前端开发工具,开发了医院业务管理系统。目的就是利用计算机软硬件技术、 网络通讯技术等现代化手段,对医院及其所属各部门的业务进行综合管理。从而为医院的整体运行提供全面的、自动化服务的业务信息系统。全文通过对业务流程的分析以及对系统的模块设计、实体-联系图(E-R图)设计、关系模式设计、数据库设计、代码设计、人机界面设计等,详细地阐明了本系统开发的目的、过程及预期效果。
业务管理系统是一门集管理科学、信息科学、系统科学及计算机科学为一体的综合性学科,研究的是管理活动的全过程,以便有效的管理医院。
参考文献
[1]张莉 王强 赵文方 董莉 《SQL Server 数据库原理及应用教程》清华大学出版社,2002
[2] 萨师煊、王珊.数据库系统概论(第三版).北京:高等教育出版社,2000
[3] 张海藩.软件工程导论(第四版).北京:清华大学出版社,2003
[4] 催五子、于宁。界面设计与Visual Bbasic.北京:清华大学出版社,2004
2、课题拟解决的主要问题,在理论和应用方面的意义,完成课题的条件(包括实习单位情况)和设计(论文)的主要内容:
意义:1、为病人提供更好更快、更快的服务,提高医院在医疗市场的竞争力以及吸引更多的病人到本医院就医;
2、人力工资昂贵,迫使医院采用计算机以提高劳动效率;
功能:1、门诊挂号:为病人提供就医卡方便病人;
2、住院病人管理系统:是医院可以随时了解病人情况;
3、药房管理系统:提高了药品管理的质量,和工作效率;
4、门诊医生工作站、住院费用的管理、病历管理系统、以及外部接口等。
3、指导教师对学生选题报告的评语:
指导教师签字: 年 月 日
4、选题报告会评议组意见:
组长(签字): 年 月 日
5、学院审查意见:
关键词:网络工程;培养方案;人才培养;课程体系;实践教学
中图分类号:G434文献标识码:A文章编号:16727800(2012)008021202
作者简介:赵卿松(1972-),男,硕士,武汉工程大学计算机科学与工程学院副教授,研究方向为计算机网络、数据库技术。
1专业培养方案的体系结构
根据素质教育和专业教育并重的原则,课程体系的设置以“低年级实行通知教育和学科基础教育以提升学生素养,高年级实行有特色的专业教育以提升学生的实践动手能力、创新精神和创新能力”为准则,构建理论教学平台、实践教学平台和创新教育平台。
理论教学平台由三类课程组成:通识教育课程、学科基础课程和专业课程。通识教育课程由公共基础课和素质教育课两个模块组成;学科基础课程按照学科大类安排学科基础课程;专业课程则分为专业主干课和专业选修课两个模块。
实践教学平台由实训、实验和实习组成:①实训包括:军训、综合课程设计等;②实验教学以课程内实验为主,并开设一定比例的综合性、设计性实验等;③实习包括:认识实习、生产实习、毕业实习、毕业设计(论文)等环节。
创新教育平台由课程创新教育、学术创新活动和实践创新活动组成。课程创新教育包括学科前沿课程和创新教育课等;学术创新活动包括学科竞赛、课外科技活动和创新性实验计划项目等;实践创新活动包括以取得职业资格证书或企业培训合格证为目的的各类专业技能培训活动等。
2专业培养目标及课程体系
结合本校的实际情况及社会对网络专业人才的需求,以培养“高级应用型网络人才”为目标,具备计算机科学与网络技术的基础理论知识、具备网络规划设计及计算机网络应用系统开发能力、具有网络维护与管理专长、能从事网络工程领域的科学研究、技术开发、管理维护等工作。
课程体系是专业培养方案的核心内容,是培养目标的具体体现,很大程度上决定了学生的知识结构。按照学校整体的人才培养特色,结合学院目前的学科发展状况,按照“宽口径、厚基础、重实践、有特色”的培养原则,在课程设置方面认真考虑了以下几点:
(1)由于网络工程是多学科交叉融合的新兴专业,因此,在计算机科学技术、数字通信技术、信息处理等方向上,设置了对应的专业核心基础课程,以提高学生的适应性。
(2)课程设置强调了公共基础和学科基础的重要性,对重要的基础课程给予了充足的学时。
(3)将方向的选修课程分为网络规划设计及管理、网络信息处理两部分,以适应社会对网络工程专门人才的需求。网络工程专业课程体系如表1。
表1网络工程专业课程体系
作为工科专业,公共基础课程的设置与其它工科专业类似,开设大学英语、数理、政治理论基础和计算机基础等课程。学科基础课程除了电类基础和计算机软硬件系统基础外,增加了网络工程导论、计算机网络和数字通信原理等课程,以补充学生在数字通信领域上的基础知识,为进一步学习网络工程的后继课程打下良好的基础。针对网络规划设计方向,在专业主干课和专业选修课中设置了现代通信技术、网络操作系统、网络规划设计、现代网络技术、网络系统集成、网络设备等课程,以培养学生在网络组网和网络规划设计方面的能力;针对网络信息处理方向则设置了网络编程、网络协议、网络互联技术、Linux系统管理、Linux程序设计、Java程序设计等课程,以培养学生在网络应用程序设计与开发方面的能力。
3实践教学环节
3.1课程内实验
所有的学科基础课程、专业主干课程和专业选修课程都设置了一定比例的实验,课程内实验以加深、巩固对基本原理的理解和掌握。课程内实验以实验项目的形式来组织,每个实验项目占2学时或4学时,实验项目分为基础性实验项目、设计性实验项目或综合性实验项目,一般设计性或综合性实验项目的学时数占课程内实验学时的30%~40%。
基础性实验项目主要是对课程所涉及到的基本原理与过程、基本方法进行实验验证,以消除学生对课程基本原理理解上的抽象性和神秘感。综合性实验项目以基础性实验项目的掌握为基础,综合运用课程涉及到的知识,以增强学生对课程基本原理的掌握并融会贯通,适用于数字通信原理、网络操作系统、网络规划设计、现代网络技术、网络系统集成、网络设备等课程学习过程中进行,为后继的综合课程设计打下基础。设计性实验项目也是以基础性实验项目的掌握为基础,提出实验任务与要求,由学生自主设计完成实验任务的方案、实验步骤和方法,适用于程序设计、计算机网络、网络编程、网络协议、数据库系统原理等课程学习过程中。通过设计类实验项目的锻炼,学生可以初步了解网络应用系统开发的思路,掌握网络程序设计的基本方法,培养学生的创新能力。
3.2综合课程设计
综合性的课程设计是一个重要的实践环节,其目的是进一步培养学生理论联系实际的能力和专业知识综合运用的能力。从第四学期开始至第七学期,开设了基础软件综合设计、基础硬件综合设计、网络工程综合设计、网络通信综合设计、网络应用综合设计等综合课程设计。每个综合课程设计集中安排在学期末,占2周时间,为了更好满足学生的兴趣,采用教师给出多个设计题目供学生选择这种双向选择的方式。同时要求课程设计指导教师的最多指导学生的人数不能超过30人,以保证教师对学生的指导效果。
为培养学生的论文书写能力,要求学生书写完整的综合设计报告,包括课题背景、设计简介及设计方案论述、详细设计、设计结果及分析、总结等内容;为保证综合设计的质量,安排了综合设计答辩环节,答辩中由学生先对设计的内容进行阐述和演示,然后答辩教师针对设计内容随机提问,以考察设计完成情况。综合设计成绩评判由平时表现、完成情况、报告质量和答辩情况等内容按照一定比例组成,能比较客观地评价学生完成综合设计质量。
3.3实习与毕业设计
为让学生接触社会,体验未来就业单位的工作环境和实际项目开发过程,从三年级上学期开始分别组织3次实习,即认识实习、生产实习和毕业实习。
认识实习安排在第五学期初,占2周时间,参观IT企业或事业单位的科研环境或办公网络环境,见识不同厂家或品牌的网络设备(如交换机、路由器、服务器等)及网络应用系统的应用情况或研发过程,以增强学生对专业的兴趣,为后续专业课程的学习增加感性认识。
生产实习和毕业实习安排在第七学期和第八学期初,各占3周时间,为了保证实习的效果,与IT企业或思科认证培训机构合作,建立了多个校外实习基地,让学生参与到组网工程、网络管理与维护和网络软硬件系统开发等项目中。特别是在与思科认证培训机构的合作过程中,充分利用他们的师资与设备资源,很好地克服了我校网络组网设备不足的缺陷,为学生提供了一个理论与实践相结合的平台。
毕业设计为网络工程专业学生在毕业前提供了一次综合性专业技术实践锻炼,毕业设计课题围绕网络规划设计与网络信息处理两个方向展开,毕业设计周期为14周左右,包括选题、开题、课题任务的完成、书写毕业设计论文和论文答辩等环节。我们将校企合作方式也引入到毕业设计环节中,对部分学生实行校内和校外指导教师共同指导的方式,真题真做,以达到在完成毕业设计任务的同时,解决企业某方面实际问题的目的。
4结语
网络工程专业是在计算机科学与技术、通信等专业基础上经过发展逐步形成的专业,作为一个实用性强、服务面广的专业,在人才培养过程中不能简单地套用传统计算机专业的人才培养模式,需要根据专业特点不断地摸索、循序渐进和逐步完善。
参考文献:
\[1\]王春枝,李红.网络工程专业培养方案探索与实践\[J\].计算机教育,2010(23).
学校简介
伊利诺伊大学香槟分校是“十大”盟校(The Big Ten)之一,建立于1867年,一直是全美最优秀的大学之一,理工科在“十大”中更是排名第一。该大学排名全美前10名的研究生专业有物理学、化学、计算机科学、心理学、教育学、工程学、会计学、大众传播学、图书馆科学、音乐、数论、代数、逻辑学、微生物学。工程学院在全美闻名遐迩,其电子工程、计算机工程、土木工程、材料科学与工程、机械工程、原子工程、农业工程、环境工程等系科都排在全美前五位,化学工程、航空航天工程排在全美前十位。
该校的教授和校友有不少知名人士,比如历史上第一次在同一领域(固体物理学)中两次获得诺贝尔物理学奖的发明了晶体管并提出了低温超导理论(BCS理论)的巴丁教授;哈肯教授与阿佩尔合作在计算机完成了四色定理的证明;网络神童马克・安德森(Mark Anderson)在伊利诺伊大学厄巴纳-香槟分校设计了因特网浏览器软件Mosaic及Netscape;身价一度超过比尔・盖茨成为世界首富的甲骨文公司(Oracle)董事长兼首席执官拉里・埃里森(Larry Ellison)曾在伊利诺大学香槟分校读书;AMD创始人兼首席执官杰里・桑德斯(Jerry Sanders)是伊利诺大学香槟分校电子工程学士;通用电气(GE)董事长兼首席执官杰克・韦尔奇(Jeck Welch)是伊利诺大学香槟分校化工博士。截至2003年,该大学共有二十位教授及校友荣获过诺贝尔奖,两位校友荣获过图灵奖,一位教授荣获过菲尔兹奖,二十一位教授及校友荣获过普利策奖,十一位教授荣获过美国国家科学奖章,现任教授中有两位普利策奖得主、二十六位美国国家科学院院士、二十九位美国国家工程院院士。
该校的计算机系创建于1972年,多年来在全美排名一直保持在Top5之内,一些事实也无可争辩地捍卫着这一地位:世界上最早的计算机Eniac诞生在这里;世界上第一个网络浏览器Mosaic诞生在这里;其毕业生所建立的公司(Netscape、YouTube、PayPal、Lotus和Sieble Systems)在计算机界赫赫有名;其国家超级计算机应用中心(NCSA)是全美国五大计算机研究中心之一。
课程设置
该校计算机系的课程设置乍一看上去和国内大学似乎没有什么大的区别。对本科生来说,“1”开头的系列基础课程,主要是包括计算机导论,离散数学等计算机基础课程;“2”开头的是更专业一些的课程,比如类似国内操作系统的System Programming、计算机体系结构和数据结构;“3”开头的目前仅有两门课:397 Individual Study和398 Special Topics in CS,主要是扩展学生的学习兴趣和能力。研究生的课程都是以“4”开头的专业基础课程和以“5”开头的专业课程,其中以598开头的为前沿学科讨论课程。学生也分为硕士和博士,但对硕士的要求不高,所以很多直接跟随教授做研究的学生都是博士。课程的要求也是作业、项目和最后的考试。但实质上,由于管理、研究水平等原因,这些设置还是有所不同。
该系目前提供三种类型的本科学位,一种是五年的本科和硕士生打通的学位,五年毕业后取得本科和硕士两个学位;另两种是计算机科学本科学位和软件工程学位。每一种根据对学生都有不同的学分和课程要求。比如对于第一种学位,要求选够120学分,其中理论(473 Algorithms或者475 Formal Models of Computation)、结构(431 Embedded Sys Arch and Software或者433 Computer System Organization)和软件(421 Programming Lang and Compilers或422 Programming Language Design或423 Operating Systems Design)必须按研究生学分选修。
研究生分论文和非论文两类。论文学位中和国内一样分硕士生和博士生。普通论文硕士要求28个课程学分和4个论文学分。博士生的总学分要求是96个课程学分,包括课程学分和论文学分,其中至少要求32个论文学分;学士直读的博士生要求96个课程学分。目前注册的研究生人数近450人。
从课程设置方面看,该系的课程分得很细,从和国内相类似的专业基础课,比如计算机导论、数据结构、软件体系结构、数据库系统、操作系统、软件工程;到很专业的课程,比如算法、密码学导论、程序验证、自主信息系统、形式化软件开发方法以及以598打头的带有主讲教师名字代号的扩展课程。尤其以研究生的课程设置最为细致。数一下他们的课程可以发现,学生有很多方向可以选择,本科生的课程多达77门,研究生的更是多达102门。当然有不少课程是两者都可以选修的。一般一门课程3~4个学分(根据是否完成Project区分),每周两次,一次75分钟。
讲授该课程的教师基本上都是该校专门从事这一方面研究的权威,有着多年的研究经验。比如我所选修的“程序验证”课程属于该系的研究生基础理论课程,任课教师Meseguer教授已经在这方面从事了近三十年的研究,而且目前也是这方面的权威。“数据挖掘”课程的教师是Han教授,也是数据挖掘的世界级权威。这保证了任课教师在讲授课程的同时贯穿了该课程在学科中的领先技术和知识。同时,比较明显的一点是课程结合实际动手的项目比较紧密。比如我所选修的“程序验证”课程虽然有很强的数学背景,介绍了等式逻辑和重写逻辑,但该课程辅以该实验室的Maude系统作为实践工具,所以所介绍的理论可以实实在在地在计算机上看到其作用和结果。“程序设计原理”这门课也使用了Maude系统作为高级程序语言的规格说明语言,这立刻就让本来很抽象的两门课有了感性认识的平台,学生可以立刻通过工具感受逻辑在计算机中的作用,可以使用该工具立刻设计出自己的新的程序语言。相比而言,国内类似的课程都缺乏相应的辅助工具,学生学理论不知道怎样用到计算机中,学程序语言设计多是看看别人设计的语言是怎样的,难以在短时间内自己动手设计一个。
开放性
这半年中我感受最深的当数该系信息资源的开放性。从课程上来说,每学期的每一门课程都能在系里的网络上找到相应的讲义、作业、项目以及阅读的参考资料。和课程相对应,每位教授都开设一个甚至多个专题讨论会,这些讨论会都有相应的MailList可以让学生或是研究人员加入。根据我的研究兴趣,我参加了Maude、Runtime Verification以及软件工程讨论小组。每一个讨论组由教授主持每周定时讨论一至两个小时,同时维护一个网站公布每次讨论的主题或是论文。所以,和国内的例会不同,这些讨论会除了教授自己的学生,往往会有一些感兴趣的学生或是像我这样访问学者参加。通过这样的方式,也有教授的介绍,我和目前我感兴趣的几个教授都交流过,他们都很细致地介绍自己的研究,包括介绍实验室开发的软件工具。而这些软件工具都放在他们自己实验室的网站上,有的是可以免费使用的,有的甚至是源码公开的,同时有他们公开发表的论文。有两位教授的实验室研究内容我比较感兴趣,但他们还没有源码,经过两次讨论后,他们都表示可以提供源码以便进行进一步的研究。同时,我找他们的学生询问相关工具的一些细节技术,他们都详细解答,有时甚至花费两个多小时。
其实这一点在我联系访问的Host Professor时就感受颇深:每一位教授都可以在他们的主页上找到非常详细的资料,他们的研究概况、发表的论文、教授的课程、所做的研究项目、学生、联系方式等等。对比国内同行,很多都没有自己的主页,有一些由于单位组织倒是有,但所找到的基本上都是仅仅一页的概述而已。这导致国内很多信息无法交流。当然,我想这也有一点客观原因,就该系的项目情况而言,纵向课题的资助就已经足够教授们完成研究,所以他们并不在乎把研究成果转化为实际产品,而是公开这些研究成果,让其他人尽量多地使用,让其他人或公司完成产品的转化工作。反之,国内很难找到根据研究成果完成的软件工具,因为一般如果做到工具,都希望更进一步做到产品化,能以此争取到横向课题的支持,以便弥补纵向课题经费的不足。由于横向课题讲求实用,有很多非前沿性,非研究性质的工作需要完成,直接影响了研究的深度。
开放性还反映在该系的研究领域交叉之中。该系的研究领域分为:算法和理论;人工智能;体系结构、并行计算机和系统;复杂生物及计算生物;数据库及信息系统;图形图像和人机界面;系统和网络;程序语言、形式化系统和软件工程;以及科学计算。但在我所参加的讨论中,经常可以看到多个实验室的教师和学生相互参与讨论。比如我上上周参加的形式化小组的讨论会上,就有体系结构实验室的学生;上一周的软件工程讨论会上,报告者是一个数据库实验室的学生,因为他的工作内容涉及到用数据挖掘和统计的方法进行软件调试,同时与会的还有该实验室的两位教授以及其他实验室的学生。同一个研究领域内的合作就更多,比如我所访问的教授专注于程序语言、形式化系统和软件工程领域,他自己的实验室和另外该领域的另一位教授Rosu的实验室相连,两人合作过多篇文章,Rosu的程序设计语言以及形式化软件开发方法课程中应用了Prof. Meseguer的形式化工具,甚至有一些讲义。我大致看过该系教授们的简历,非常少有本校毕业的学生,这说明相关合作并不是以前师生关系的继续。同时,这里常常有一些前沿讲座是由斯坦福、剑桥、伯克利和爱丁堡大学的教授和博士生开设(应聘的博士生都要公开做一个面试形式的讲座),也有微软和IBM这样的大公司的研究院或是一些著名公司的学者的讲座,这些讲座频率很高,常常可以在该系每周的日历上看到这些通知。
其实,访问学者这样的一个制度本身就是很开放的。半年一年的互访,带来了很多交互的信息。相比而言,国内有不少实验室虽然也设有客座教授、开放项目等,但是很难落到实处,很难有人真正是在实验室里交流这么长时间,更多的仅仅是每年几次的互访而已。不过,为每一位访问学者提供一间宽敞明亮的办公室,提供所有办公服务恐怕也是目前高校难以提供的紧缺资源。
风气
另一个让我感受比较深的地方是该系的学习风气。由于课程设置很细,很多课程选课的人并不多,一二十个学生的课堂是很常见的,有的课程仅仅4~5个学生。当然也有上百人的大课,这一般是本科和研究生共同选修的课程。我上学期选修的program verification课程共有12个学生,这学期选修的formal method software development也不过十七八个学生。但给我印象很深的一点是,从开学到学期末,学生数目基本上保持不变,可见很少有人缺课。上课的气氛很活跃,课堂上几乎没有见过学生打瞌睡,讲课中间学生随时提问,教师也是当时就回答。对于教师提出的问题,也几乎没有冷场没有人回答的情况,当然也不是每一次回答都正确。相比而言,国内大学目前缺课的现象相当严重,有的必修课程都有三分之一缺课的,选修课就更不用说了。这当然有教师的原因,目前教学普遍不受重视,所有职称的评定基本上由科研决定,这从前年上海交大的倍受学生欢迎的教师始终仅仅是一个讲师就可见一斑。而教学显然是很需要花费时间和精力的。
也不是说这里的教授上课都很好,也有底下学生反映讲课不好的,但无论是从教师的授课还是学生的学习,你可以明显感受到两个字:认真。研究生自己决定上什么课,一个学期一般也就选修2~3门。相比而言,国内硕士研究生一学期的课程多达七八门,其中不少都是必须选修的,学生的学习相对比较被动,很多学生就为拿学分,课堂上打瞌睡,学Tofel和GRE,复习考研的学生大有人在,课堂上很少看到学生主动提问。在我的一门电子商务的选修课上我就问过学生,他们是否愿意做我以项目的方式提供的考试,很多学生说很有兴趣,可是却没有时间。必修课和学位课的项目、作业已经让他们穷于应付,还要复习考研、考Tofel和GRE,实在是心有余而力不足。为此我还调整过项目完成时间,允许学生在第二个学期开学时交,可以看到效果要好一些,有一些学生利用假期完成了自己感兴趣的内容。可是随着教学管理的正规化,要求课程结束后一周内必须给成绩,刚开放一些的项目只好又恢复原状。
这些情况造成了恶性循环,学生老师相互认为对方不认真,老师认为学生既然不想学,花的时间精力又不值,何必认真。学生认为老师备课不认真,讲授的内容陈旧,学不到东西,没必要好好学。从作业方面看两者也有很大的差距。作为访问学者,我虽然选修了课程,但其实并没有学分,也没有在学校注册,充其量也就是旁听,但由于教授建议我做作业以加深理解,我也基本上按时完成了作业,一学期一共五次作业,有理论证明,也有系统的使用(实验室开放了根据他们的理论开发的软件工具)和编程,要求打印作业并提交。发还作业的时候,我看到所有学生,包括我自己在内的作业都被认真批改过。而我自己为了完成作业把讲义看了一遍又一遍,花了很多时间,但也从中发现很多深入的问题,如果不做作业还以为自己理解了,其实不然。询问其他学生,他们也花很多时间做作业。该系的学生鲜有抄作业的,一方面学校处理很严,大家都认为是很不光彩的行为;另一方面认为做作业时为自己能学到东西做的。相比之下,国内目前学生抄袭作业的现象非常严重,有的学生私下里说有的课程甚至超过90%的比例。我认为这一方面有社会风气的影响:君不见教授、学者的学术抄袭都时有曝光;另一方面是管理不严造成的。虽然国内的大学也有同样的制度说抄袭者要惩罚,可是国内大学一门必修课由于研究生扩招甚至达到三百多人,虽然也有助教制度,但如此高的学生教师比例势必造成作业、项目甚至试卷批改难以把关,从而进一步加剧了抄袭现象。
关键词:软件工程;课程体系;培养方案
软件工程教育兼属科学教育和工程教育范畴,软件工程的科学教育属性主要是引导学生对人类意识与智慧进行科学理解、增强运用软件本质特性(构造性与易演化性)和解决具体问题的能力;而软件工程的工程教育属性主要是引导学生综合应用计算机科学、数学、管理等科学原理,借鉴传统工程的原则、方法,提炼和固化知识,通过创建软件来达到提高质量、降低成本的目的。然而,McKinsey Global Institute2005年10月发表的一份报告称,我国2005年毕业的60多万工程技术人才中适合在国际化公司工作的不到10%,主要原因是中国教育系统偏于理论,学生在校期间几乎没有受到Project和团队工作的实际训练,这对我国高等院校工程教育改革与创新提出了挑战,也为软件工程专业建设指明了方向。
合理的课程体系是高等院校保证培养目标和形成办学特色的重要手段。目前,我国1900多所普通高校中虽有100多所院校开设了软件工程专业,但与当前软件工程技术发展差距较大。为了培养出既有理论知识又有应用技能的工程型实用软件人才,软件工程专业课程体系必须进行改革。对此,本文结合CC2005、SE2004、SWEBOK、国内软件工程专业课程设置现有的研究成果,探索软件工程专业本科教学课程体系建设问题。
1 软件工程专业课程体系设计策略
计算学科本科教学常用的课程体系设计策略主要划分为:课程启动策略、课程组织策略、特色课程设置策略。课程启动策略主要包括:1)围绕算法设计展开的算法优先策略;2)自底向上展开的硬件优先策略;3)从计算机导论展开的广度优先策略:4)强调编程能力的程序设计优先策略;5)强调系统使用命令优先策略;6)从面向对象展开的对象优先策略。
课程组织策略主要有:1)基于主题的组织模式,它把知识体系中的每个知识域组织成一门或几门课程;2)基于系统的组织模式,它把每类计算机软硬件系统设置成一门或几门课程;3)混合模式,在课程设计时不考虑区分前两种方法,兼而有之。特色课程设置策略主要依据本校办学特色和研究专长来确定。
由于软件工程教育兼属科学教育和工程教育范畴,其科学属性和工程属性决定了软件工程专业本科教学课程规划,一方面要强调工程性、技术性、实用性、系统性、综合性和复合型,另一方面要强化基础软硬件知识在解决复杂软件构造和应用方面起到的关键作用。对于课程启动策略而言,传统计算机科学专业的课程启动方式并不适合于本专业,但工程优先策略似乎也不适合于没有任何计算机基础的本科生;同样,在课程组织策略上,基于主题的组织模式更多地具有科学研究属性,而基于系统的组织模式又不利于基础知识强化;此外,特色课程设置时,有时会缺乏全面综合考虑,因人设课会造成特色课程系统性差问题。因此,在软件工程专业课程体系设计策略方面,应根据软件工程学科自身属性,综合考虑以上各种策略特点,全局思考,统一规划,避免课程系统性差、教学内容重复和遗漏并存等现象。
2 软件工程专业课程体系架构模型设计
根据软件工程专业本科教学的培养目标及规格要求,其课程体系采用“夯实基础教育、提高系统认知、强化软件开发、推进工程实训”为主线的设计思路,构建了“分层次、互动式、工程化”的课程体系架构模型(如图1所示)。该模型共分为四个层次,即基础知识教育层、系统认知教育层、工程设计开发层和工程实践训练层。各层次不是相互独立的,而是相互关联、相互影响、逐层递进的演进关系。该模型简化了计算机科学核心课程数量,突出基于主题的组织模式,沿着由浅入深、循序渐进的认知路径,力图实现“基础与编程一体化、编程与系统一体化、系统与工程一体化、工程与职业一体化”四位一体的工程型实用软件人才教学目标。
2.1 基础知识教育层
基础知识教育的设计思路,强化学生的基础知识和编程意识,实现“基础扎实和编程意识强”两个目标。基础知识教育层结构具体划分为:数学基础类课程模块、外语类课程模块、软件基础类课程模块、其他公共基础类课程模块。根据各模块自身特点,全面考虑各模块之间的关联性,做好彼此之间的衔接。在课程启动策略方面,主要采取基于基础的编程优先策略。在数学基础类课程模块中确定一门衔接较好的基础课作为软件基础类课程模块的启动,软件基础类课程模块率先启用软件设计基础课程,力图达到“基础与编程一体化”的教学目标。在课程组织策略方面,采取基于主题的组织模式,有利于学生掌握基础理论知识。
2.2 系统认知教育层
系统认知教育的设计思路:强化学生的编程能力和对软件系统的认识能力,实现“编程能力强和系统级认知”两个目标。根据软件工程专业对硬件系统和系统软件的知识要求,系统认知教育层结构划分为:数据库系统类课程模块、网络系统类课程模块、操作系统类课程模块和编译系统类课程模块。在课程启动策略方面,主要采取基于编程的系统优先策略。通过软件基础类课程模块的数据结构等课程和系统认知类课程模块的数据库原理及应用等课程,进一步强化学生的编程能力,并以程序设计为主线引导学生的系统级认识能力,实现“编程与系统一体化”的教学目标。在课程组织策略方面,采取基于系统的组织模式,简化计算机科学核心课程数量,提高学生学习的有效性和对知识的掌握程度。
2.3 工程设计开发层
工程设计开发的设计思路:以工程化方法为手段,依托项目培养学生的“工程”意识,锻炼学生对软件系统的设计与开发能力,进一步强化学生的系统级认识,实现“更完整的系统级认识和软件系统工程化设计开发技术”两个目标。根据软件工程项目开发流程,工程设计开发层结构划分为:软件过程类课程模块、软件设计类课程模块、软件架构类课程模块、软件测试类课程模块、人机交互类课程模块、特色项目类课程模块、可扩充类课程模块。该层综合考虑核心专业课程和特色项目课程设置,基于专业方向设置若干动态可扩充课程,全面考虑课程之间的关联,强调统一设计、统一规划。学生在这个层次必修一些工程设计开发系列课程,选修可扩充类课程,达到“系统与工程一体化”的教学目标。课程启动策略采取基于系统的工程优先策略。课程组织策略采取项目的组织模式,以此来提高学生的软件系统设计与开发能力。
2.4 工程实践训练层
工程实践训练总体设计思路:通过实验训练、专业实习、项目实训、毕业设计等教学环节,依托校内 外实习实训基地,采用校外实习实训、自主实习实训、校内实习实训和外聘软件工程师等形式,强化学生的工程能力,培养学生的职场素质,实现工程与职业一体化的教学目标。工程实践训练层结构具体划分为两大类,一类是实验与实习类课程模块,另一类是工程实训与毕业论文类课程模块。其中,实验与实习类课程模块的具体设计思路,通过基础实验、系统体验、编程能力训练三个环节,进一步夯实学生的基础知识,完善学生的系统级认识,强化学生的开发技能;而工程实训与毕业论文类课程模块的具体设计思路,通过“软件工程项目实训”这个载体,采取“企业+实训+论文+就业”捆绑的运作模式,与多家国内知名IT公司合作,让学生到企业进行实际项目综合训练,并完成毕业论文设计工作,实现理论与实践结合、技巧与职业素质结合的教学目标,同时也为学生就业提供一个良好平台。
上述四个教育层是彼此联系和互动发展的,在课程体系设计中充分考虑衔接性、系统性和创新性。交流、沟通、讲演、写作的培养更多体现在第二课堂科技学术活动中。
3 软件工程专业核心课程设置
3.1 课程设置原则
软件工程专业课程设置遵循六个基本原则,即先进性、灵活性、复合性、工程性、创新性和模块化。1)先进性:课程设置和课程内容需反映国际上先进的软件技术发展成果和软件企业对先进技术的需求,以及相关的基础理论。2)灵活性:课程设置需具有灵活性,应根据软件技术的发展及时调整。3)复合性:课程设置需包括技能、工程、管理等方面的教学内容,使学生具有必要的综合技能和基本素质。4)工程性:课程设置面向软件工程实践,强调工程实践能力培养,使学生能够自觉运用先进的工程化方法和技术从事软件开发和项目管理,具有团队协作精神。5)创新性:课程设置应倡导学生自主学习,并给予必要的指导,从而培养学生自主学习和自我提高能力,以及勇于开拓和善于创新能力。6)模块化:课程应按照模块化准则设计,课程模块设计可以交叉。根据软件技术最新发展、当前市场需求及专业培养方向、学生目前具备的领域知识等,灵活调整课程设置和课程内容。
3.2 核心课程模块设置
1)软件基础类课程模块设有:计算机硬件基础、软件设计基础、数据结构、计算机组织原理、面向对象程序设计、算法分析与设计等课程。2)操作系统类课程模块设有:操作系统原理、LINUX系统基础、嵌入式系统基础等课程。3)网络系统类课程模块设有:计算机网络、网络规划与集成、网络安全检测与防范技术、网络协议与网络软件等课程。4)数据库系统类课程模块设有:数据库原理及应用、ORACLE数据库、数据仓库与数据挖掘技术等课程。5)编译系统类课程模块设有:编译系统原理、编译技术等课程。6)软件过程类课程模块设有:软件工程、需求工程、软件项目管理、软件建模技术UML等课程。7)软件设计类课程模块设有:C++高级程序设计、J2EE与中间件、.NET架构技术、设计模式等课程。8)软件架构类课程模块设有:大型软件系统构造、软件体系结构等课程。9)软件测试类课程模块设有:软件测试技术、软件测试与评估等课程。10)人机交互类课程模块设有:人机交互技术等课程。11)特色项目类课程模块设有:软件工程项目案例解析、大型软件工程项目实训等课程。12)可扩充类课程模块设有:手机游戏开发、网络游戏开发、计算机图形学、嵌入式Linux网络及GUI应用开发、嵌入式Linux驱动开发、手持设备软件开发等课程。
4 软件工程专业培养方案制定与实施
软件工程专业培养方案制定是基于软件与工程的复合,将软件工程与领域应用相结合,强调计算机科学和数学基础的同时,将专业课程重点放在软件新技术和软件工程新技术方面,通过对实践类课程工程化改造,增设软件工程项目实训环节,开设部分技能课程,试图使学生的基础知识、专业技能、创新能力、工程能力和职业素质都能得到全面均衡发展。具体措施如下。
4.1 建立英语为主日语为辅的外语教学体系
根据IT市场的实际需求,软件工程专业培养方案制定,除正常开设四个学期大学英语外,增开两个学期标准目语和一个学期专业英语,坚持外语学习四年不断线,旨在为学生选择日企或对日外包企业就业提供方便。
4.2 建立工程化实践教学体系
建立“四年不断线、三个层次相呼应、两大措施为保障”的工程化实践教学体系。“四年不断线”是指实践环节四年不断线,每个学期至少有一个集中性的实践教学环节,体现“全过程”实践;“三个层次相呼应”主要是从实践教学内容设计上考虑的,包括第一层次教学实验,第二层次课程设计及专业实习,第三层次工程项目实训与毕业设计;“两大措施为保障”主要指教学计划保障和考核制度保障。
4.3 设置专门的实践课程
针对工程化软件人才应具备的个人开发能力、团队开发能力、系统研发能力和设备应用能力,以必修课和选修课形式,开设四类特色化、阶梯状工程实践学分课程,即程序设计类实践课程、软件工程类实践课程、项目管理类实践课程和网络平台类实践课程,构成了系统全面的学生实践能力训练体系。
4.4 提高专业课程教学中的实验课时量
除个别侧重理论教学的专业课程外,80%以上的专业课程包含实验或实习环节,实验或实习成绩占总成绩的30%以上,一部分实践性较强的课程是以上机考试和答辩作为最终考试方式。
4.5 开设部分技能课程
在技能课程中,与该领域内具有国际领先水平的企业在课件共享、教师培训和资源投入等方面展开合作,共同设计、讲授和评估课程。鼓励学生参与企业提供的专业认证考试,或参加国家相应的专业资格考试,对此,学院将计算机网络、Oracle数据库、J2EE与中间件等认证课程纳入本科教学计划中,全面体现学生的“多证多能”。
【关键词】Openstudy;开放课程资源;社交学习;整合;国家精品课程
【中图分类号】G40-057 【文献标识码】A 【论文编号】1009―8097(2011)07―0010―05
2001年麻省理工学院推行的“开放课件”运动将开放课程资源推向了一个新的热潮[1]。十年来,伴随着互联网技术的发展和普及,各种开放课程资源项目迭出。哈佛、耶鲁等传统名校相继推出自己的开放课程,力图使自己在未来的教育竞争中跟上潮流,更不用说英国开放大学这种以“开放学习”为宗旨的大学了。即便是在民间,也有很多个人或团体受到开放教育理念的鼓舞,凭一己之力创建了许多开放教育资源项目,如近期兴起的可汗学院(Khan Academy)[2]、P2P University[3]等。
社交学习[4]则是近年来兴起的另一种学习热潮,作为开放教育资源项目的Openstudy是这个热潮中出现的一个典型案例,通过剖析Openstudy,也许我们可以从中窥探到开放教育资源运动的一些规律,探寻开放教育资源发展的趋势。
一 Openstudy简介
1 Openstudy的创建
Openstudy建立于2007年,是一家社交学习网站,由Ashwin Ram,乔治亚理工学院教授及他以前的学生Preetha Ram(现任埃默里大学的副院长)、首席执行官Chris斯普拉格,共同在硅谷建立的。他们和企业家以及乔治亚理工学院、埃默里学校的学生团队合作,总部位于佐治亚理工学院ATDC(Advanced Technology Development Center)中心的科技广场,目前已得到美国国家科学基金会、美国国立卫生研究院和佐治亚州研究联盟的资助。
Openstudy创立的初衷是因为创办者们感觉到学生大多是个体孤立的学习,比较辛苦,为解决此问题而开发了Openstudy。Openstudy是一个社交学习网络,来自世界各地的任何人都可以在平台上提问以寻求他人的解答,也可以按照自己的兴趣和其他人一起组成小组对某个问题进行研究,还可以通过网站学习麻省理工学院的开放教育资源,并与他人进行讨论学习。Openstudy致力于建立一个大的学习社区,大家共同学习,而不仅仅局限于个别学校、个别区或某种情境。正如Openstudy宣称的那样:让世界成为你的学习团队[5]。
Openstudy目前有来自乔治亚理工学院和埃默里学校的学生团队及类似于Fast company这样的教育创新孵化公司为其提供运作支持。Openstudy的用户已经扩展到来自138个国家的1500所学校,而且仍在蓬勃发展。据统计,在Openstudy大约90%学生的问题得到了解决。
2 Openstudy的发展
Openstudy创建之初只是一个为学习者提供自由交流、协作的平台,随着其影响的日益增长,以及部分麻省理工开放课件(MIT COW)课程学习者的成功案例,吸引了麻省理工学院(MIT)的关注。随后Openstudy建立了与MIT OCW项目的正式合作,由MIT提供课程资源,Openstudy提供学习平台,引导MIT OCW课程的学习者在Openstudy上开展讨论、交流等学习活动,MIT甚至提供了一些指导教师,对在Openstudy上学习的学习者进行指导。
MIT OCW外联部主任史蒂夫•卡森说:“麻省理工学院几年前开过一个BBS,试图以此促进开放式课程的讨论,但每门课程的讨论都不多。所以刚开始和Openstudy合作时只开放了《计算机科学导论》、《单变量微积分》和《中文》三门课程,但反响非常好”。很快就有三千多名学生参与计算机科学的学习小组,微积分小组有2400人,中文组有800人。于是,麻省理工学院和Openstudy又增加了更多学习小组,现在已经有十门课建立了学习小组,几周内就有几百学生加入。Openstudy上的学习者发现几乎每时每刻学习小组中都有人在线。卡森表示这次尝试为以后开放式课程的发展指明了新的道路:很显然开放式课程学习者感兴趣的不仅仅是学习资料,还有学习时能在一个社区共享和讨论彼此的想法[6]。
最近,耶鲁大学等其他大学也纷纷展开与Openstudy的合作,共享优质开放教育资源,方便了广大的学习者,完善了平台的资源机制。Openstudy还与互联网上最流行的Web2.0的社交平台Twitter、Facebook等合作,学习者注册Twitter、Facebook之后,就可以加入Openstudy,与Openstudy上的人分享自己的生活状况和思想感悟等,逐步扩展自己的交际面,然后找到兴趣一致的同伴,选择合适的群体共同学习。或者按照自己的兴趣点,邀请自己的朋友或同学加入Openstudy进行交互学习。
3 Openstudy用户的学习方式与支撑平台
Openstudy用户的学习主要通过三种途径完成:直接交流、学习小组、开放课程。
所谓直接交流学习就是用户登录后,可以直接在Openstudy网站上提出自己的问题,其他用户看到问题后可以跟帖形式回复答案,也可发邮件给提问者。这种方式适合于特定问题的学习。
学习小组(Study Pad)是Openstudy的一种协作学习形式,即若干具有相同兴趣的学习者组成一个学习小组,共同针对某个问题进行研讨。学习小组可由用户自己创建,然后邀请自己的朋友参与,或者等待其他有兴趣的用户参与。学习小组通常由5~6人组成。这种方式可以发挥同侪教学的作用。
开放课程这种途径,是指用户通过Openstudy浏览MIT或其他学校提供的开放课程,并参与在Openstudy上组建的课程学习小组,与其他选学了相同课程的学习者进行交流,或者接受指导教师的指导。这种方式适合于系统的课程学习,目前以MIT提供的课程为主。
上述三种学习途径并存,可以同时使用,即,对于学习者而言,随时可以根据需要选择合适的学习方式,从而获得最佳的学习效果。用户在Openstudy上的学习流程如图1:
为了支撑用户在Openstudy上的各种学习活动,Openstudy不断研发、完善学习支持平台,其目标是为学习者提供各种学习交流和相应学习资源。例如为了帮助学习者创建或寻找到合适的学习小组,Openstudy提供了对学习小组按关键词浏览和检索的功能。学习小组中的问题与讨论也可通过邮件的方式发送给小组成员,随时提醒各位组员讨论的进展与变化。
Openstudy学习平台的基本结构如图2所示(见下页):
4 Openstudy的典型案例
《计算机科学导论(Intro Computer Science)》学习群体是Openstudy平台中最大的一个学习群体,目前该学习群体已经发展到一万多人,该讨论群体是基于麻省理工学院的开放教育课程―《计算机科学导论》―发起的讨论。
《计算机科学导论》课程的教学对象是很少或没有编程经验的学生,它的目的是帮助学习者理解电脑在解决实际问题中所起到的作用,并且帮助所有专业的学生学会编写程序,克服对计算机使用的恐惧。
当选学这门课程的学习者在Openstudy平台注册时,系统会提示该门课程的学习者中影响力较大的学习群组或人――比如计算机科学小组。学习者可以选择加入或者不加入该小组。一旦加入该学习群体之后就可通过网站来进行课程学习。当学习课程中遇到一些技术或者理论的问题时,学习者可以向该群体里的成员(有老师和学生)求助,求助的形式有以下几种:
a 直接提出问题,该讨论组的其他成员会看到并及时答复。
b 建立讨论组,提出相关的问题邀请他人或朋友加入,然后他们看到你的问题,你们可以相互讨论并解决疑惑。
c 如果你提出的问题不想公开,想私下解决,也可以给平台里的任何人写邮件,请求他给你答复。当然作为群体中的一员,可以随时回答群成员提出的问题。如果涉及到理科的数字符号,可以使用平台提供的公式编辑器。此外,平台还可以记录你或他人回答问题的过程,类似用一个摄像头把解决问题的过程记录下来,这样会更直观,并且可与其他人的答案进行对比。通过课程的学习和与不同的学习者进行讨论能够使自己快速学到计算机方面的知识,进而扩展自己的交际面,且不受时间和空间的限制。
该平台还开发了标签和搜索技术,通过标签可以快速查看影响力较大的群体或个人,这样就能够明白大家都在讨论和学习什么。利用搜索可快速锁定网站的群体或个人,方便学习者更好的学习。
由于该学习小组人数较多,所以当你提出一个问题时其他成员会马上告诉你答案。这也正好反映了网站的思想:更多的社交学习体验注入开放式课程,确保学习者不会孤单。无论来自何处,大家都在你身边。当你总觉身边有个智囊团时,学习者会有很强的社会存在感和满足感。
《计算机科学导论》及其他MIT OCW课程的成功使得Openstudy与MIT加强了合作,也让其他大学增强了与Openstudy合作的意愿和信心。
二 Openstudy与其他开放教育资源的比较分析
如前所述,开放教育资源运动在世界各地蓬兴勃发。21世纪的第一个十年,涌现出许多优秀的开放教育资源项目,表1是其中影响力较大的几个项目与Openstudy的对比:
以MIT OCW为代表的开放教育资源项目,因其提供的课程资源较优秀,又有着较完整的课程设计,对有兴趣学习这些课程的学习者而言不啻为一种福音。但由于缺乏相应的学习指导等学生支持服务,学习者在学习过程中出现的问题和困难较难得到有效解决,这在很大程度上制约了课程的学习效果[7]。
相比MIT等以课程为主的开放教育资源,Openstudy创办的最初目标是为学习者提供一个相互交流的学习平台,因此,学习者所学的问题和内容几乎不受固定框架的限制,而且它还能为学习者提供答疑、讨论服务。在Openstudy中无论是直接交流还是学习小组,或者是便捷的学习伙伴的寻找,都是为了给学习者提供及时的学习帮助,让他们可以在立体化的交流中解决自己的学习问题。
而与MIT OCW的合作则为Openstudy开拓了另一种新的学习模式,在这种学习中,既能发挥MIT OCW的课程资源优势,又可以发挥Openstudy原有的同侪教学优势,二者相互补充,达到开放学习较佳的成效。
在这方面,英国开放大学(简称“英开”)的Openlearn与Openstudy有些相似,Openlearn既拥有英开优秀的课程资源,也为学习者搭建了交流的平台,力争实现课程资源与社交学习的整合[8]。不同的是,Openlearn和Openstudy的出发点和发展路径有所不同。Openlearn是从更好利用课程资源的角度出发,围绕已有课程资源来设计学习活动并提供相应的支持平台,而Openstudy是从纯粹的学习者间的交流出发来设计和开发支持平台,在发展过程中逐步整合开放课程资源。由于出发点和理念上的差异也导致两个平台在功能上的差异。尽管如此,也不难看出,整合开放课程资源和社交学习,是提升开放教育资源应用效果的途径之一。
三 整合:开放教育资源的发展趋势
总的来说,开放教育资源的关注点有三个:资源(开放存取的教育内容)、平台(开放的工具和平台)和协议(开放的标准和协议)[9]。协议作为一种社会活动的规范,主要是起到引导和规范的作用,对于普通的开放教育资源的建设者和使用者,不用过多关注,从建设和使用的角度来看,焦点还在资源和平台上。
MIT OCW、耶鲁和哈佛的开放课堂、可汗学院等开放教育资源项目,大致属于开放课程资源的建设者,他们主要是创建某种形式的课程资源(如课件、文本、视频等)并以开放的形式出来。这些课程资源引起了很大的轰动,也为许多有心学习的人提供了学习的机会。但是,这些单向的课程资源,也由于诸如“缺乏完善的指导机制”、“不利于学生自学”等原因而导致资源的“利用率低”、“学习效果不够好”等现象。
为了更好地使用这些资源,一些机构开发了辅助资源使用的平台,如英开的Openlearn。Openlearn依托英开丰富的课程资源,搭建了一个开放的学习平台,并开发了一系列的学习工具,辅助学习者学习,同时在学习的过程中还可以创建出新的学习资源,从而对原有的课程资源形成补充和完善[10]。
但无论是开放课程资源还是Openlearn,都是以课程资源为出发点的,其关注的核心仍然是在资源。
若将视野放宽一些,除了传统意义上的资源(教材、课件、视频录像等),“教师支持”也是一种资源[11]。此外,教学中还存在另一种形式的“智力资源”,即学习中的同伴交流以及对学习过程进行的指导(同侪教学)。
如果说教材、课件等资源是学习的基础,那么教学指导这种资源则是学习效果和效率的必要条件。
社会建构理论告诉我们,知识和意义是在学习者的交流与交往中建构起来的[12]。学习的发生,离不开交流,无论是与同伴的交流还是与指导者的交流。传统教育更早就揭示了教学指导对学习的价值。人类社会之所以会出现学校和其他专门的教学活动,就是因为人们发现要想提高学习的成果与效率,必须为学习者提供合适的指导。在下示“主导―主体”的结构图中,可以清晰地看到,学习者是学习活动的主体,但这种主体在对学习对象的认知过程中会产生困惑,或者缺乏更有效率的认知策略,因此需要有教师对学习者的认知过程进行指导,教师在这里甚至应该发挥主导的作用,这样才能帮助学习者取得学习的最大成效[13]。
如前所述,Openlearn和Openstudy这两个出发点不同的项目,却在走向同一个目标:实现课程资源和社交学习的整合,实现优势互补,这是开放教育资源建设与应用的一个发展趋势。
对于我国的精品课程建设,Openstudy的启示尤其值得关注。目前我国的精品课程较多地停留在课程资源的提供上,而较少关注对学习者的指导[14]。诚然,依靠精品课程建设团队来为海量的学习者提供学习指导并不现实,但精品课程的建设可否参考Openstudy与MIT的合作案例,创建一个合理的机制,为学习者提供开放的、自由的交流平台,引导他们相互学习,从而提升精品课程的学习效果呢?
其实,类似Openstudy理念的项目在国内早有实践。早在2001年,国内就出现了一个名为“优异研究院”的研究性学习网站。这个网站允许来自全国各地不同的学生根据兴趣爱好组成一个个研究小组,同时允许各地的教师和成人申请成为研究指导教师,通过网络让研究小组和指导教师自愿结对形成一个个研究团队开展研究性学习。这个在今天看来依然具有较先进理念的尝试不到两年就宣告失败,原因是缺乏资金的支撑,没人愿意投钱给这种看不到经济利益的项目,而社会又缺乏足够的公益基金,这种局面一直延续至今。
对比“优异研究院”的失败与Openstudy的成功,可以说并没有理念上的本质差异,也不是技术手段的障碍,制约我国开放教育资源建设的一个重要原因在社会。因为体制的缘故,更因为市民阶层不发达,我国缺乏各种公益基金和非营利性组织,单纯依靠政府投资是不够的。据悉目前国家正在筹建开放大学,这对我国的开放教育是一个利好消息。但是,开放教育不能仅靠政府的推动,更多地需要依靠民间力量。而在国内相对民间力量薄弱的当下,不妨将目光投向国外,考虑从国外的基金申请资助来建设我们自己的开放教育资源项目。这种可能性不是没有,事实上,国外有很多基金在到处寻找有价值的项目。这里说的价值,更多的是指社会价值。开放教育的项目,通常都具有较高的社会价值,因此,获取国外相关基金的支持完全有可能,这也许是国内开放教育资源运动获取支持的另一种方式。
四 结语
开放教育资源作为一种平民化运动的反映在未来相当长一段时间内仍将得到持续发展,国内也是如此。未来我国开放教育资源发展可考虑两点:1、整合学习资源与学习指导―这是Openstudy给我们最大的启示;2、合作―开放教育资源的宗旨就是冲破一切束缚,面向世界上任何需要的人,提供教育服务,因此办开放教育,也应该突破惯有的思维。不仅要突破原有对“资源”的认识,努力整合各种可为教育服务的资源,也应拓宽眼界,寻找一切可能的支持,在世界大同的环境下实现教育的大同世界。
致谢:本文关于Openstudy的部分介绍,来自于对Openstudy创始人之一的Preetha Ram女士的在线访谈,学习流程图和平台结构图亦经Preetha Ram女士修订。关于“优异研究院”的部分介绍,来自于对“优异研究院”创始人之一的柳栋先生的在线访谈。特此致谢。
参考文献
[1] 杜文超,何秋琳,江丽君. 开启世界课程资源共享的先河-MIT OCW项目评析[J].现代教育技术, 2011, 21,(04):14-18.
[2] 可汗学院, 相关介绍参看《百度知道》中的“可汗学院”[OL].
[4] Gergely Csibra, György Gergely. Social learning and social cognition: The case for pedagogy [M]. Y. Munakata & M. H. Johnson (Eds.), Processes of Change in Brain and Cognitive Development. Attention and Performance, XXI. (pp. 249-274). Oxford: Oxford University Press, 2006.
[5] Openstudy.About Us[ DB/OL].省略/about-us>
[6] Audrey Watters. OpenStudy Teams Up With MIT OpenCourseWare to Help OCW Users Study Together[DB/OL].
[7] 武丽志,丁新. 学生支持服务:大卫•西沃特的理论与实践[J]. 中国远程教育, 2008, (1):25-29.
[8] 佘艳云,詹春青.开放学习的典范-英国开放大学OpenLearn评析[J]. 现代教育技术, 2011,21 (03):10-14.
[9] 焦建利,贾义敏. 国际开放教育资源典型案例_一个研究计划[J]. 现代教育技术, 2011, 21(01):9-13.
[10] 罗琳霞,丁新. 英国开放大学开放学习项目评述[J]. 开放教育研究, 2007, (8):109-112.
[11] 弗莱德•穆德.利用开放教育资源推进终身学习[J]. 开放教育研究, 2007, (8):32-37.
[12] 徐芳,孙晓青. 基于社会建构主义理论的网络异步交互活动设计[J]. 远程教育, 2011,( 2):68-72.
[13] 王策三,裴娣娜,丛立新. 教学认识论[M]. 北京:北京师范大学出版社, 2004:113-119.
[14] 杨玉芹,钟洪蕊. 国家精品课程网上资源教学设计与开发的内容分析研究[J]. 中国远程教育, 2008, (12):52-57.
Integration of Open Learning Resources and Social Learning: the Revelation of Openstudy
WANG Xiao-dongZHANG Li-chun
(Future Education Research Center, South China Normal University, Guangzhou,Guangdong 510631,China)
Abstract: Introduced the history and the development of Openstudy, discussed a typical case in Openstudy, showed the figure of the learning flow and the structure of the platform of Openstudy. The Comparison among Openstudy and few other open learning resources was listed, and found that the integration of resources and social learning is one of the trends of the development of Open learning resources. The revelation of Openstudy for China also be mentioned.
关键词:系统建模与仿真;Petri网;课程教学方法
作者简介:刘飞(1976-),男,山东平度人,哈尔滨工业大学控制与仿真中心,副教授,博士生导师。(黑龙江 哈尔滨 150080)
基金项目:本文系国家自然科学基金项目(项目编号:61273226)的研究成果。
中图分类号:G643.2 文献标识码:A 文章编号:1007-0079(2014)05-0099-02
Petri网是由德国科学家C. A. Petri于1962年在其博士学位论文“自动机通信”[1]中首次提出的,后来,Petri网为众多计算机科学家所认识和重视,成为计算机、自动化等学界的热门研究课题。Petri网已经广泛应用于计算机网络、通信协议、软件工程、柔性制造系统、离散事件动态系统、生物系统等众多领域。[2,3]目前,许多高校都开设了Petri网相关课程,但是他们通常只关注Petri网的理论和应用。与之不同的是,本课程“基于Petri网的系统建模与仿真”不仅讲授Petri网的基本理论和方法,而且重点讲授如何利用Petri网实现系统建模与仿真,目的是让研究生学习和掌握一种可视化的数学建模语言和方法,培养学生良好的思维习惯和逻辑能力。本文将对基于Petri网的系统建模与仿真课程的教学从教学目的、内容、方法等多个方面进行探讨和研究。
一、基于Petri网的系统建模与仿真课程的教学目的
Petri网是一种重要的离散事件建模方法,已广泛应用于各个领域的建模与仿真中,因此,笔者在教授本课程时,要教给学生一种强大的可视化建模与仿真方法,为学生开展建模与仿真研究奠定坚实的基础。
第一,通过课程学习让学生全面了解该领域研究现状、前沿、采用的主流研究方法,以及研究资料收集的一般途径和整理研究资料的常用工具。
第二,通过课堂讲授、文献讲解培养学生掌握Petri网的理论和方法;学习并掌握Petri网的仿真算法设计和实现;最终掌握基于Petri网的系统建模、仿真和分析方法;让学生熟悉这些方法的主要应用过程和应用范围,提高研究生对科学研究工作的系统认知。
第三,结合实验利用各种实例使学生能够在各自的领域内实际运用Petri网。Petri网是控制、计算机等多个学科中的重要工具,在多个领域具有重要的应用价值,掌握其应用能够为学生学习和今后工作打下基础。
二、教学内容的创新
本课程主要是讲授如何利用Petri网来实现系统的建模与仿真。由于教学目的与其它已有Petri网课程的教学目的不同,因此需要对教学内容进行创新。针对上述教学目的,本课程的讲授主要分为以下两个部分。
第一部分讲授Petri网的基本知识,包括概念、结构属性、行为属性和分析方法等,从而使学生首先了解和掌握Petri网的基本理论,为下一部分的讲授和Petri网的实际应用打下基础。
第二部分主要从系统建模与仿真的角度来讲授Petri网。首先讲授包含Petri网的各种扩展的建模框架,然后对随机、连续、有色等各种不同类型的Petri网分别进行讲授。讲授过程中重点关注如何利用各种不同类型的Petri网来建模不同应用领域的实际系统,如何设计不同的仿真算法来实现系统的仿真和分析等,最终使学生掌握基于Petri网的系统建模、仿真和分析方法。本课程的主要内容可以概括为图1。
本课程由哈尔滨工业大学控制与仿真中心开设,该课程的讲授将密切联系实际的工程项目,因此需要学生进行大量的计算机建模与仿真实验。
三、提高教学效果的措施
结合本课程的理论与工程密切结合的特点,笔者建议从以下几个方面开展教学活动。
第一,案例式课堂教学:根据本课程的具体教学内容,尽量多设计一些典型的案例,利用案例进行课堂讲授或者进行小组课堂讨论。例如,在讲授随机Petri网时,可以设计排队系统、Lotka-Voltera系统等多个案例来讲授随机Petri网的基本概念以及如何设计随机仿真算法。这样学生就会容易理解为什么会应用随机Petri网,如何设计和实现一个随机仿真算法等问题。
第二,研讨式文献阅读:针对课程的相关内容,给学生提供与之密切相关的典型学术论文,要求学生分组阅读和讨论,并递交简短研究报告,培养学生的科学研究能力。例如,针对文献,[3]让学生阅读并理解如何使用不同类型的Petri网来建模与分析同一个生物系统,从而使学生加深理解不同类型Petri网的建模能力。
第三,工具软件应用:Petri网是一种图形化建模软件,离不开工具的支持。因此,从课程的开始,就要求学生学习自己开发的工具软件Snoopy[3]的应用。利用Snoopy可以建立和分析该课程中所有类型的Petri网。不仅如此,与Snoopy配套的相关软件工具还可以对Petri网从行为属性、结构属性、模型检查等多个方面提供自动化的分析功能。针对课堂的每个知识点,要求学生能够自己应用工具软件去建立和分析Petri网模型。这不仅锻炼了学生使用工具软件的能力,更重要的是加深了学生对知识点的理解。
第四,计算机实验:本课程需要进行多个计算机实验,如连续仿真算法设计与实现、随机仿真算法设计与实现、利用Petri网建立相关系统的概念模型等。针对每个实验,需要为学生提供足够的上机时间,让学生去自己编程实现相关的仿真算法或者建立相关的模型进行仿真和分析等。不仅安排学生在实验室统一进行计算机实验,而且通过将实验进行分割要求学生平时自己安排时间完成相应的模块。此外,对于每个实验,都让学生分组完成,但是同一小组的学生需要分工明确。
第五,结合科研项目教学:目前,Petri网已经大量应用于现在正在进行的科研项目中,如复杂仿真系统概念建模与分析、仿真剧情校核与分析等。为了让学生深刻理解理论与实践的结合,有必要从科研项目中提取相关的研究内容,让学生去讨论和实践。例如,针对该课程的需要,对相关科研项目中的模型进行模块划分,然后让学生充分了解课题的背景,完成相应的模块。最后还要求学生对此做出总结,并汇报各自的心得。
第六,论文指导:让学生阅读典型的学术论文,引导他们提出研究问题,然后书写科研论文,从而培养他们科学研究的习惯和能力,这也可以作为课程的考核结果。如果有必要,可以鼓励学生发表与课程学习相关的学术论文。
第七,积极指导学生查询Petri网相关的期刊和会议等,扩展学生的知识面,引导他们早日进入科学研究的殿堂。
四、理论和实践相结合的考核方式
考虑到本课程理论与实践密切结合的特点,采用以下考核方式:
课程考试成绩:开卷考试,该成绩占课程总成绩的40%。
课堂讨论成绩:根据学生在课堂参与讨论的具体情况给定成绩,评分标准为积极参与次数、表达能力、分析能力等方面,该成绩占总成绩的20%。
Petri网课程论文成绩:根据学生提交的Petri网课程论文的原创性、文献综述的全面性、撰写论文的规范性、研究内容的系统性情况给定成绩,该成绩占总成绩的20%。
实验成绩:本课程是一门工程实践课程,需要进行多个计算机实验,因此实验成绩在最终考核中应该占有一席之地,如20%。
五、面向应用自编讲义
“基于Petri网的系统建模与仿真”是航天学院控制科学与工程学科的一门研究生课程,是硕士阶段研究生重要的理论与应用密切结合的课程,在培养高素质应用型、综合型人才方面起着重要的作用。但是目前,还没有任何一本教材能够完全覆盖所有的教学内容,因此笔者结合相关的文献编写了自己的讲义。
教材不仅分析了Petri网课程的主要知识点,还把知识传授和能力培养有机地结合起来,由从前的“知识型”讲授模式转向“知识能力型”,从而培养学生发现问题、解决问题的能力,提高学生的学习兴趣和创新思维,使学生能扎实地掌握和灵活运用所学知识。
教材是以服务教学为目的,在整体上形成知识网络或知识链,一方面保持自身的系统性,另一方面与直接关联的实际操作内容上相衔接,结合实验利用各种实例使学生能够在各自的领域内实际运用Petri网,使教材在内容组织上形成有机整体,并具有强大的可操作性。其中,Petri网的基本理论部分参考文献;[2,4-6]随机Petri网部分参考文献;[7-9]连续Petri网部分参考;[6,9]有色Petri网部分参考;[9,10]针对每种网类还加入如何利用Petri网实现系统建模与仿真。
六、德国的Petri网课程教学
Petri网为德国人所提出,并且德国在很多高校都开设了该门课程。根据笔者在德国的学习和工作经历,认识到德国大学的Petri网教学主要存在以下几个特点:课堂上老师与学生充分互动,使得学生通常能够在课堂上深入透彻地掌握所讲授的内容;充分利用Petri网工具来辅助课堂教学,认真细致地讲解如何用Petri网建立和分析每一个实例;将学生进行分组,合作完成课程作业和实践项目,并在课堂上进行讨论,分享心得。
这些好的教学手段都是应该借鉴的。在教学过程中,笔者将充分利用上述这些宝贵的经验来提高教学效果。
七、总结
本文对研究生课程“基于Petri网的系统建模与仿真”的教学进行了一些探讨,希望与同行进行交流或对同行提供一定的参考。由于该门课程具有较强工程背景,因此在讲授时不能完全采用传统的教学习惯,必须充分考虑理论与实践的密切结合。在以后的教学工作中,笔者还要根据学生的反应继续探索适合的教学手段和方法,为培养具有创新能力和研究能力的学生做出贡献。
参考文献:
[1]C.A.Petri.Kommunikation mit Automaten [D].Institut fu?r instrumentelle Mathematik,Bonn,1962.
[2]T.Murata.Petri Nets:Properties,Analysis and Applications[J].Proc.of the IEEE,1989,77(4):541-580.
[3]Chen Ming,Hofest? dt, Ralf (Eds.).Approaches in Integrative Bioinformatics-Towards Virtual Cell[M].Berlin:Springer,2013.
[4]M.Heiner,M.Herajy,F.Liu,等.Snoopy - a unifying Petri net tool [A].Proc.of PETRI NETS 2012,LNCS 7347[C].Berlin:Springer,2012:398–407.
[5]吴哲辉.Petri网导论[M].北京:机械工业出版社,2006.
[6]袁崇义.Petri网原理与应用[M].北京:电子工业出版社,2005.
[7]M.Heiner,D.Gilbert,R.Donaldson.Petri Nets for Systems and Synthetic Biology [A].LNCS 5016[C].Berlin:Springer,2008:215-264.
[8]林闯.随机Petri Nets和系统性能评价[M].北京:清华大学出版社,2005.