刘扬 王锋
摘 要:就当前分布式系统课程的教学存在的缺乏实践性教学、缺少案例分析问题,提出了结合区块链技术进行分布式系统课程改革的思路。分布式系统课程应该更加注重实践性、多元化和更新快的方式,以提高学生的学习效果和对分布式系统的理解。通过引入区块链技术案例,可以结合实际应用来讲解分布式系统相关概念和技术,增加学生的兴趣和掌握程度。在考核方面,除了传统方式,还采取小组项目作业和开放性项目评估等方法来测试学生的实际能力和成果。最终目的是让学生更好地理解分布式系统的工作原理和区块链技术的应用,同时培养他们的团队协作和创新能力。
关键词:课程改革;分布式系统;区块链技术;案例教学
Abstract:The lack of practical teaching and case analysis in the current distributed systems courses has led to the proposal of incorporating blockchain technology to reform the curriculum. The focus of the distributed systems course should be on practicality, diversity, and the ability to keep up with rapid advancements, aiming to enhance students' learning outcomes and understanding of distributed systems. By introducing blockchain technology cases, the course can illustrate concepts and technologies related to distributed systems through real-world applications, thereby increasing students' interest and mastery. In terms of assessment, in addition to traditional methods, group projects and open-ended project evaluations can be implemented to test students' practical skills and achievements. The ultimate goal is to enable students to better understand the workings of distributed systems and the applications of blockchain technology while fostering their teamwork and innovation abilities.
Keywords:Curriculum reform; Distributed systems; Blockchain technology; Case teaching.
一、概述
分布式系统是支撑大规模服务的网络化计算机系统,如今已成为支撑云计算、大数据等新型计算机应用的计算与存储基础设施和经济社会发展的重要信息基础设施。通过本课程的学习,研究生能够深入理解分布式系统的基本原理和设计思想,掌握分布式系统的设计方法和实现技术[1],能够根据应用场景和需求完成分布式应用系统的设计与优化,为从事分布式计算机系统及相关产品的研发工作奠定重要基础。
区块链技术的发展和应用逐渐成为了热点话题,其基于分布式系统的实现方式也受到了广泛关注。区块链是分布式系统的一个重要应用场景[2]。区块链的本质就是一种分布式系统,通过结合区块链的案例,可以更好地让学生了解分布式系统的实际应用。区块链技术具有很高的前沿性和应用价值。区块链技术在金融、物流、医疗等领域都有广泛的应用,结合区块链进行分布式系统教学,可以使学生了解到最新的前沿技术,并掌握更具市场需求的技能。区块链技术的复杂度和安全性都非常高[3],通过结合区块链案例进行分布式系统的教学,可以让学生更加深入地理解分布式系统的设计和实现原则,同时也可以让学生了解到如何保障分布式系统的安全性。
因此,在计算机专业教育中,将分布式系统课程与区块链案例结合进行课程教学,不仅可以帮助学生深入了解分布式系统的原理和实现,还能够让学生了解区块链技术的应用场景和实现方式,提高他们对分布式系统的认知水平。
区块链作为一种新型的分布式计算平台,已经与人工智能、量子信息、移动通信、物联网并列为新一代信息技术战略发展方向。本课程引入区块链作为教学案例,能够帮助学生更深入地理解分布式系统,从而建立区块链系统思维,具体创新点如下:
(1)案例教学强调培养学生的独立思考能力、系统思维方法和求知创新精神,强调理解分布式系统的设计与演化思路的理解,培养学生建立分布式系统思维能力,并运用区块链系统思维去分析和解决实际问题。
(2)从分布式系统角度对区块链所涉及的典型区块链体系架构等进行全面对比讲解,使学生能够搭建区块链平台,设计实现基于区块链的分布式应用系统,为今后从事分布式系统软件开发、区块链平台开发、区块链核心技术研发和工程应用打下坚实的基础。
(3)通过将区块链引入案例教学,引导学生学习领会习总书记在中央政治局第十八次集体学习中的讲话精神:“区块链技术的集成应用在新的技术革新和产业变革中起着重要作用,要努力让我国在区块链这个新兴领域走在理论最前沿、占据创新制高点、取得产业新优势”。以讲话精神为动力源泉,引导学生积极了解区块链上升为我国国家战略并作为核心, 技术自主创新的重要突破口的内涵意义。通过案例学习,掌握区块链技术的精神实质和内核,从而更好地将区块链技术应用于各行各业,推动产业变革,为国家战略新兴信息技术的发展和建设做出积极贡献。
将分布式系统课程与区块链案例结合进行课程教学有以下优点:
(1)课程实践性强。通过区块链案例,可以让学生更加深入地理解分布式系统的概念和原理,并且能够亲自实践相关技术,提高学生对于分布式系统的理解和掌握。
(2)激发学生兴趣。区块链是当下热门的技术之一,将其作为案例来教学,可以引起学生的浓厚兴趣,从而提高学习积极性。
(3)增加就业竞争力。区块链技术在金融、物流、医疗等领域都有广泛的应用,结合区块链的分布式系统教学,可以使学生掌握更具市场需求的技能,增加未来就业竞争力。
二、课程改革思路
目前,我们国家急需各类分布式系统人才,而区块链技术人才更是短缺。分布式系统人才在各类大数据中心建设、云计算基础设施建设方面能发挥才能。而区块链底层系统架构设计人才则需要掌握多项交叉学科的专业技能,并深入理解区块链底层设计原理,兼备分布式系统架构设计的经验,更要懂应用场景的具体业务逻辑。虽然已有部分高校展开交叉学科教育、区块链专项技能培训,但能够从分布式系统角度构建区块链应用系统的专业人才在市场上仍十分稀缺。因此,迫切需要加大分布式系统特别是区块链系统人才的培养,加快区块链技术与行业领域融合的创新型人才队伍建设,通过高校、企业、行业的联动,培养学科交叉、知识融合、技术集成的复合型人才,形成区块链理论研究型、技术研发型、应用集成型的人才梯队,取得人才合力和团队优势。
案例教学通过平时课堂讨论、自选课题汇报答辩和区块链平台实验进行考核,可以综合评价学生对课程核心知识的掌握情况,以及运用区块链思维解决实际工程应用问题的能力。自选课题汇报答辩主要考查学生的自主学习能力和技术探索能力,通过查阅相关技术文献和阅读源代码,采用自主选题的形式,进行小组汇报答辩。自主选题可以是区块链内核算法分析,也可以是某种区块链应用系统的设计与实现,重点考核对区块链系统架构和核心技术的认识水平,以及应用区块链思维解决工程问题的能力。
针对分布式系统课程的教学改革,也可以从学生需求和社会需求出发,推行以下策略:
(一)从学生需求出发,优化教学内容,改进教学模式
(1)建立特色教学体系。通过构建个性化的学习框架,搭建学科交叉的教学面,满足学生全面发展的需求。在课程初期讲授相关专业知识,为后续微服务技术的引入打下基础;中期选择与实际项目相关的案例进行案例教学;后期由学生自主设计项目方案,以支持学生的个性化发展[4]。
(2)优化教学内容。在课程安排上根据课程需要进行深化教学,在教学框架上分为理论基础,工程项目教学,开放性课题设计,并引入案例教学法,将课程内容项目化处理。
(3)改革教学方法和考核办法。引入案例教学法,让学生通过项目任务的完成来掌握知识点。改革考核方式,提高能力考核,锻炼学生的各方面能力。
(二)从社会需求出发,推动产学研合作
(1)建立长效合作机制。与企业建立合作关系,实现产学研一体化,让课程教学内容更加贴近实际需求。
(2)推行“走出去、请进来”的模式。教师和学生到企业实地参观考察,认识和发现工程问题[5],并邀请企业人员参与校内教学的建设和指导,使教学内容更加丰富。
(3)开展创新创业项目。通过开展创新创业项目,让学生深入了解市场需求,锻炼学生的创新能力和实践能力,为毕业后就业做好准备。
本课程合作单位为河南中盾云安信息科技有限公司(简称“中盾云安”),其在区块链领域具有坚实的研究和应用基础,能够为本项目提供区块链实验平台和行业应用案例,从而为本课程的顺利实施奠定良好的行业基础。
因此,针对分布式系统课程的教学改革,可以从多个方面进行优化,包括建立特色教学体系、优化教学内容、改革教学方法和考核办法等方面,同时与企业建立长效合作机制,推行"走出去、请进来"的模式,并开展创新创业项目,以满足社会对分布式系统领域专业人才的需求。
三、优化教学内容
《高级分布式系统》是一门探究性、实践性较强的课程,采用理论与实践相结合、课内与课外相结合的教学方式。在授课过程中引入案例教学,选择具有前沿代表性的分布式计算系统——区块链作为课程案例,从分布式系统理论和技术角度对区块链系统的内核关键技术进行对比介绍,搭建实验平台,让学生充分理解和掌握分布式系统的集中式、分散式、对等式等多种体系结构设计思想,分析和了解水平扩展、垂直扩展等系统扩展性方法的特点和应用场景,并从分布式一致性和容错角度理解区块链共识机制。通过案例教学,有利于培养学生对分布式系统前沿知识的敏感性和理解力,提高学生的动手能力和专业实践能力,并且培养学生的自主学习和终身学习能力,能够通过自主学习以适应经济社会发展的需要。
结合具体的区块链应用案例,如数字货币、供应链金融等,介绍区块链技术在实际应用场景中的应用过程和效果。通过对案例的深入分析和讨论,学生可以更好地掌握区块链技术在分布式系统中的应用方法和实现原理。具体的教学目标如下:
教学目标1.掌握分布式系统相关概念、原理和方法,理解比特币、以太坊、超级账本三种主流的区块链系统技术架构,初步建立分布式系统能力思维。
教学目标2.掌握数字签名、hash函数、共识机制、P2P网络、智能合约等区块链核心技术和方法,学会运用分布式一致性和分布式系统容错等思想理解区块链系统的特征和设计思路。
教学目标3.了解区块链在各行业中的应用需求,学会运用区块链系统思维分析与设计各行业的实际应用问题。
教学目标4.阅读和学习区块链相关的国内外文献,了解区块链系统的优势与劣势,以及未来发展与演化趋势。
案例教学通过平时课堂讨论、自选课题汇报答辩和区块链平台实验进行考核,可以综合评价学生对课程核心知识的掌握情况,以及运用区块链思维解决实际工程应用问题的能力。自选课题汇报答辩主要考查学生的自主学习能力和技术探索能力,通过查阅相关技术文献和阅读源代码,采用自主选题的形式,进行小组汇报答辩。自主选题可以是区块链内核算法分析,也可以是某种区块链应用系统的设计与实现[6],重点考核对区块链系统架构和核心技术的认识水平,以及应用区块链思维解决工程问题的能力。
通过案例教学和相关考核,能够完全覆盖“课程目标1.掌握区块链相关概念、原理和方法,理解比特币、以太坊、超级账本三种主流的区块链系统技术架构,初步建立分布式系统能力思维”、“课程目标2.掌握数字签名、hash函数、共识机制、P2P网络、智能合约等区块链核心技术和方法,学会运用密码学和分布式一致性等思想理解区块链系统的特征和设计思路”、“课程目标3.了解区块链在各行业中的应用需求,学会运用区块链思维分析与设计各行业的实际应用问题”,和“课程目标4.阅读和学习区块链相关的国内外文献,了解区块链系统的优势与劣势,以及未来发展与演化趋势”。
本课程引入区块链作为分布式系统的教学案例,通过对区块链这一分布式计算平台的深入学习和实验验证,提高对分布式系统的原理、概念和技术的认识理解。通过案例教学,学会从区块链系统角度理解DC/EP的思想、原理和发展目标,理解我国为什么要打击ICO、挖矿、虚拟数字货币交易等行为,对比特币等虚拟数字货币有更加深入和清醒的认识,同时也更加支持我们国家发展法定数字货币,拥抱DC/EP,拥抱区块链。
本课程内容分为基础知识篇、思维角度篇和应用案例篇3个模块,如图1所示。基础知识篇介绍分布式系统与区块链的发展,初步了解分布式系统的基础知识,引入区块链与分布式系统的联系,为后续学习奠定基础。思维角度篇通过从通信、一致性、可扩展性等不同的角度来看区块链,更深入了解区块链的特性,进而理解分布式系统这把“双刃剑”。应用案例篇将高级分布式系统课程与区块链创新应用案例相结合,通过对区块链案例的分析,了解分布式系统的设计和构建,深入理解分布式系统的底层架构。
图1 课程内容模块
四、案例教学设计
本案例教学以“学生主体、团队合作、教师辅导”为教学思想,以课堂讲授为主,通过“互动、开放”的课堂形式,采用探究式学习、问题导入式的教学方法,激发学生的学习兴趣。通过课堂讨论和课后实验,督促学生积极开展自学和文献资料查阅,加深对教学内容的理解[7],并能够依据当前热点问题发表自己的见解,达到教学目标的要求。本课程是将区块链作为分布式系统的教学案例,在讲解分布式系统的过程中引入区块链平台和实验,从而对分布式系统的体系架构、技术和方法有更加深入的认识,建立分布式系统思维能力的同时构建区块链系统思维[8]。本教学的内容框架如下:
图2 教学内容框架设计
第一章 分布式系统概论:介绍区块链系统的异步、共识、一致性、拜占庭容错等核心概念。通过对这些核心概念的理解,进一步来掌握CAP理论、FLP理论、BASE理论、ACID理论、一致性理论等分布式系统的基本理论和思想,并将其与区块链的基本原理和技术进行对比和联系。
第二章 分布式系统体系结构:通过对比特币、以太坊、超级账本等主流区块链系统技术架构进行比较,初步建立分布式系统能力思维。这些区块链系统代表了不同的设计理念和架构,通过研究它们,以便进一步理解分布式系统的集中式、分散式、对等式等多种体系结构设计思想,以及水平扩展、垂直扩展等系统扩展性方法。
第三章 分布式通信机制:介绍区块链底层网络系统,包括P2P对等网络以及Gossip协议等。从区块链底层网络系统的角度出发,深入理解其关键技术,并进一步探索和理解分布式系统的网络机制和通信技术。通过更全面地理解区块链技术与分布式系统的关系,为进一步研究和应用高级分布式系统提供扎实的基础。
第四章 分布式命名与资源管理:介绍区块头、区块体、Merkle树、hash函数等区块组织机构与查询方法。理解高级分布式系统中结构化命名与非结构化命名等资源管理技术。
第五章 分布式系统的同步与并发机制:介绍公链与联盟链中不同的智能合约执行模式,和交易并发控制方法。理解分布式进程同步与互斥、分布式系统并发控制与死锁处理等关键技术。
第六章 分布式共识与一致性:介绍分布式一致性和容错等思想理解区块链系统的共识机制与算法。理解分布式系统的容错模型,分布式一致性理论。
第七章 总结与展望:结合区块链技术的应用案例,包括供应链金融、存证确权、物联网和NFT领域。通过深入分析和讨论这些区块链应用案例,学生们可以更好地理解和应用高级分布式系统的理念和设计原则。
五、课程改革考核方法
在考核方面,除了传统的笔试方式外,采用开放性的项目评估,让学生利用所学知识和技能去解决一个具体的问题,并形成报告。加入小组区块链应用场景项目合作,答辩演示作为分布式系统课程改革的考核方法,此外,使用小组合作的形式,让学生合作完成一项具有挑战性的任务,以测试他们的团队协作和沟通能力。这些方法可以帮助学生更全面地了解分布式系统和区块链技术,同时也能够衡量学生的实际能力和成果[9]。
参与小组项目合作可以让学生将所学知识应用到实际项目中去,更好地理解和掌握分布式系统的应用和实现,从而提高实践能力。小组项目合作需要学生进行合作沟通、任务分配以及协同工作等,可以有效培养学生团队合作意识和能力。在小组项目合作中,学生需要自主设计项目方案,思考创新点,这有助于培养学生的创新思维能力。小组项目合作可以让学生将所学知识与实践相结合,更好地理解和应用分布式系统相关的知识。通过演示答辩,学生需要将自己的项目成果清晰地表达出来,从而提高演示答辩能力,同时也有助于展示学生的学习成果和实践能力。
因此,将小组项目合作和演示答辩加入到高级分布式系统课程改革的考核,有利于学生综合能力的提升,更好地实现知识与实践相结合[10]。
结语
引入案例教学进行“高级分布式系统”研究生课程教学改革一种非常有意义的方法。通过案例教学和多种考核方式,可以帮助学生更全面地了解分布式系统和区块链技术,并测试他们的实际能力和成果。结合区块链技术进行分布式系统的教学可以提高学生的实践能力和掌握程度,同时激发学生的兴趣,增加就业竞争力。
未来,我们应该注重对于分布式系统相关知识的深入挖掘和创新,在教学中注重理论与实践相结合、灵活性和实用性,培养学生跨领域思维和团队协作精神。通过引入案例教学等有效教学方法,我们可以更好地解决分布式系统教学中存在的问题,提高学生的实践能力和掌握程度,从而更好地满足市场需求,促进学生的职业发展和社会进步。
参考文献:
基金项目:河南省研究生教育改革与质量提升工程项目(No.YJS2022AL041); 河南省高等教育教学改革研究与实践(学位与研究生教育)重点项目(No.2021SJGLX031Y); 河南省教育科学规划重大招标课题(No.2021JKZB07)
作者简介:刘扬(1978—),女,河南洛阳人,博士,河南工业大学研究生院副院长,博士生导师,研究方向:分布式计算、云计算、区块链;王锋(1974—),男,河南郑州人,博士,河南工业大学信息科学与工程学院副教授,硕士生导师,研究方向:区块链、图像处理、物联网技术。