APP下载

面向新工科的Linux 课程教学改革

2021-11-28薛开庆

软件导刊 2021年11期
关键词:工科编程服务器

薛开庆,张 涛

(1.西华大学计算机与软件工程学院;2.西华大学心理健康服务与研究中心,四川成都 610039)

0 引言

以大数据和人工智能为代表的新一轮科技革命和产业变革正在开展。为主动适应和推动这些变革,支持创新,服务智能制造,教育部先后发布了《关于开展新工科研究与实践的通知》[1]、《关于推进新工科研究与实践项目的通知》[2]、《关于公布首批“新工科”研究与实践项目》[3]和《高等学校人工智能创新行动计划的通知》[4],对推进新工科建设提出了具体要求。新工科的“新”主要体现在以下几个方面:①对传统工科进行改造升级;②新科技新经济的发展会产生新的工科专业;③工科与其它学科深度交叉融合产生新的专业[5]。计算机类学科本身就是典型的工科,新工科提出为我国高等工程教育改革提供了新思路和新办法。现代信息技术日新月异,计算机学科除了不断对传统学科进行融合改造以外,其本身也要主动适应技术变革,主动适应新经济、新工科要求,对相关课程进行改革、探索和实践,调整教学内容、教学方式,提高教学质量。

1991 年Linus Torvalds 开发了Linux 0.01。由于Linux开源免费的理念,受到全世界发烧友、众多企业和组织的鼎力支持。众人拾柴火焰高,Linux 不断完善,不断更新版本,当前网络编程、云计算、大数据和人工智能等相关研究和应用大多依赖Linux 平台。几乎所有高校计算机类专业都开设了操作系统原理这门课程,但没有进一步开设Linux操作系统相关课程,部分学校虽然开设了这门课程,但将其设置为选修课,造成很多高校计算机类专业Linux 课程教学力量十分薄弱。学生没有打好Linux 基础,没有掌握Linux 基本的操作技能,其后果就是进一步学习网络编程、云计算、大数据和人工智能等课程时存在一些技术障碍,比如搭建基于Linux 的大数据实验平台时感到困难。

本文对传统Linux 课程教学现状进行分析,找出存在的问题,在新工科理念下大胆进行课程内容调整。对授课方式进行改革,提升学生思考问题的主动性,提高解决问题的能力。

1 Linux 操作系统教学现状

1.1 重讲授,轻实践

Linux 操作系统是一门实践性非常强的课程,学习Linux 之前,大多数学生已经学过操作系统原理、程序设计基础等课程。有了这些基础,本应该将这门课程深入学习,为后续课程打下坚实基础,但很多高校由于硬件条件限制,继续采用在多媒体教室授课的传统做法,边讲解边演示,课程最后才到机房上机,这时前面学的知识很多已经遗忘,上机练习交份实验报告就结束课程,学习效果很不理想。

1.2 学生重实践,缺乏指导

现在就业压力大,计算机相关专业学生特别渴望学习一些实用技术,但因为没有教师细致的指导,理论没有和实践项目有机结合,只是机械记忆了一些操作命令和步骤,掌握也不牢靠。传统教学没有充分调动学生学习的积极性和主动性,从课后作业、上机实验到课程设计,大多数学生都是被动完成学习任务,缺乏深入理解和思考,缺乏创新能力,缺乏综合解决问题的能力,遇到新问题时找不到抓手。

1.3 与企业要求相差甚远

企业对Linux 从业人员需求主要有Liunx 系统管理人员和Linux 程序开发人员两类。

(1)Linux 系统管理人员要求掌握Linux 操作系统的基本原理,能够进行内核参数调优,熟悉Linux 的常用服务器,能快速进行部署、配置、备份、恢复和排错等,能够掌握Linux 下使用脚本和程序来高效完成系统的日常维护工作。要求系统管理人员保障Linux 服务器顺利运行。

(2)Linux 编程人员要求熟悉Linux 原理及基本操作,具备Linux 下运用C/C++或者Java 的编程能力,掌握Linux 下某些数据库系统运用,能利用Linux 平台加载大数据、人工智能等软件工具进行数据分析处理等。

综上分析,不难看出传统的Linux 教学与企业要求相差甚远。当然不必苛求仅仅通过学校的几门课程就掌握企业所需的全部技能,但企业对实际技术的具体需求对Linux 教学来说具有很重要的参考和指导意义。因此,教师在教学过程中要了解企业需求,并把这些需求传递给学生,让学生学习更有目标性和针对性,这样才能将学习的基础知识、基本原理和企业需求有机融合,学生毕业进入企业后才能快速适应工作要求,达到学习和工作之间的无缝衔接。

2 教学改革实践

Linux 是计算机相关专业的一门重要课程,与操作系统、数据结构、程序设计、软件工程、大数据、云计算和人工智能等课程关系密切,具备很强的实践性。如何根据普通本科院校学生特点,使Linux 教学更有成效,梁正平等[6]和吴大亲等[7]基于CDIO 理念进行了有特色的探索和研究。本文以西华大学计算机与软件工程学院为依托,根据教育部对新工科的要求,考虑企业实际需求,对Linux 课程教学进行改革和实践。参加教改实验的有西华大学计算机与软件工程学院2017-2019 级相关专业500 多名学生,历经3年。

2.1 教材选取和内容取舍

Linux 这门课程既是对《操作系统原理》的巩固和深化,也是后面学习云计算、大数据、网络编程和机器学习等课程的基础,其先修后继课程关系如图1 所示。

Fig.1 Relationship between pre-study and subsequent courses of Linux图1 Linux 先修后继课程关系

西华大学计算机科学与技术专业和信息安全专业将Linux 设为选修课(48 学时),而软件工程专业和物联网专业将Linux 设为必修课(48 学时)。要求云计算、大数据、人工智能和机器学习方向的学生必须选修Linux 课程,掌握好Linux 这门利器,使学生在进一步学习上述方向课程时能很快上手搭建配置相应环境,学习相关软件,提高动手能力。考虑学生既要学习Linux 系统的基本操作又要学习Linux 系统下的编程,所以把《Linux 系统及编程基础》[8]选作教材,另外提供参考辅导书《Linux C 程序设计王者归来》[9],主要为学有余力的学生进一步提高编程能力。

根据技术发展和企业需求,对教材内容进行了适当的取舍和补充,具体内容和课时安排如表1 所示。

Table 1 Teaching content and class arrangement表1 教学内容和课时安排

2.2 教学内容和方法

考虑到Linux 操作系统是一门实践性很强的课程,为了增强学生的动手能力,将所有教学活动都安排在实验机房中进行。教师可以一边讲解一边指导学生动手操作,将理论、原理和实践有机融合,大大提高了学生实践动手能力。教学内容大致分为基础知识、系统服务器配置和编程3 部分。

(1)基础知识。包括Linux 发展历史、特点、组成、版本介绍;Linux 安装和基本配置(每个学生自带笔记本,学会在VMWare Workstation 虚拟机下安装比较常用的Linux 版本之一Ubuntu);Linux 命令基础(如何登录、注销、关机、重启,如何重置密码、如何获得帮助);文件系统(了解Linux 文件系统类型、组成和特点,掌握Linux 文件操作命令、目录操作命令、更改文件的存取权限、创建链接文件方法);Vim 编辑器(掌握Vim 三种工作模式,明确当前处于什么模式之下,掌握常用的Vim 编辑命令,能够使用Vim 编写Shell 脚本和C 程序)。

(2)系统网络服务器管理。包括用户管理(用户、组的添加删除和更改)、设备管理(磁盘和分区管理、设备的挂载和卸载)、进程管理、日志管理、网络管理(常用网络管理命令和网络故障的基本排除方法);文件服务器管理配置(NFS 配置,samba 配置)、DNS 服务器管理配置、Web 服务器管理和配置、Mail 服务器管理和配置、FTP 服务管理和配置等。

(3)编程。包括Shell 编程(Shell 基本命令、Shell 变量、Shell 脚本的输入和输出、Shell 算术和逻辑运算、Shell 的控制结构、Shell 函数等);C 编程(掌握GCC 编译器工具、GDB调试工具和make 程序维护工具;掌握如何创建进程、进程的执行、进程的终止、进程的等待及进程间的信号通信等;掌握线程控制系统调用;掌握如何创建、打开和关闭文件、掌握文件的读写及文件的定位);GTK+图形界面程序设计(掌握实验GTK+开发图形用户界面程序,能够创建按钮和标签、文本输入框、单选复选按钮、组合框、框架、图像控件,能够制作菜单、工具栏和状态栏)。

整个过程中精讲多练。教师主要讲解关键知识点和技巧,大量的时间让学生动手练习,在“做中学”,掌握知识和技能更加牢靠。学生有解决不了的问题由教师给予提醒和指导解答。

该门课程安排8 个实验,具体实验内容及要求如表2所示。其中实验8 主要是安排学生集体合作项目,如搭建具有主从(master-slave)模式的大数据处理平台等,让学生体会类似企业中的分工合作,提高团队意识,锻炼协作能力。另外,鼓励学生参加Linux 相关的各种竞赛,通过竞赛提高专业实践技能,提高解决技术难题的能力,也提高了学生的就业能力。

Table 2 Course experiment content and class time allocation表2 课程实验内容及课时分配

2.3 课程考核

为督促学生认真学习,加强了考核环节,主要考核学生的动手能力和灵活应用知识的能力,成绩构成如表3 所示。其中,如果学生平时在课堂上积极回答问题,在实践环节主动帮助同学解决问题,会加分;对重要的实验,教师要考察学生的实际完成情况;综合项目要求学生录制讲解视频,演示如何理解、分析、设计和完成这个项目。另外,如果学生在一些Linux 相关竞赛活动中取得了好的成绩要适当加分。

Table 3 Score composition表3 成绩构成

2.4 教学效果及分析

与传统的教学方式相比,新的教学模式坚持“学生是教学活动的主体”这一基本理念,同时充分发挥教师的主导作用。在教学活动中充分调动学生参与学习的积极性,让学生主动思考,发现问题,讨论问题,提高解决问题的能力。通过观察比较学生课堂表现、作业完成情况、实验动手能力和项目完成情况,证明该教学方法更加符合普通高校学生实际情况。在课程结束时,通过西华大学课程质量管理系统(http://xhu.mycospxk.com/)匿名调查,绝大多数学生对该教学方法表示赞同,2017-2019 级各专业对课程满意度的综合评分如表4 所示,选择满意和非常满意的学生比例达到了98.5%。

Table 4 Comprehensive evaluation scove of course satisfaction表4 课程满意度综合评分

3 结语

Linux 操作系统是计算机相关专业的一门重要课程。本文根据Linux 操作系统教学要求,考虑普通本科院校学生特点,采用案例教学,对教学方法进行大胆探索,把Linux基本原理、重要操作、服务器配置、脚本编程、C 编程、图形化编程有机结合起来,精讲多练,充分调动学生的积极性,提高了学生分析问题和解决问题的能力,得到了学生的充分支持和高度评价,取得了良好效果,对如何培养应用型本科人才有一定的指导作用。后续将与课程教师多沟通,对Linux 教学内容、教学方式进行调整,抛弃一些陈旧内容,引入新的、后续必备的基础内容,使学生能完成相应的实验环境搭建配置,更顺利地完成相应的实验任务。

猜你喜欢

工科编程服务器
新工科背景下项目推动式教学模式的探索
编程,是一种态度
编程小能手
纺织机上诞生的编程
通信控制服务器(CCS)维护终端的设计与实现
中国服务器市场份额出炉
得形忘意的服务器标准
计算机网络安全服务器入侵与防御
工科研究生教学模式的思考与创新