研究生专业学位课分布式系统的教学改革与实践
2015-02-27牛新征巴音桑侯孟书
牛新征,巴音桑,侯孟书
(电子科技大学 a.计算机科学与工程学院;b.政治与公共管理学院,成都 611731)
研究生专业学位课分布式系统的教学改革与实践
牛新征a,巴音桑b,侯孟书a
(电子科技大学 a.计算机科学与工程学院;b.政治与公共管理学院,成都 611731)
针对分布式系统教学中出现的内容枯燥难学、教学手段单一、理论与实际脱节等问题,分析了教学改革的目标,进行了教学形式、教学内容等方面的改革,提出了分布式系统教学案例的设计思路。教学实践表明,教学改革不仅取得了很好的教学效果,而且对学生学习能力和综合素质的提高有很大帮助。
分布式系统;教学改革;案例教学;实践教学
分布式系统是其组件分布在联网的计算机上,组件之间通过传递消息进行通信和动作协调的系统[1]。其重要特性是各种计算机之间的差别以及计算机之间的通信方式的差别对用户是隐藏的,用户看不见分布式系统的内部组织结构,并且用户和程序在任何情况下都能够以一致和统一的方式与分布式系统进行交互[2]。
随着计算机网络规模的扩大,分布式系统作为底层架构伴随着网络不断发展,分布式系统的架构在人们习以为常的日常服务上都有所体现。分布式系统包含了许多重要的技术发展,因此理解底层技术是现代计算知识的核心[3]。当前的分布式系统教学方式是偏重理论教学,而忽视实践教学。根据以往的教学经验,这样教学的结果往往是学生不能尽快理解那些抽象难懂的概念和复杂的技术体系,同时,学生无法深入认识基础理论和应用技术使用间的联系。因此,对于这门课程,在讲授基础理论的同时,更要注重对学生实际运用能力的培养,才能使学生真正掌握分布式系统的理论知识、基本技能,培养学生的实践能力,为以后的发展打下基础。
1 课程教学目标和特点
1.1 课程教学目标
1)学生理解、掌握分布式系统的基本概念和基本原理,构建知识网,解决以往学生学习该门课程时死记硬背的学习状况。
2) 根据课程中的基础知识,使学生掌握分布式系统的设计、分析与实现。
1.2 课程的特点
1)理论性强。由于考虑到讲授知识的整体结构,许多晦涩难懂的理论知识点会在课堂教学中有所涉及。因此,基础知识理论性强,概念抽象。
2)应用性强。要让学生深刻理解和掌握分布式系统的整个知识体系和知识要点,需要学生动手设计和实现。因此,该门课程应用性强,需要学习分布式系统的设计方法和相应技术等。
2 课程教学中存在的问题
分布式系统作为计算机体系的底层架构,涉及计算机网络中多方面的知识。并且,这门课程有着计算机网络、操作系统、面向对象编程等先修课程。初学这门课程时,学生容易产生望而生畏的感觉,主要是因为分布式系统理论体系过于庞大,知识点繁多且零碎,理论概念十分抽象。传统的教学只重视每个知识点的内容而疏忽了各个知识点之间的关系,无法使学生在头脑中构建一个完整的知识体系。如果用传统的教学方式来讲授分布式系统课程,学生无法感受分布式系统在实际工作中的应用,无法完全融入课堂中。
在实际教学中,本文发现有以下问题:
1)缺少实践、练习。教学内容繁多复杂,但教学课时十分有限,缺少让学生对知识的理解运用和实践的环节。传统教学以习题练习为主,学生只需要运用相应的理论知识,不需要怎么动手就能完成作业,真正需要动手锻炼的作业并不多,出现学习与应用脱节的现象。
2)理论过于抽象,缺少实例。在现行教学中,教师多是以课本为主,缺乏与实际运用相关的启发探究式的教学。应结合当下热门技术,将抽象的理论具体化。
3)重点不够突出,有些内容已经过时。在授课中,“眉毛胡子一把抓”,对于重要知识点和重要技术突出不够,部分内容已与当下环景脱节,学生无法领略到分布式系统的精髓。
4)缺乏整体框架,内容没有联系,忽略知识点之间的关系,不能成为一个体系。学生无法将教授的知识转化为自己的知识,达不到授课目的。
5)基础参差不齐。学生本科阶段对知识的理解不同,对先修课程的掌握不同,导致学生基础上的差异。应设置不同难度梯度,对基础不同的学生提供不同的引导。
6)教材、PPT质量不高,无法使学生提起兴趣,导致上课氛围差强人意,开小差的现象较多。
针对上述问题,本文结合以往的教学经验,与学生进行交流、分析,探讨分布式系统教学方法的改革。
3 课程教学改革的设计
由上面的分析可以得出,分布式系统课程知识点繁杂,如何在有限的课堂时间内引导学生掌握这门课程是我们教学改革的目标。在传统的教学中,由于教学学时有限,并且展示手段不够丰富,缺乏有效的实践环节,使学生无法构建全局的知识网,学生对知识点的理解只是停留在抽象的概念上。可见,该门课程教学改革最重要的部分是相应的案例与知识点结合以及实践教学的改革。
3.1 改革思路
根据教学目标,结合学生的培养计划,将晦涩难懂的理论知识点,通过与案例相结合的教学方法,以直观的形式讲述出来,提高学生的学习积极性。同时,利用现有的平台,使学生看见分布式系统的实际效果,激发学生动手的兴趣。教师作为一个引导者,引导学生实现相应的效果,就关键点进行讲解,可以达到事半功倍的效果。
3.2 教学形式的改革
为了解决教学形式单一,学生对知识点的理解不够透彻的问题,本文在课堂教学中提出以下3点解决方案。
1)课堂中以案例为主线进行教学。经由案例将分布式系统中的相关概念进行大致讲解,为学生构建大致架构,根据案例中分布式系统的开发贯穿整个课程,当遇到难点和理论模型时,结合案例进行必要的说明。例如,以Google的核心技术讲授来说明分布式设计,如表1所示。
表1 讲解Google的目的
2)实施学生分组作业。根据所讲案例,结合知识点,布置课后动手作业。尽量使布置的作业切合学生实际,具有一定的挑战性,但又是可以完成的。小组作业与课程进度保持一致,每讲完一个阶段的课程,让学生在课下使用刚学会的知识进行当前阶段的分布式系统设计。整个教学阶段都紧紧围绕在案例上,将知识点与实际紧密结合,以案例教学贯穿整个体系,如图1所示。
图1 案例与知识点结合的授课
3)老师以引导者的身份对学生进行引导,协助学生自主完成作业,并对作业中的问题以及创新点等进行课堂验证。
鉴于仅通过课堂讲解学生获取的知识过于片面零散,缺乏对分布式系统的系统认识,且由于分布式系统的基础性,在设计实验中本文以几个不同的分布式系统的设计与开发贯穿整个课堂,涵盖实践中的各个环节,以使学生更能全面认识分布式系统。
3.3 教学内容的改革
在教学中,对内容重新进行界定,把分布式系统分成4个板块,即分布式系统的基础、分布式系统的3性(一致性、容错性、安全性)、分布式系统的主流技术与应用、分布式系统的未来发展与前景。内容设计中,突出重点,对于已经过时和在先修课中学过的内容一笔带过,对重点、难点深入讲解并进行适当的扩展。
因为学生的基础参差不齐,教学中应设置不同难度和梯度的问题。采用分难度、分阶段实施的教学内容有以下3个方面。
1)在课堂中,以基础教学为主,做到让绝大多数学生能够听得清楚、明白,并且在课后抛出几个有意思的问题,让大家课后进行自主学习和思考。
2)采用分阶段的教学方式。在分阶段的课程中布置的作业,作为学生的平时成绩。
3)在最后的大作业考核中,学生已经掌握了课程的基本知识,想要提升对分布式系统的综合运用需要通过实践设计来体现。最后,以作业源码和课程设计报告作为这门课程成绩的重要组成部分。
3.4 教学资源的变化
目前,国内分布式系统的教材大多是以知识点构成各个章节,内容比较生硬,缺乏案例帮助学生理解相关的知识。同时,国外的翻译教材也很多,篇幅过长,学生学起来感觉信心不足。因而,选择教材十分重要。课程开始时向学生推荐经典且与实际相结合的教材,在此基础上,引导学生使用计算机等资源,学会自主阅读和学习。
同时,也有学生反映PPT的质量不高。应将PPT重新整合,紧贴课堂和教材内容,整合网上优秀资源,并将一些枯燥的文字转化为图像等多媒体内容,将PPT做得更为精美些,有利于学生更好地理解知识。
3.5 教学实践
在课堂教学中,案例的选取至为重要。好的案例可以使抽象的问题具体化,从而有效化解教学难点,使学生对相关原理和概念的理解更为深刻。在分布式系统教学中,本文以相关技术和平台作为讲解对象,便于学生理解课程,提高学生对分布式系统的兴趣。
Hadoop是一个具有高可靠性和高可扩展性的开发和运行处理大规模数据的软件平台, 能够提供海量的文件存储能力[4]。在之前讲述分布式文件系统时发现,用户的透明性需求十分重要,直接影响了用户体验,并且在一致性、安全性等问题上,用户也有不同的要求。我们需要一个能多方面满足要求的分布式系统来进行课堂讲解,便于将整体思维教给学生。通过比较分析不同的分布式系统,以Hadoop为教学案例进行讲解,可以将系统架构展示在学生面前,便于理解。在如图2所示的Hadoop框架上讲述Mapreduce如何处理海量数据的模式,并从中扩展开来,讲授Hadoop的整体架构与应用[5]。
图2 Hadoop架构
目前,已有多种网络服务采用了P2P 技术,主要有如下应用[6]:1)即时通信,用户之间可以用其进行快速、直接的交流,不依赖设备即可辨别用户,如QQ;2)文件存储与共享,用户之间不通过中央服务器即可共享资源,如BT下载等;3)对等计算,将网络中大量的PC连接起来利用其空闲时间可以完成复杂的高计算量的任务,如NAPSTER;4) 存储,将要存储的对象分散化存放在云端,分散单个服务器的数据流量,增加数据的传输速率。此类应用软件有各种云盘。
鉴于P2P技术突破了传统的C/S架构模式,具有非常好的拓展性,利用P2P技术的高拓展性,可以快速完成分布式系统中用户对文件数据的请求任务。P2P是以非集中方式使用分布式系统资源来完成关键任务的一类系统和应用。以P2P作为实例来辅助教学,不但能使学生体会到分布式系统的整体架构与分布式系统中的拓扑结构,还能明白如何使用分布式系统资源。为便于学生对知识点的掌握,并且能够理解现在热门的软件使用的技术,我们结合课堂教学,设计了两个课下作业进行实践:1)P2P聊天软件的设计;2)云盘系统的设计。
3.5.1 P2P聊天软件的设计
P2P是peer-to-peer的缩写,也被称为对等互联或点对点技术。每个计算机既是Client也是Server,可进行直接的点对点的数据传递。该作业由两部分构成:1)P2P聊天中各个成员的管理。每一个peer即为一个成员,对于peer的登记和更新由一个中心服务进行处理;2)多个peer间相互发送消息。
聊天服务端进行与客户端的连接,接收聊天消息,并根据要求将信息发送到其他参与聊天的客户或客户组中,实现对客户端登录用户的管理与控制,实现客户端聊天信息的监控与保存。聊天客户端进行与服务端的连接和维护,向服务端发送聊天信息并接受其他参与聊天的客户的响应。
通过设计在局域网中的P2P聊天软件的作业让学生加深对点对点间数据传递的理解,使学生了解网络中P2P方式,熟悉各种网络协议,实现基于服务器的数据交换,体会分析开发的全部过程,培养学生的分析和实践能力。对于设计中存在的问题,要求学生自主寻求解决方案,培养学生掌握分布式系统架构和在实际生活中的应用能力。
3.5.2 云盘系统的设计
云盘系统是通过互联网进行存储、下载等服务的系统。云存储技术的核心是分布式文件系统,利用分布式文件系统可以集群文件系统,并且保证其是安全和可靠的,还可以大规模地扩展支持系统[7]。在设计中要达到以下的目标:1)用户通过客户端进行注册、登录、注销;2)浏览HDFS中当前用户已经上传的文件;3)上传文件到当前用户目录;4)从当前用户目录下载文件到本地磁盘系统;5)删除当前用户目录下面的文件。
本次作业的目的是使学生深入理解分布式系统的架构,提高编写代码的能力,了解云盘系统主要的界面设计,服务接口的选择和设计,后台数据库的选择、分析和设计,实现发布与授权相关的数据处理。
收集学生对这两次作业设计提出的问题和建议,了解他们对分布式系统知识点的掌握和消化程度;从作业报告中得出学生对整个教学的意见,了解教学的效果,发现在教学中的问题,便于我们进一步的分析和改进。同时,对学生进行了考核,发掘学生的潜能,使学生在理解分布式系统的基础上,增强设计、动手能力,能与实际生活结合更紧密。
4 结束语
与传统的教学方法相比较,通过案例分析引导学生深入了解分布式系统,将理论与实际相结合,并从多方面进行改进,不仅提高了教学效率,还使学生的积极性与创造性进一步提升,加深了学生对整个分布式系统体系的认识,锻炼了学生实际操作与应用能力。但是在实际教学中需要教师付出更多的努力与精力,在细节方面还有一些可以商榷之处。我们将继续改进这种教学方法,进行进一步的尝试与探索。
[1]COULOURIS G,DOLLIMORE J,KINDBERG T,et al. 分布式系统概念与设计[M].5版.金蓓弘,马应龙,译. 北京: 机械工业出版社, 2013:
[2]TANENBAUM A S ,STEEN M van .分布式系统原理与范型[M].杨剑锋,常晓波,译.北京:清华大学出版社,2004:
[3]彭立志,陈贞翔,荆山,等.分布式系统在网络工程专业课程体系中的地位[J].计算机教育,2013(14):9-12.
[4]IT农夫.Hadoop概述:Hadoop是什么[EB/OL].[2014-08-10].http://blog.csdn.net/kkdelta/article/ details/7696025.
[5]王峰,雷葆华.Hadoop分布式文件系统的模型分析[J].电信科学,2010(12):95-99.
[6]周文莉,吴晓非.P2P技术综述[J]. 计算机工程与设计,2006,27(1):76-79.
[7]李林朋.浅析网盘系统结构中云存储技术[J].信息通信,2013(7):69.
Teaching Reform and Practice of Distributed System of Professional Degree Graduate Course
NIU Xinzhenga,Ba Yinsangb,HOU Mengshua
(a. School of Computer Science and Engineering; b. School of Political Science and Public Administration,University of Electronic Science and Technology of China,Chengdu 611731,China)
Aiming at the problems in the distributed system such as the boring teaching content difficult to study, single teaching means, the chasm between theory and reality, through the analysis of the goal of teaching reform, we discussed the teaching reform includes teaching form, teaching content reform, and teaching case design of distributed system. Finally, teaching practice showed that reform did not only achieve good teaching results in teaching, but also on the students’ learning ability and improving the overall quality of great help.
distributed system; teaching reform; case teaching; practice teaching
2014-09-21;修改日期:2014-09-26
电子科技大学2012年非全日制专业学位硕士研究生教研教改项目(ZY20120020);电子科技大学2013年研究生教研教改项目(YJX2013032)。
牛新征(1978 - ),男,博士,副教授,主要从事移动计算和数据库方面的研究。
A
10.3969/j.issn.1672-4550.2015.06.062