新工科背景下Linux系统课程教学研究
0 引 言
“新工科”指的就是为主动应对新一轮科技革命与产业变革,支持服务创新驱动发展、“中国制造2025”等一系列国家战略[1]。其中,“工科”是指工程学科,包括计算机学科;“新”的内涵之一是新型,即对传统的、现有的学科进行转型、改造和升级形成的新学科[2]。“新工科”的提出为高等工程教育的改革探索提供了一个全新视角和“中国方案”[3]。
随着人工智能时代的到来、我国创新驱动发展战略的实施,以及高等教育深化改革和“双一流”建设的推进,建设工程教育强国、培养创新创业型卓越工程技术人才,成为当前我国高等教育机构新的使命和价值追求[4]。Linux系统作为计算机学科领域非常重要的一门专业课程,是人工智能及新工科背景下必须改革的一门课程[5-6]。Linux发展如此迅速,原因并不在其界面的设计上,而在于开源、提供丰富的网络服务、具有可靠的安全性,以及对嵌入式系统、大数据应用和机器学习的支持[7]。
1 Linux系统教学内容设计
Linux系统相关课程的教学内容十分丰富,包括操作系统原理、系统使用与管理、网络配置、内核开发、程序开发、嵌入式系统等。通过分析和比较各大高校(主要是“985”“211”高校)Linux系统相关课程的教学内容,将其分为五大类。
1.1 与操作系统原理课程相结合
Linux是一个经典实用的、值得学习和研究的操作系统,若将Linux作为实验平台与操作系统原理课程相结合来进行授课,学生在学习操作系统理论知识的同时,还可以在Linux平台中通过实验来检验和巩固理论,这样的授课方式既能增强学生对于理论知识的了解,也能加强学生的实际动手能力。采用这种方式,学生将主要掌握Linux系统的基本使用方法、进程管理、内存管理、文件系统管理、内核结构等。表1展示了将Linux与操作系统原理课程进行不同程度结合的高校及其课程内容。
1.2 与程序设计类课程相结合
Linux系统的最大优势之一是它支持各种应用开发,而且兼容性好。通过将Linux系统与程序设计类课程相结合,一方面可以熟悉Linux系统的使用、管理与配置,另一方面能强化Linux下的各种编程能力,主要包括C/C++编程、Python编程、Shell编程、Web开发、大数据应用、系统编程、Android开发等。相关高校课程及内容见表2。
1.3 侧重网络配置及集群服务器搭建
Linux网络功能非常强大。在几台运行Linux的PC机上,不需要购买昂贵的专用硬件设备,只要加入相应的集群软件,就可以组成具有超强可靠性、负载能力和计算能力的Linux集群。高可用性集群的目的是在系统出现某些故障的情况下,仍能继续对外提供服务;负载均衡集群的目的是提供和节点个数成正比的负载能力,这种集群很适合提供大访问量的Web服务;超级计算集群的目的是提供高性能的计算能力。相关高校课程见表3。
1.4 与嵌入式系统结合
嵌入式Linux是将日益流行的Linux操作系统进行裁剪修改,使之能在嵌入式计算机系统上运行的一种操作系统。嵌入式Linux既继承了Internet上无限开放源代码资源,又具有嵌入式操作系统的特性。将Linux系统与嵌入式系统相结合进行教学,可以有效解决国内嵌入式技术教学与设计人才的缺乏问题。目前,在开发的嵌入式系统中,有超过一半的项目选择Linux作为嵌入式操作系统。相关高校课程见表4。
1.5 侧重内核分析
所谓内核就是指操作系统,是连接硬件与软件的系统。Linux内核的主要模块分为存储管理、CPU和进程管理、文件系统、设备管理和驱动、网络通信,以及系统的初始化(引导)、系统调用等。将分析Linux系统内核作为Linux的教学内容可以使学生从更深的层面上了解Linux系统的机制及其原理。在了解Linux的内核之后,无论是在其环境下进行开发还是对Linux系统进行管理配置都会变得简单明了。相关高校课程见表5。
2 Linux系统教学对象、授课方式、课时以及考核方式
为了对各高校的Linux系统相关课程进一步地了解,从课程名称、教学对象、授课方式、授课时间和考核方式进行了比较(见表6)。由于表1—表5中已经列出课程对应的学校,而且有些学校开设的课程名称相同,所以表6中没有显示学校名称。
从表6可知:①大部分高校的Linux相关课程都是面向本科生,即Linux课程是一门计算机本科生必须要接触、了解和熟悉的课程,少数面向研究生的课程是在本科生课程内容之上的进阶,如嵌入式编程、高级编程,或者内核分析;②授课方式基本都是理论课与实验课相结合的综合授课方式,由此可以看出Linux系统相关的课程实践部分非常重要,理论部分也必不可少;③授课时间不统一,如果与操作系统原理相结合,那么课时会比较多,如果仅是Linux本身的内容,那么课时会比较少;④考核方式包括考试与考查,从考核方式中的理论成绩与实验成绩综合作为最终成绩这一点也能看出Linux相关课程对于理论与实践的重视程度并重。
3 东华大学Linux系统课程
东华大学计算机科学与技术学院的Linux系统相关课程包括面向本科的Linux系统(选修)和操作系统原理(必修),面向研究生的操作系统分析(必修)。在新工科背景下,作为一所211院校的计算机专业课,要对现有课程进行改造和升级,让各门课程之间进行交叉,课程内容紧跟IT发展。目前,操作系统原理主要讲述操作系统的基本工作原理,包括进程管理、处理器管理、内存管理、文件系统管理、设备管理机制等;研究生操作系统分析课程则主要剖析Linux系统的内核以及系统编程。Linux系统课程一门重要的本科生专业课程,包括2个部分:①面向初学者,分别从系统使用者、网络管理者、shell程序开发者、应用程序开发者和内核开发者的角度,全方位地介绍Linux操作环境、操作命令,以及基本的开发方法。教学内容为Linux系统概述、文件管理(主要讲解Linux的文件系统和文件操作命令)、用户与组管理(主要讲解Linux下的用户与组的管理和文件权限与安全性)、网络及其服务配置、内核及其配置、Shell编程扩展和应用开发(主要讲解Linux下的C程序开发、Java程序开发、Web开发和版本控制等);②面向大数据应用的开发者,介绍基于Linux系统的大数据计算平台、存储平台,以及几个广泛使用的应用开发和分析工具。教学内容为:大数据开发平台(介绍Hadoop与MapReduce及其使用,同时还介绍Spark和Storm)、大数据存储(主要介绍大数据的存储方法和相关软件,包括NoSql、HBase数据库、OpenTSDB数据库等)和大数据分析工具(包括Hive数据分析工具、Pig数据分析平台和Mahout数据挖掘平台),以及机器学习(TensorFlow平台与基本的机器学习算法应用)。
授课方式采用理论与实际相结合,采用自编教材“Linux系统与大数据应用”。本课程所具有的特色可以归纳为4点(如图1所示):①课程覆盖与Linux相关的所有知识点,从系统管理、网络管理到内核开发与应用开发,让学生能够认识到各知识点并非独立,而是紧密相关,并且可以融会贯通;②授课方式采用大部分高校都使用的理论与实践相结合,只是在实践中添加了课外项目和项目演示,让学生能够在项目中把知识点串联起来;③课程内容适合并覆盖计算机相关的所有专业,包括计算机科学与技术专业、网络工程专业、软件工程专业和信息安全专业;④把Linux的使用、管理与大数据应用和机器学习相结合,这是目前的热点方向,由于大数据框架和机器学习框架都离不开Linux系统,所以希望借此应用提高学生的动手积极性。
4 结 语
通过展示和分析当前环境下各大高校关于Linux系统相关课程的不同教学风格与教学内容,全面介绍新工科背景下东华大学面向本科的Linux系统课程规划与特色,希望能够为高校的Linux系统课程建设提供参考,为课程教学改革提供新思路。
基金项目:教育部在线教育研究中心在线教育基金(全通教育)项目(2017YB112);上海市精品课程项目(沪教委高〔2017〕38号)。
第一作者简介:燕彩蓉,女,东华大学副教授,研究方向为数据挖掘、机器学习、推荐系统,cryan@dhu.edu.cn。
参考文献:
[1] 骆斌, 刘嘉, 刘钦. 刍议新工科软件类专业的教学建设[J]. 中国大学教学, 2018(3): 20-24.
[2] 林健. 面向未来的中国新工科建设[J]. 清华大学教育研究, 2017, 38(2): 26-35.
[3] 钟登华. 新工科建设的内涵与行动[J]. 高等工程教育研究, 2017(3): 1-6.
[4] 许涛, 严骊, 殷俊峰, 等. 创新创业教育视角下的“人工智能+新工科”发展模式和路径研究[J]. 远程教育杂志, 2018(1): 80-88.
[5] 吴淑泉. 高校“Linux 操作系统”课程教学研究与探索[J]. 教育理论与实践, 2017, 37(33): 57-58.
[6] 燕彩蓉, 李继云, 郭文静. 移动互联网时代的高等工程教育教学模式研究[J]. 计算机教育, 2015(19): 53-56.
[7] 苏彬. 高职院校“Linux操作系统”课程改革探索: 以山西职业技术学院为例[J]. 教育理论与实践, 2013, 33(30): 21-23.
(完)
更多精彩:
最新!教育部发布2019全国高校名单(截至2019年6月15日)
2019年全国智能科学与技术&人工智能教育暨教学学术研讨会 征文通知
新工科建设思维大碰撞——《计算机教育》“思想碰撞”栏目走进高校