教育教学

当前位置: 网站首页 -> 教育教学 -> 教学工作 -> 人才培养 -> 本科生培养 -> 教学大纲 -> 正文

《Linux程序设计》教学大纲

信息来源: 发布日期:2015-09-25

《Linux程序设计》教学大纲

课程名称:

Linux程序设计

课程编号:

408412

420408

436407

适用专业:

计算机科学与技术

网络工程

软件工程

课程类别:

专业任选

课程学分:

3

总学时:

48

其中:理论学时

32

实验学时

16

先修课程:

C/C++语言程序设计Linux操作系统

一、课程的性质、目的与任务

《Linux程序设计》课程是计算机科学与技术、网络工程、软件工程专业的一门专业任选课程。通过本课程的教学,使学生能熟练Linux操作系统的基本操作,了解Linux操作系统安全配置和管理的方法;掌握Linux操作系统下的Shell程序和C程序开发方法和过程,具备在Linux操作系统下开发应用程序的能力。通过本课程的教学,还需要培养学生讨论、作报告、写作、团队合作、动手操作的能力。

通过本课程的学习,要求学生能够具有对Linux操作系统的安全性配置和管理的基本能力,掌握设计Shell程序来管理Linux系统的方法,掌握在Linux操作系统下进行编辑、编译和调试C程序的方法,并通过实践掌握开放源代码项目的开发方法和过程。要求学生达到:

1、了解操作系统的基本功能、了解linux操作系统的历史、现状和特点、学会linux系统的安装过程,理解linux图形环境的概念和组成;

2、了解安全使用linux系统的方式;能够输入正确的命令并完成简单的任务;理解文件、目录、文件系统、进程等概念;掌握具体的命令,对文件、命令、进程进行管理;学会使用linux环境下的系统帮助解决操作问题;

3、理解编辑器的工作方式;掌握编辑器vi的使用方法;掌握屏幕命令、字符串检索等命令的使用;

4、了解shell的主要特点、类型、建立和执行的方式;理解bash变量的分类、定义形式及引用规则;掌握各自控制语句的格式、功能和流程;掌握bash中算数运算的使用;学会bash函数的构成、使用规则,以及bash中的内置命令;

5、了解linux内核的一般结构;理解进程的概念、进程的调度和进程通信;掌握文件系统的构成和管理;理解内存管理;掌握设备驱动和中断处理;

6、掌握编译器gcc的使用方法;掌握调试器gdb的使用;能够用make工具进行程序维护;

7、了解系统调用和库函数;理解文件操作;理解进程管理和同步;掌握进程通信;了解内存管理;

8、了解与linux系统管理相关的计算机术语;理解linux文件系统管理的基本概念和方法;掌握linux系统安全的基本概念和相应方法;学习linux系统性能优化的技巧

9、掌握网络配置和电子邮件;理解网络文件系统的基本功能和使用方法;学会网络管理的基本方法;了解网络安全问题的对策和工具

10、了解嵌入式系统的基本概念;理解嵌入式系统的实时内核;掌握实时内核的实现技术。

二、课程教学基本内容与要求

第一章 Linux系统概述

(一)基本教学内容

1.1 计算机基础知识

1.2 操作系统的功能

1.3 Linux系统的历史、现状和特点

1.4 Linux系统安装

1.5 在虚拟机上安装Linux

1.6 Linux图形环境

(二)基本要求

教学目的:了解操作系统的基本功能;了解linux操作系统的历史、现状和特点;学会linux系统的安装过程;理解linux图形环境的概念和组成

教学重点:linux操作系统的特点和安装。

教学难点:linux操作系统的特点和安装。

第二章 Linux常用命令

(一)基本教学内容

2.1 使用命令

2.2 简单命令

2.3 文件概念和文件类型

2.4 文件操作命令

2.5 目录及其操作命令

2.6 联机操作命令

2.7 有关进程管理的命令

2.8 文件压缩和解压缩命令

2.9 有关DOS命令

(二)基本要求

教学目的:了解安全使用linux系统的方式;能够输入正确的命令并完成简单的任务;理解文件、目录、文件系统、进程等概念;掌握具体的命令,对文件、命令、进程进行管理;学会使用linux环境下的系统帮助解决操作问题。

教学重点:管理硬盘和移动存储设备上的资源的具体操作命令。

教学难点:对文件、命令、进程的管理。

第三章 文件编辑

(一)基本教学内容

3.1 vi的工作方式

3.2 进入和退出vi

3.3 文本输入

3.4 移动光标

3.5 文本修改

3.6 编辑文件

3.7 字符串检索

3.8 常用ex命令

(二)基本要求

教学目的:理解编辑器的工作方式;掌握编辑器vi的使用方法;掌握屏幕命令、字符串检索等命令的使用。

教学重点:linux环境下编辑器的使用,屏幕命令和字符串检索等命令的使用。

教学难点:编辑器的工作方式。

第四章 Linux shell程序设计

(一)基本教学内容

4.1 shell概述

4.2 命令历史

4.3 名称补全

4.4 别名

4.5 shell特殊字符

4.6 shell变量

4.7 参数置换变量

4.8 算数运算

4.9 控制结构

4.10 函数

4.11 作业控制

4.12 shell内置命令

4.13 shell脚本调试

4.14 shell脚本示例

(二)基本要求

教学目的:了解shell的主要特点、类型、建立和执行的方式;理解bash变量的分类、定义形式及引用规则;掌握各自控制语句的格式、功能和流程;掌握bash中算数运算的使用;学会bash函数的构成、使用规则,以及bash中的内置命令。

教学重点:各种控制语句的使用,bash中函数和运算规则。

教学难点:bash函数的构成、使用规则以及bash的内置命令。

第五章 linux内核简介

(一)基本教学内容

5.1 概述

5.2 进程管理

5.3 文件系统

5.4 内存管理

5.5 进程通信

5.6 设备管理

5.7 中断、异常和系统调用

5.8 网络系统

(二)基本要求

教学目的:了解linux内核的一般结构;理解进程的概念、进程的调度和进程通信;掌握文件系统的构成和管理;理解内存管理;掌握设备驱动和中断处理。

教学重点:进程的概念、调度和通信,设备驱动和中断处理。

教学难点:进程的调度和通信、内存管理。

第六章 常用开发工具

(一)基本教学内容

6.1 gcc编译系统

6.2 gdb程序调试工具

6.3 程序维护工具make

(二)基本要求

教学目的:掌握编译器gcc的使用方法;掌握调试器gdb的使用;能够用make工具进行程序维护。

教学重点:gcc编译系统的使用,程序调试。

教学难点:调试器gdb的使用。

第七章 linux环境编程

(一)基本教学内容

7.1 系统调用和库函数

7.2 文件操作

7.3 进程控制

7.4 进程通信

7.5 内存管理

7.6 综合编程示例

(二)基本要求

教学目的:了解系统调用和库函数;理解文件操作;理解进程管理和同步;掌握进程通信;了解内存管理。

教学重点:进程通信、管理和同步。

教学难点:进程通信、管理和同步。

第八章 linux系统管理

(一)基本教学内容

8.1 系统管理概述

8.2 用户和工作组管理

8.3 文件系统及其维护

8.4 文件系统的备份

8.5 系统安全管理

8.6 系统性能优化

(二)基本要求

教学目的:了解与linux系统管理相关的计算机术语;理解linux文件系统管理的基本概念和方法;掌握linux系统安全的基本概念和相应方法;学习linux系统性能优化的技巧。

教学重点:linux文件系统的管理和维护,系统安全管理的方法。

教学难点:linux系统性能优化的技巧。

第九章 网络应用及管理

(一)基本教学内容

9.1 配置网络

9.2 电子邮件

9.3 网络文件系统NFS

9.4 网络管理

9.5 网络安全

(二)基本要求

教学目的:掌握网络配置和电子邮件;理解网络文件系统的基本功能和使用方法;学会网络管理的基本方法;了解网络安全问题的对策和工具。

教学重点:linux的网络配置和网络管理。

教学难点:linux的网络配置和网络管理。

第十章 嵌入式操作系统简介

(一)基本教学内容

10.1 嵌入式系统概述

10.2 嵌入式操作系统概述

10.3 实时内核及其实现

10.4 嵌入式操作系统实例—Clinux

(二)基本要求

教学目的:了解嵌入式系统的基本概念;理解嵌入式系统的实时内核;掌握实时内核的实现技术。

教学重点:实时内核的实现。

教学难点:嵌入式系统的实时内核及其实现。

三、课程各章节学时分配

序号

内容

理论学时

实验学时

计科

网工

软工

计科

网工

软工

1

Linux系统概述

2

2

2

2

2

2

2

Linux常用命令

2

2

2

4

4

4

3

文本编辑

2

2

2

0

0

0

4

Linux shell程序设计

8

8

8

4

4

4

5

Linux内核简介

6

6

6

0

0

0

6

常用开发工具

2

2

2

2

2

2

7

Linux环境编程

4

4

4

0

0

0

8

Linux系统管理

2

2

2

2

2

2

9

网络应用及管理

2

2

2

2

2

2

10

嵌入式操作系统简介

2

2

2

0

0

0

合计

32

32

32

16

16

16

四、本课程课外学习与修学指导

由于该课程涉及Linux操作系统及其程序设计,内容复杂,难度较大,且具有很强的实践性,所以要学好本课程,必须做到理论与实践紧密结合,才能达到较好的学习效果。要求学生多参阅相关书籍,多做练习,多上机实验,掌握Linux程序设计方法。

五、本课程考核方式及成绩评定标准

考核方式:考试

成绩评定方法:本课程的考核是平时成绩、实验成绩和期终考试成绩相结合。具体比例为:上课出勤、作业占30%,实验占20%,期末考查成绩占50%。

六、教材及参考书

教材:《Linux教程》(第2版),孟庆昌、牛欣源编,电子工业出版社,2007年

主要参考书:

[1]《Linux & Unix程序开发基础教程》(原书 名:Linux & Unix Programming Tools),Sarwar,Al-Saqabi,英宇、姚锋译,清华大学出版社,2004年1月

[2]《Linux程序设计》(第3版),Neil Matthew,Richard Stones,陈健,宋健建译,人民邮电出版社,2007年7月

大纲撰写人:沈亚敏

大纲审阅人:刘伟群

教学副主任:易叶青

编写日期: 2012.6