论文部分内容阅读
摘 要:当前,“双万计划”已将突出新工科的示范领跑作用作为核心任务之一。在各类高校鼓励课程分类发展、特色发展之际,探索跨学科实践课程的开设为跨领域复合型人才的培养提供基础。区块链技术及应用正是顺应行业当前发展新设的专业课程,涵盖信息、经济、知识产权、网络安全等学科,在课程设置和学生培养中占有重要地位。根据课程的特点,将理论教学与项目实践有机结合,制订符合专业现状的教学优化方案。项目型实践教学以学生项目团队为单位,模拟实际企业中为特定客户开发、运营区块链系统的过程,在实战中掌握和巩固课程知识的方法。这种方法对本科生综合素质和能力的培养有积极的意义。通过合理地项目组织、规划和实践,顺利地完成了教学实践,取得了较好的教学效果。
关键词:新工科;跨学科课程;实践类教育;区块链;项目实施过程
中图分类号:G642 文献标志码:A 文章编号:2096-000X(2020)04-0075-03
Abstract: At present, the "Double Ten Thousand Plan" has made it a core task to highlight the leading role of new engineering disciplines.With encouraging the classified and characteristic development of college courses, various universities are exploring the offering of interdisciplinary practical courses which provide the knowledge basis for inter-field talents. Blockchain technology is a new professional course with current industry development. It involves information, economy, intellectual property rights, network space security and other disciplines. This course plays an important role in course arrangement and undergraduate training. According to the characteristics of this course, the theory and practical teaching has been combined to formulate the teaching optimization program which conforms to the professional status. Project-based practical teaching method divides students into several project teams. This course simulates the processes of developing and operatingblockchain system for specific customers in real enterprises. This practical method has positive significance for the cultivation of undergraduate's comprehensive abilities. Through course organization, planning and practice, the teaching practice has been successfully completed and achieved positive effect.
Keywords: new engineering; interdisciplinary course; practical education; blockchain; project implementation process
区块链技术及应用课程是普通高等学校计算机科学与技术、软件工程、网络空间安全、法学、应用经济学等众多一级学科新设的跨专业选修课程。通过区块链理论、开发工具、使用方法的讲授,该课程让本科生掌握数字资产、初步编程、密码技术、分布式一致性等基础知识,培养其应用区块链技术,准确分析各行业中存在的去中心化信任、公开透明、不可篡改、不可伪造以及跟踪溯源等安全问题,并能设计和使用区块链以实现各行业的数字资产配置。
然而,作为一种新型的底层架构,区块链系统包含了许多重要的技术成果,因此理解区块链底层技术是掌握去中心化分布式系统的核心。当前的众多跨学科课程讲授方式以理论教学为主。由于涉及跨学科知识,教师在基础理论讲授时往往集中于方法的传授,以使跨专业的学生能掌握、理解。然而,离开了实践教学,往往使学生不能充分理解复杂的技术结构,缺乏应用与实践能力。对于区块链技术及应用课程来說,实践能使学生快速掌握区块链理论体系及其应用场景。因此,在讲授基础理论、工具和方法的同时,更要注重对学生实际运用能力的培养,提升学生实践能力。
针对这些问题,区块链技术及应用课程进行相关的教学实践改革是必要的。当前,让跨学科的学生在实践中掌握课程内容、方法和技能是一件极具挑战性的工作。从区块链行业对本学科应届生的反馈信息来看,智能合约(链码)开发、链的改造、互联网法院的建设、企业资产数字化以及系统性能优化是实际企业和事业单位所需区块链人才必须具备的重要技能。为此,需要探索新的教学方法,将课堂教学与企业化项目中实际的链改造、场景应用开发和性能分析有机地联系起来。 一、区块链教学存在的问题
区块链技术涉及密码学、分布式存储、点对点传输等信息技术,以及经济学、知识产权、传播学的多学科融合,这使得区块链软件项目本身是一个复杂的系统工程。区块链课程实践性很强,同时课程涉及的内容多、发展快,对教與学都是挑战。
在实际教学中,本文发现存在以下诸多问题:
1. 缺少实践、应用。课程涉及的众多学科包含了大量的教学内容,许多知识点需要具备或掌握复杂的先修课程,但受限于教学课时,缺少让学生对知识的运用和实践的环节。理论教学以课堂问答、课后习题为主,学生只需要记忆相应的理论知识,缺乏参与软件系统设计、开发和运营的机会,理论与实践脱节。
2. 技术体系复杂,难以理解。在现行教学中,教师多是以课本为主,缺乏与实际运用相关的实践式教学。应结合当下司法存证、溯源等热门场景应用,将抽象的区块链理论具体化。
3. 缺乏整体框架,忽略知识点之间的关系,不能成为一个完整的知识体系。学生无法将教授的密码学、程序设计、内存数据库、共识机制以及点对点传输技术转化为自己的知识,达不到授课目的。
4. 学科背景千差万别。跨学科学生本科阶段对知识的理解不同,先修课程的设置不同,导致学生理论基础上的差异。应设置不同难度梯度,对基础不同的学生提供区块链系统开发、应用开发、平台运营等不同的引导。
5. 软件开发是一种智力劳动,生产中人力资本起决定性作用。早期的区块链开发的个人单打独斗的软件开发方式导致项目开发与管理过程不规范。
6. 区块链系统源代码高度精炼,其阅读与理解需要具有较为丰富的知识储备,学生理解困难。
7. 软件系统的实践与开发主观性太强,设计与实现结果以源代码形式为主。除部分学生外,不少学生从互联网抄袭源代码,实践效果难以得到保证。
针对这些问题,区块链技术及应用课程的教学更加要注重实践,通过实践操作使学生真正掌握相关内容。
二、区块链课程的教学实践探索
(一)课程目标
本课程的整体目标是通过将实践引入教学,引导学生对区块链形成清晰的理解,对数字资产形成正确的认识。在熟悉区块链的具体技术细节的同时,掌握区块链软件系统开发的一般化方法,将软件工程的规范化开发方法和加密技术融入区块链智能合约的设计与开发,对实际软件工程项目中出现的问题灵活应对,为新业态、新模式数字经济的发展做好技术准备。在课程结束后,学生应该具备的能力如表1所示。
(二)课程教学方式
在区块链技术及应用课程中,教师根据教学大纲要求,项目交由学生自己来开发和管理,但教师应耐心、详尽地解答学生提出的问题。本过程的教学难点在于教师指导学生如何依据需求完成链改或智能合约的开发,既使学生有足够的自由度来充分完成创新性工作,又不至于范围过大,以致不能按时完成实践环节。
为此,课程给出学生在区块链项目实施过程中必须完成的10项工作:
1. 角色选择
为了模拟实际的企业环境,除了区块链开发项目团队的CEO由教师来担任,其他重要的角色均由学生负责。该工作能使学生掌握表1中A技能。
2. 召开项目会议
区块链开发项目组安排定期的会议,以完成项目组成员间的协调和沟通工作。每日例会的与会人员包括所有成员和CEO,并要求撰写会议纪要。该工作能使学生掌握B、C、D技能。
3. 需求捕获
应用场景的需求需要团队自己收集。因此,开发团队在掌握区块链开发工具的基础上,需要安排时间与客户见面来获取需求。客户是由本团队的学生担任,而且客户的数量可能会多于1名。这样,需求捕获的难度将随之增加,并且项目经理需要针对不同客户提出的需求进行优先级排序。该工作能使学生掌握B、C、D技能。
4. 可行性研究
可行性研究以业务案例作为交付件,该文档提供了确定项目能否被立项的主要依据。为此,学生应通过可行性研究来分析项目优先级,以便在经费和进度均受限时,说服项目发起人,投资自己的项目。该工作能使学生掌握B、C、D技能。
5. 系统构建
在业务案例评审结束后,学生被要求采用迭代化方法来进行区块链开发。在系统的设计形成阶段、开发阶段、测试阶段和收尾阶段均需完成迭代化的启动、规划、实施、监控和收尾过程。迭代化方法能够让学生逐步掌握控制项目实施和获取客户反馈的技能。该工作能使学生掌握B、C、D技能。
6. 进度报告
在区块链项目全生命周期中,所有的学生需要对其在项目中所承担的各项里程碑和交付件提交进度报告。该文档须反映出原规划时间以及实际的进度偏差,以此作为项目整体监控的依据之一。进度报告的制订能让学生在进度资源受限的情况下,学习如何控制项目范围以规避风险。该工作能使学生掌握B技能。
7. 组织结构转变
学生团队在组建的初期,通常会采用传统的组织架构,即假定成员来自不同的职能部门,例如项目管理办公室、研发部、财务部等。此时,教师应鼓励团队采用混合架构,该工作有助于学生了解不同的组织架构,并能使学生掌握A技能。
8. 过程改进
每次评审会议要着重让学生讨论工作完成情况,解决“哪些工作完成的不错?”“存在哪些不足?”“在下次的过程迭代中如何改进?”等问题。该工作能使学生掌握C技能。
9. 现场陈述
在项目收尾前,教师要求学生进行现场陈述,以锻炼其向客户自信地展示区块链系统的能力。该工作能使学生掌握B、C技能。
10. 组织资产管理
在项目收尾后,学生应提交项目总结报告,以归档和分析项目经验、教训。本工作能有力地提升团队和个人的开发能力,并实现过程改进。该工作能使学生掌握D技能。 课程考核则基于学生对区块链开发技能的掌握来进行。成绩评定分为开发过程成绩评定和交付件成绩评定。对于过程评定,教师应关注学生是否具备发现问题、解决问题的能力。这一评定应在教师参与项目组的评审会议时完成。除此之外,过程评定的另一依据是学生提交的进度报告。该文档可反映出学生的工作情况,以及对进度绩效的控制能力。交付件评定不但关注实际交付区块链系统的质量和功能,而且需要评定学生所提交开发文档的清晰性和正确性。
三、区块链教学的效果分析
区块链技术及应用课程为2个学分,持续16周。在2019年春季的学生人数为43人,被分成7个项目团队。每个团队包括项目经理、开发人员、产品销售人员、财务人员、质量保证人员、客户等角色。每个学生被要求在课外每周至少花费4个小时完成软件项目工作。这样,学生实际投入课程的学习时间达96个小时。从学生性别来看,学习该课程的学生中,男生占79%、女生占21%;从学生专业来看,计算机类专业学生占40%、网络空间安全专业学生占27%、经管类专业学生占21%、知识产权类专业学生占9%、其他专业学生占3%;从生源地来看,内地学生占67%、外招(含港澳台)学生占33%。
本课程的理论教学与软件实践同步进行。软件项目的实践包括司法存证、信息共享、链改、供应链金融、资产数字化、物流链、版权保护,具体选题由各团队的项目经理抽签决定。开发人员负责完成本项目的设计、实现与部属等工作。项目开发过程中涉及的具体工具和开发平台则由各团队自行确定。
从教学效果来看,实践教学有效地加深了学生对课程理论知识的掌握,并让学生体会到了团队协作在项目实施过程中的重要性。通过近80小时的项目锻炼,学生的开发能力有了显著地提高,创新能力和学习的主动性也得到了增强。
四、结束语
实践教学方法有利于培养高质量的复合型人才。对本课程学生进行调查,有93%的学生对该教学方法持肯定态度。实践教学方法有效地解决了区块链教学与工程实践脱节的问题,激发了学生的学习兴趣,培养了学生学习的主动性和项目开发能力,锻炼了学生的沟通、团队协作和表达能力。在今后的教学过程中,为进一步提高项目实施效果以及充分考虑各团队间的差异,可尝试让学生自行提出场景选题。
参考文献:
[1]李玉倩,蔡瑞林,陈万明.面向新工科的集成化产教融合平台构建——基于不完全契约的视角[J].中国高教研究,2018(3):38-43.
[2]宫法明,李克文,崔学荣,等.新工科背景下IT类专业人才培养与教育改革[J].高教学刊,2018(15):163-165.
[3]何敏.實践类双语课程教学改革探索——以《国际商务谈判》课程为例[J].高教学刊,2015(14):85-87.
[4]王晓明.基于学生自主和协作学习的数据结构实验教学模式探索与实践[J].高教学刊,2015(22):229-230.
[5]杨天奇.研究生课程的“任务驱动式”教学方法探索[J].暨南高教研究,2012(1).
[6]Marques Maira. Enhancing the Student Learning Experience in Software Engineering Project Courses. IEEE Transactions on Education,2018,61(1): 63-73.
[7]陆国栋,李拓宇.新工科建设与发展的路径思考[J].高等工程教育研究,2017(3):20-26.
[8]陈亚玲.论跨学科能力培养与我国工程实践教育改革:以南京理工大学为例[J].高教探索,2015(10):73-76.
关键词:新工科;跨学科课程;实践类教育;区块链;项目实施过程
中图分类号:G642 文献标志码:A 文章编号:2096-000X(2020)04-0075-03
Abstract: At present, the "Double Ten Thousand Plan" has made it a core task to highlight the leading role of new engineering disciplines.With encouraging the classified and characteristic development of college courses, various universities are exploring the offering of interdisciplinary practical courses which provide the knowledge basis for inter-field talents. Blockchain technology is a new professional course with current industry development. It involves information, economy, intellectual property rights, network space security and other disciplines. This course plays an important role in course arrangement and undergraduate training. According to the characteristics of this course, the theory and practical teaching has been combined to formulate the teaching optimization program which conforms to the professional status. Project-based practical teaching method divides students into several project teams. This course simulates the processes of developing and operatingblockchain system for specific customers in real enterprises. This practical method has positive significance for the cultivation of undergraduate's comprehensive abilities. Through course organization, planning and practice, the teaching practice has been successfully completed and achieved positive effect.
Keywords: new engineering; interdisciplinary course; practical education; blockchain; project implementation process
区块链技术及应用课程是普通高等学校计算机科学与技术、软件工程、网络空间安全、法学、应用经济学等众多一级学科新设的跨专业选修课程。通过区块链理论、开发工具、使用方法的讲授,该课程让本科生掌握数字资产、初步编程、密码技术、分布式一致性等基础知识,培养其应用区块链技术,准确分析各行业中存在的去中心化信任、公开透明、不可篡改、不可伪造以及跟踪溯源等安全问题,并能设计和使用区块链以实现各行业的数字资产配置。
然而,作为一种新型的底层架构,区块链系统包含了许多重要的技术成果,因此理解区块链底层技术是掌握去中心化分布式系统的核心。当前的众多跨学科课程讲授方式以理论教学为主。由于涉及跨学科知识,教师在基础理论讲授时往往集中于方法的传授,以使跨专业的学生能掌握、理解。然而,离开了实践教学,往往使学生不能充分理解复杂的技术结构,缺乏应用与实践能力。对于区块链技术及应用课程来說,实践能使学生快速掌握区块链理论体系及其应用场景。因此,在讲授基础理论、工具和方法的同时,更要注重对学生实际运用能力的培养,提升学生实践能力。
针对这些问题,区块链技术及应用课程进行相关的教学实践改革是必要的。当前,让跨学科的学生在实践中掌握课程内容、方法和技能是一件极具挑战性的工作。从区块链行业对本学科应届生的反馈信息来看,智能合约(链码)开发、链的改造、互联网法院的建设、企业资产数字化以及系统性能优化是实际企业和事业单位所需区块链人才必须具备的重要技能。为此,需要探索新的教学方法,将课堂教学与企业化项目中实际的链改造、场景应用开发和性能分析有机地联系起来。 一、区块链教学存在的问题
区块链技术涉及密码学、分布式存储、点对点传输等信息技术,以及经济学、知识产权、传播学的多学科融合,这使得区块链软件项目本身是一个复杂的系统工程。区块链课程实践性很强,同时课程涉及的内容多、发展快,对教與学都是挑战。
在实际教学中,本文发现存在以下诸多问题:
1. 缺少实践、应用。课程涉及的众多学科包含了大量的教学内容,许多知识点需要具备或掌握复杂的先修课程,但受限于教学课时,缺少让学生对知识的运用和实践的环节。理论教学以课堂问答、课后习题为主,学生只需要记忆相应的理论知识,缺乏参与软件系统设计、开发和运营的机会,理论与实践脱节。
2. 技术体系复杂,难以理解。在现行教学中,教师多是以课本为主,缺乏与实际运用相关的实践式教学。应结合当下司法存证、溯源等热门场景应用,将抽象的区块链理论具体化。
3. 缺乏整体框架,忽略知识点之间的关系,不能成为一个完整的知识体系。学生无法将教授的密码学、程序设计、内存数据库、共识机制以及点对点传输技术转化为自己的知识,达不到授课目的。
4. 学科背景千差万别。跨学科学生本科阶段对知识的理解不同,先修课程的设置不同,导致学生理论基础上的差异。应设置不同难度梯度,对基础不同的学生提供区块链系统开发、应用开发、平台运营等不同的引导。
5. 软件开发是一种智力劳动,生产中人力资本起决定性作用。早期的区块链开发的个人单打独斗的软件开发方式导致项目开发与管理过程不规范。
6. 区块链系统源代码高度精炼,其阅读与理解需要具有较为丰富的知识储备,学生理解困难。
7. 软件系统的实践与开发主观性太强,设计与实现结果以源代码形式为主。除部分学生外,不少学生从互联网抄袭源代码,实践效果难以得到保证。
针对这些问题,区块链技术及应用课程的教学更加要注重实践,通过实践操作使学生真正掌握相关内容。
二、区块链课程的教学实践探索
(一)课程目标
本课程的整体目标是通过将实践引入教学,引导学生对区块链形成清晰的理解,对数字资产形成正确的认识。在熟悉区块链的具体技术细节的同时,掌握区块链软件系统开发的一般化方法,将软件工程的规范化开发方法和加密技术融入区块链智能合约的设计与开发,对实际软件工程项目中出现的问题灵活应对,为新业态、新模式数字经济的发展做好技术准备。在课程结束后,学生应该具备的能力如表1所示。
(二)课程教学方式
在区块链技术及应用课程中,教师根据教学大纲要求,项目交由学生自己来开发和管理,但教师应耐心、详尽地解答学生提出的问题。本过程的教学难点在于教师指导学生如何依据需求完成链改或智能合约的开发,既使学生有足够的自由度来充分完成创新性工作,又不至于范围过大,以致不能按时完成实践环节。
为此,课程给出学生在区块链项目实施过程中必须完成的10项工作:
1. 角色选择
为了模拟实际的企业环境,除了区块链开发项目团队的CEO由教师来担任,其他重要的角色均由学生负责。该工作能使学生掌握表1中A技能。
2. 召开项目会议
区块链开发项目组安排定期的会议,以完成项目组成员间的协调和沟通工作。每日例会的与会人员包括所有成员和CEO,并要求撰写会议纪要。该工作能使学生掌握B、C、D技能。
3. 需求捕获
应用场景的需求需要团队自己收集。因此,开发团队在掌握区块链开发工具的基础上,需要安排时间与客户见面来获取需求。客户是由本团队的学生担任,而且客户的数量可能会多于1名。这样,需求捕获的难度将随之增加,并且项目经理需要针对不同客户提出的需求进行优先级排序。该工作能使学生掌握B、C、D技能。
4. 可行性研究
可行性研究以业务案例作为交付件,该文档提供了确定项目能否被立项的主要依据。为此,学生应通过可行性研究来分析项目优先级,以便在经费和进度均受限时,说服项目发起人,投资自己的项目。该工作能使学生掌握B、C、D技能。
5. 系统构建
在业务案例评审结束后,学生被要求采用迭代化方法来进行区块链开发。在系统的设计形成阶段、开发阶段、测试阶段和收尾阶段均需完成迭代化的启动、规划、实施、监控和收尾过程。迭代化方法能够让学生逐步掌握控制项目实施和获取客户反馈的技能。该工作能使学生掌握B、C、D技能。
6. 进度报告
在区块链项目全生命周期中,所有的学生需要对其在项目中所承担的各项里程碑和交付件提交进度报告。该文档须反映出原规划时间以及实际的进度偏差,以此作为项目整体监控的依据之一。进度报告的制订能让学生在进度资源受限的情况下,学习如何控制项目范围以规避风险。该工作能使学生掌握B技能。
7. 组织结构转变
学生团队在组建的初期,通常会采用传统的组织架构,即假定成员来自不同的职能部门,例如项目管理办公室、研发部、财务部等。此时,教师应鼓励团队采用混合架构,该工作有助于学生了解不同的组织架构,并能使学生掌握A技能。
8. 过程改进
每次评审会议要着重让学生讨论工作完成情况,解决“哪些工作完成的不错?”“存在哪些不足?”“在下次的过程迭代中如何改进?”等问题。该工作能使学生掌握C技能。
9. 现场陈述
在项目收尾前,教师要求学生进行现场陈述,以锻炼其向客户自信地展示区块链系统的能力。该工作能使学生掌握B、C技能。
10. 组织资产管理
在项目收尾后,学生应提交项目总结报告,以归档和分析项目经验、教训。本工作能有力地提升团队和个人的开发能力,并实现过程改进。该工作能使学生掌握D技能。 课程考核则基于学生对区块链开发技能的掌握来进行。成绩评定分为开发过程成绩评定和交付件成绩评定。对于过程评定,教师应关注学生是否具备发现问题、解决问题的能力。这一评定应在教师参与项目组的评审会议时完成。除此之外,过程评定的另一依据是学生提交的进度报告。该文档可反映出学生的工作情况,以及对进度绩效的控制能力。交付件评定不但关注实际交付区块链系统的质量和功能,而且需要评定学生所提交开发文档的清晰性和正确性。
三、区块链教学的效果分析
区块链技术及应用课程为2个学分,持续16周。在2019年春季的学生人数为43人,被分成7个项目团队。每个团队包括项目经理、开发人员、产品销售人员、财务人员、质量保证人员、客户等角色。每个学生被要求在课外每周至少花费4个小时完成软件项目工作。这样,学生实际投入课程的学习时间达96个小时。从学生性别来看,学习该课程的学生中,男生占79%、女生占21%;从学生专业来看,计算机类专业学生占40%、网络空间安全专业学生占27%、经管类专业学生占21%、知识产权类专业学生占9%、其他专业学生占3%;从生源地来看,内地学生占67%、外招(含港澳台)学生占33%。
本课程的理论教学与软件实践同步进行。软件项目的实践包括司法存证、信息共享、链改、供应链金融、资产数字化、物流链、版权保护,具体选题由各团队的项目经理抽签决定。开发人员负责完成本项目的设计、实现与部属等工作。项目开发过程中涉及的具体工具和开发平台则由各团队自行确定。
从教学效果来看,实践教学有效地加深了学生对课程理论知识的掌握,并让学生体会到了团队协作在项目实施过程中的重要性。通过近80小时的项目锻炼,学生的开发能力有了显著地提高,创新能力和学习的主动性也得到了增强。
四、结束语
实践教学方法有利于培养高质量的复合型人才。对本课程学生进行调查,有93%的学生对该教学方法持肯定态度。实践教学方法有效地解决了区块链教学与工程实践脱节的问题,激发了学生的学习兴趣,培养了学生学习的主动性和项目开发能力,锻炼了学生的沟通、团队协作和表达能力。在今后的教学过程中,为进一步提高项目实施效果以及充分考虑各团队间的差异,可尝试让学生自行提出场景选题。
参考文献:
[1]李玉倩,蔡瑞林,陈万明.面向新工科的集成化产教融合平台构建——基于不完全契约的视角[J].中国高教研究,2018(3):38-43.
[2]宫法明,李克文,崔学荣,等.新工科背景下IT类专业人才培养与教育改革[J].高教学刊,2018(15):163-165.
[3]何敏.實践类双语课程教学改革探索——以《国际商务谈判》课程为例[J].高教学刊,2015(14):85-87.
[4]王晓明.基于学生自主和协作学习的数据结构实验教学模式探索与实践[J].高教学刊,2015(22):229-230.
[5]杨天奇.研究生课程的“任务驱动式”教学方法探索[J].暨南高教研究,2012(1).
[6]Marques Maira. Enhancing the Student Learning Experience in Software Engineering Project Courses. IEEE Transactions on Education,2018,61(1): 63-73.
[7]陆国栋,李拓宇.新工科建设与发展的路径思考[J].高等工程教育研究,2017(3):20-26.
[8]陈亚玲.论跨学科能力培养与我国工程实践教育改革:以南京理工大学为例[J].高教探索,2015(10):73-76.