• 休闲生活
  • 教育教学
  • 经济贸易
  • 政法军事
  • 人文社科
  • 农林牧渔
  • 信息科技
  • 建筑房产
  • 环境安全
  • 当前位置: 达达文档网 > 达达文库 > 环境安全 > 正文

    Linux课程群建设研究

    时间:2020-10-18 08:01:52 来源:达达文档网 本文已影响 达达文档网手机站


    打开文本图片集

    摘要:分析目前Linux相关课程教学面临的机遇与挑战,并在对国内外大学的Linux相关课程教学情况进行分析比较的基础上,提出“普通高校Linux课程群”建设目标和思路,并详细介绍了湖北民族学院在Linux课程群建设的实践情况和取得的效果。

    关键词:Linux;操作系统原理;嵌入式系统;课程群建设

    Linux作为一款开源操作系统已经成为IT界的主要平台之一。为了使计算机专业学生的培养更加符合市场需求,从2005年开始,我国高校逐步开设了Linux类课程[1-3]。在课程开设之初,以介绍Linux操作系统的管理和使用为主,如Linux操作命令、Linux用户管理、Linux网络管理等。随着课程建设的发展,一部分高校开始开设以Linux操作系统为平台的编程课程,如Linux的C语言程序设计、Linux网络编程等。

    现阶段我国高校对于Linux课程的建设并不均衡,一部分高校已经走到了课程建设的前列。如北京大学针对计算机专业本科生,不仅开设了Linux编程类的课程,还开设了实时嵌入式操作系统等与Linux操作系统相关的课程。但在大部分普通高校中,Linux类课程还是作为选修课程供计算机专业学生学习,如笔者所在的高校,从2009年开始才设置一门“Linux程序设计”课程。

    基于Linux的快速发展,Linux操作系统、基于Linux平台的软件在越来越多的企业得到应用。能否熟练使用Linux操作系统以及在Linux操作系统平台下进行软件的设计和编程,已经成为了不少企业要求计算机专业学生的必备素质。这也对计算机专业的大学教师提出了挑战:如何对学生进行培养,使得学生能够适应企业需要。普通高校的Linux课程体系已经不能适应形势,需要进行教学改革。借鉴国内外一流大学在Linux课程的教学内容和实验方法,结合本校计算机人才培养目标,我们提出了“Linux课程群”建设思路,并进行了教学实践。

    1国内外一流高校相关课程教学情况

    在欧美国家,由于Linux已经成为一门最普遍的教学平台和工具。在计算机专业本科教学中,一流高校并没有设置专门的Linux课程。麻省理工学院和斯坦福大学的课程设置只是在操作系统类的课程中讲授Linux原理,如虚拟内存管理、IA32体系结构、虚拟文件系统等。

    我国不同高校在Linux课程群的设置各不相同。如清华大学对于计算机专业本科学生没有设置专门的Linux课程,而在北京大学计算机专业本科课程设置中按照专业方向设置了Linux课程,如图1所示。

    “1-3-3 操作系统”介绍了Linux操作系统原理,包括进程管理、存储管理、设备管理、文件系统和驱动程序;“1-3-4 操作系统实习”主要包括在Linux操作系统上进行模块编程、Shell编程及存储系统编程等;“1-5-10 实时嵌入式操作系统”主要讲授µ-CLinux在嵌入式系统的应用;“1-6-5 Linux程序设计”作为一门选修课主要讲授了Linux平台下的文件编程和网络编程等。

    可见在这类课程中,国内外的教学方式和内容完全不同。国外由于Linux已经十分普及,并不需要开设专门的Linux课程,只需要在操作系统课程中讲授Linux的原理。而在我国,由于Linux普及程度不高,各层次高校都比较注重Linux课程的教学。但是各个学校根据学生的生源情况,Linux课程的教学侧重点也不一样。一般而言,普通高校学生很难适应国内著名高校的Linux课程的教学内容。为了提高普通本科高校计算机专业学生的就业能力,亟待建立普通高校Linux课程群[4-5]。

    2Linux课程群建设思想

    随着操作系统的发展和社会对计算机人才需求的提高,原有的操作系统课程已经不能完全适应学生的需要。仅开设一门“操作系统原理”只能让学生了解和掌握操作系统最基本的理论知识,而且因为课时的限制,在课程的讲授过程中,也无法过多的对一款实际的操作系统进行介绍和分析。在与本校计算机专业学生进行交流后发现,学生普遍反映该课程不能与时俱进,也没有与Windows、Linux操作系统相关联;而且学生普遍对Linux课程有浓厚的学习兴趣。结合本院实际情况,我们有必要在“操作系统原理”课程基础上,增开Linux类课程,而且有必要将Linux有关课程建设成课程群,作为一个完整的课程体系进行教学。因此,从2009年开始,我们提出了“Linux课程群”的建设方案,并在具体的教学过程中进行了实施。

    2.1Linux课程群目标

    由于“操作系统原理”是计算机专业核心的课程之一,作为其后续课程的Linux课程群必须在计算机专业学生已经掌握了最基本操作系统原理的基础上开设。结合我院计算机专业学生的实际情况,我校Linux课程群的建设目标是:在学生掌握操作系统原理的基础上,提高学生对于具体操作系统——Linux的认知水平和软件设计能力,建立整套Linux操作系统概念,使其适应市场和企业的需求。具体包括以下几个方面:

    1) 了解和掌握最基本的Linux操作系统原理,加深对操作系统原理的理解;

    2) 阅读一定量的Linux内核代码,了解Linux内核的实现方式;

    3) 掌握Linux的各种命令,熟练使用Linux操作系统;

    4) 能够在Linux操作系统上进行Shell、模块、C和网络编程,提高学生基于Linux的编程能力;

    5) 学习嵌入式系统相关课程,了解Linux在嵌入式领域的应用。

    2.2Linux课程群建设思路

    在普通高校开设Linux类课程,不仅要考虑到课程的实用性,还要考虑普通高校计算机专业学生的生源。虽然Linux作为一门工具在国外已经非常流行,但我们对于国外大学的Linux和操作系统类课程不能生搬硬套;由于国内高水平大学的学生生源好于普通高校,其Linux课程设置偏重于Linux原理和Linux内核分析,这对于普通高校学生在学习和理解上存在着很大的困难。

    因此,结合普通高校的实际情况,我们提出了如下Linux课程群建设思路。

    1) Linux课程群的地位。

    “操作系统原理”作为计算机专业核心课程已经开设多年,但是其后续课程的开设却没有明确的规划,只有部分高校开设了基于Windows编程或基于Linux编程的课程。我们提出的Linux课程群是“操作系统原理”课程的后续课程群,是对该课程的扩充和深入。在Linux课程群中包含了必修课程和选修课程,通过必修课程和选修课程构成完整的Linux课程群体系。

    2) 以市场需要为向导,开设适合的Linux类课程。

    在Linux课程群建设过程中,要以市场需求为向导,以学生素质为基础,开设合适的Linux类课程。计算机专业学生通过Linux课程群的学习,掌握基本的Linux管理、开发技能,具备IT企业和科研院所对于计算机人才素质的要求。

    3) 项目驱动。

    在Linux课程群建设过程中,并不是简单讲授Linux原理。课程群中的各门课程是相互联系,有前驱课程和后续课程。建设以项目为驱动的Linux课程群,使学生在学习Linux课程群之初,首先确定通过Linux课程群学习后必须完成的综合项目。将项目实施带入课程学习过程中,在不同的学习阶段,完成项目的某个部分。比如,通过Linux课程群中必修课程的学习,学生完成项目的需求和整体设计;然后学生通过选修课实现各个模块。

    4) 选取适合于普通高校计算机专业学生的教材。

    考虑到普通高校计算机专业学生的实际情况,选择适合于普通高校学生的教材是很有必要的。在教材的选取过程中,基于以下三点原则:第一,所选取教材必须具备时效性,即教材中的知识点不能过于陈旧;第二,所选教材应理论性和实践性并重;第三,所选教材在难易程度上应该适合普通高校计算机专业学生。

    5) 重视实验教学环节。

    实验教学环节是Linux课程群建设过程中十分重要的步骤。学生通过完成基于Linux各类基础实验,锻炼自身的动手能力,加深对Linux的了解。Linux课程群的各门课程均设置了大量的实验课时,平均实验课时占总课时的40%左右。而且在实验教学环节,并不是简单的代码操作,各门课程均开设了符合课程内容的实验教学内容。

    3Linux课程群设置

    在“操作系统原理”和“数据结构”课程的基础上,开设Linux课程群。课程群包括四门课程:Linux操作系统原理与实践,Linux分析与编程,嵌入式系统原理和嵌入式Linux编程。图2显示了Linux课程群与“操作系统原理”、“数据结构”课程之间的关系及课程群中各门课程的相互联系。图中的箭头代表课程开设在时间上的先后顺序。

    这四门课程并不同步:学生首先通过学习“Linux操作系统原理和实践”,了解和掌握Linux各个模块的实现原理;然后通过实验单元去熟悉和使用Linux环境,并开设适当的模块编程实验单元。其次,开始学习“Linux分析与编程”和“嵌入式系统原理”。前者系统地讲授在Linux环境下的进程编程、文件编程以及网络编程,使学生掌握最基本的Linux编程技能;后者系统地讲授嵌入式系统的概念、各个组成部分(硬件部分+软件部分)、原理以及典型的嵌入式系统,使得学生掌握基本的嵌入式系统知识以及相应开发工具的使用。由于嵌入式Linux也是Linux非常重要的分支,在第4学年开设“嵌入式Linux编程”,课程不再阐述基本的Linux编程技能,着重讲解嵌入式Linux在嵌入式系统上的应用,通过案例的学习让学生具备在ARM9+嵌入式Linux平台上进行软件开发的能力。

    4Linux课程群建设实践

    在建设Linux课程群的过程中,如何把握各门课程内容的讲授以及各门课程之间的衔接是最为重要的。我们在Linux课程群建设之初,通过充分的论证,提出了Linux课程群各门课程的性质、开设学期、理论授课学时和实验学时,如表1所示。

    4.1Linux课程群各门课程的讲授内容

    1) Linux操作系统原理与实践。作为Linux课程群中的必修课程着重于Linux操作系统基本原理的讲授。其中以Linux内存管理、进程控制和调度、文件系统以及驱动程序的基本概念为主。

    通过讲授内存管理单元,使得学生掌握Linux的分页机制、请页机制、进程用户空间管理。

    在进程控制和调度单元中,主要讲授进程控制块、进程调度和进程控制,其中进程调度是本单元的核心模块,在进程调度的讲授过程中,不仅需要讲授Linux进程调度的原理、时机,还要讲授Linux进程调度的依据,最后通过指导学生阅读Linux调度函数schedule(),让学生将Linux进程调度原理运用到实际项目实施中,不仅加深了学生对于Linux进程调度原理的理解;并且通过指导学生对Linux内核代码的阅读,将学生带入到Linux内核模块编程阶段。进程控制和调度单元没有涉及对于进程的编程,在后续的课程中将系统讲授Linux进程的编程。通过文件系统单元,讲授虚拟文件系统知识点和Linux对于文件系统的基本操作。

    在驱动程序单元中,主要讲授Linux的驱动程序基础、字符设备驱动程序以及块设备驱动程序的基本框架。此单元中没有实际开展驱动程序设计,仅作为与后续课程的衔接部分。

    2) 嵌入式系统原理。由于嵌入式Linux操作系统是业界最流行的嵌入式操作系统之一,“嵌入式系统原理”课程具有很强的现实性。它作为Linux课程群中的必修课着重于嵌入式系统基本原理的讲授。其中以嵌入式微处理器、存储系统、输入与输出子系统和嵌入式操作系统为主。

    嵌入式微处理器单元以讲授ARM920T处理器状态、处理器模式、内部寄存器和ARM指令集为主;存储器单元讲授了ROM、RAM、Nor Flash和NAND Flash的功能模块、接口电路及工作模式;在输入\输出单元中主要讲授了复位电路和时钟电路的设计;嵌入式操作系统单元讲授经典的嵌入式操作系统μC/OS-II和嵌入式Linux的体系结构与移植。

    3) Linux分析与编程。作为“Linux操作系统原理与实践”后续选修课,在学生掌握基本的Linux原理的基础上,教师从以下三个方面向学生讲授Linux环境下编程:文件系统编程、进程编程和网络编程。通过文件系统编程和进程编程与“Linux操作系统原理与实践”课程衔接;以网络编程作为授课重点,使得学生掌握基于TCP协议、UDP协议和IP协议的编程。在网络编程讲授过程中通过具体的实例代码,如基于TCP协议的文件传输、基于UDP协议的广播信息发布等。

    4) 嵌入式Linux编程。在学生掌握基本的嵌入式系统原理和Linux环境下编程的基础上开设的此专业选修课程。课程中以嵌入式Linux为基础,通过嵌入式Linux环境下的应用程序和简单的驱动程序的讲授,使得学生能够在嵌入式Linux环境下进行基本的程序开发。

    4.2Linux课程群各门课程的实验教学环节

    1)“Linux操作系统原理与实践”在实验教学环节上与理论教学内容紧密结合。实验部分共分为以下几个模块:Linux系统管理、Linux进程控制、Linux模块编程、Linux下Pro文件系统编程和Linux下简单驱动实践。实验部分基于Linux内核,且各个单元具备延续性。通过实验教学环节加深学生对于Linux操作系统的理解,并且掌握基本的Linux内核编程技能。

    2)“Linux分析与编程”实验教学环节采用C语言在Linux平台下进行文件操作、进程操作和网络编程。如文件上单词的统计、哲学家问题的实现、大文件的网络传输等。

    3)“嵌入式系统原理”和“Linux分析与编程”课程的实验环境是由博创科技公司出品的UP-NETARM2410-S开发平台。其中主要的实验教学单元有:μC/OS-II操作系统的移植、嵌入式Linux操作系统的移植、嵌入式Linux应用程序的烧写、boot loader程序的编制以及简单驱动程序的编制。

    5结语

    Linux作为一款流行的操作系统,计算机专业学生掌握Linux的管理和编程是十分必要的。如何使得学生在大学学习期间掌握基本Linux管理和编程技能,达到企业的能力要求是大学计算机专业教师必须思考的一个问题。经过近几年的教学实践,我校Linux类课程从无到有,从单一课程到课程群的发展,取得了一定的教学成绩,学生对Linux课程群也表现出极大的热情。Linux课程群的建设不仅需要考虑其在整个计算机课程中的地位,还要考虑到与其他计算机课程的衔接。本文详细介绍了普通高校Linux课程群的建设,指出了Linux课程群各门课程与其他课程的关系,并对Linux课程群各门课程的理论教学环节和实验教学环节做了充分的阐述。相信通过Linux课程群的教学实践,可以使学生掌握Linux这一利器,提高学生的综合能力。

    参考文献:

    [1] 黄东,蒲玲. 高校Linux课程建设研究[J]. 福建电脑,2010(4):178-179.

    [2] 梁正平,纪震. 高校Linux课程体系建设研究与实践[J]. 计算机教育,2009(5):87-90.

    [3] 王文. 项目驱动的“Linux操作系统”课程教学改革[J]. 计算机教育,2007(9):77-79.

    [4] 吉书朋. “Linux操作系统”课程教法改革的探索[J]. 中国成人教育,2008(4):152-153.

    [5] 赵珂,孔冰. VMWare基础上的Linux课程教学探索[J]. 中国科技信息,2009(21):260-265.

    Construction of Linux Courses Group

    HU Tao 1, WANG Ting2, LUO Haojia1, ZHU Li 1

    (1. School of Information Engineer, Hubei University for Nationalities, Enshi 445000, China;

    2. School of Information Management, Wuhan University, Wuhan 430072, China)

    Abstract: This paper analyzes the opportunities and challenges during the teaching process of Linux-relating courses. Based on the comparison of Linux-relating teaching conditions between domestic and foreign universities, it describes the construction goals and methods of Linux courses group in general colleges. Then it introduces the teaching reform methods on related courses and effect obtained in Hubei University for Nationalities.

    Key words: Linux; Operation System; Embedded System; courses group construction

    (编辑:彭远红)

    相关热词搜索: 课程 建设 研究 Linux

    • 生活居家
    • 情感人生
    • 社会财经
    • 文化
    • 职场
    • 教育
    • 电脑上网