《Linux程序設計》教學大綱
課程名稱:
| Linux程序設計
|
|
|
課程編號:
| 408412
| 420408
| 436407
|
適用專業(yè):
| 計算機科學與技術(shù)
| 網(wǎng)絡工程
| 軟件工程
|
課程類別:
| 專業(yè)任選
|
|
|
課程學分:
| 3
|
|
|
總學時:
| 48
|
|
|
其中:理論學時
| 32
|
|
|
實驗學時
| 16
|
|
|
先修課程:
| C/C++語言程序設計Linux操作系統(tǒng)
|
一、課程的性質(zhì)、目的與任務
《Linux程序設計》課程是計算機科學與技術(shù)、網(wǎng)絡工程、軟件工程專業(yè)的一門專業(yè)任選課程。通過本課程的教學,使學生能熟練Linux操作系統(tǒng)的基本操作,了解Linux操作系統(tǒng)安全配置和管理的方法;掌握Linux操作系統(tǒng)下的Shell程序和C程序開發(fā)方法和過程,具備在Linux操作系統(tǒng)下開發(fā)應用程序的能力。通過本課程的教學,還需要培養(yǎng)學生討論、作報告、寫作、團隊合作、動手操作的能力。
通過本課程的學習,要求學生能夠具有對Linux操作系統(tǒng)的安全性配置和管理的基本能力,掌握設計Shell程序來管理Linux系統(tǒng)的方法,掌握在Linux操作系統(tǒng)下進行編輯、編譯和調(diào)試C程序的方法,并通過實踐掌握開放源代碼項目的開發(fā)方法和過程。要求學生達到:
1、了解操作系統(tǒng)的基本功能、了解linux操作系統(tǒng)的歷史、現(xiàn)狀和特點、學會linux系統(tǒng)的安裝過程,理解linux圖形環(huán)境的概念和組成;
2、了解安全使用linux系統(tǒng)的方式;能夠輸入正確的命令并完成簡單的任務;理解文件、目錄、文件系統(tǒng)、進程等概念;掌握具體的命令,對文件、命令、進程進行管理;學會使用linux環(huán)境下的系統(tǒng)幫助解決操作問題;
3、理解編輯器的工作方式;掌握編輯器vi的使用方法;掌握屏幕命令、字符串檢索等命令的使用;
4、了解shell的主要特點、類型、建立和執(zhí)行的方式;理解bash變量的分類、定義形式及引用規(guī)則;掌握各自控制語句的格式、功能和流程;掌握bash中算數(shù)運算的使用;學會bash函數(shù)的構(gòu)成、使用規(guī)則,以及bash中的內(nèi)置命令;
5、了解linux內(nèi)核的一般結(jié)構(gòu);理解進程的概念、進程的調(diào)度和進程通信;掌握文件系統(tǒng)的構(gòu)成和管理;理解內(nèi)存管理;掌握設備驅(qū)動和中斷處理;
6、掌握編譯器gcc的使用方法;掌握調(diào)試器gdb的使用;能夠用make工具進行程序維護;
7、了解系統(tǒng)調(diào)用和庫函數(shù);理解文件操作;理解進程管理和同步;掌握進程通信;了解內(nèi)存管理;
8、了解與linux系統(tǒng)管理相關的計算機術(shù)語;理解linux文件系統(tǒng)管理的基本概念和方法;掌握linux系統(tǒng)安全的基本概念和相應方法;學習linux系統(tǒng)性能優(yōu)化的技巧
9、掌握網(wǎng)絡配置和電子郵件;理解網(wǎng)絡文件系統(tǒng)的基本功能和使用方法;學會網(wǎng)絡管理的基本方法;了解網(wǎng)絡安全問題的對策和工具
10、了解嵌入式系統(tǒng)的基本概念;理解嵌入式系統(tǒng)的實時內(nèi)核;掌握實時內(nèi)核的實現(xiàn)技術(shù)。
二、課程教學基本內(nèi)容與要求
第一章 Linux系統(tǒng)概述
(一)基本教學內(nèi)容
1.1 計算機基礎知識
1.2 操作系統(tǒng)的功能
1.3 Linux系統(tǒng)的歷史、現(xiàn)狀和特點
1.4 Linux系統(tǒng)安裝
1.5 在虛擬機上安裝Linux
1.6 Linux圖形環(huán)境
(二)基本要求
教學目的:了解操作系統(tǒng)的基本功能;了解linux操作系統(tǒng)的歷史、現(xiàn)狀和特點;學會linux系統(tǒng)的安裝過程;理解linux圖形環(huán)境的概念和組成
教學重點:linux操作系統(tǒng)的特點和安裝。
教學難點:linux操作系統(tǒng)的特點和安裝。
第二章 Linux常用命令
(一)基本教學內(nèi)容
2.1 使用命令
2.2 簡單命令
2.3 文件概念和文件類型
2.4 文件操作命令
2.5 目錄及其操作命令
2.6 聯(lián)機操作命令
2.7 有關進程管理的命令
2.8 文件壓縮和解壓縮命令
2.9 有關DOS命令
(二)基本要求
教學目的:了解安全使用linux系統(tǒng)的方式;能夠輸入正確的命令并完成簡單的任務;理解文件、目錄、文件系統(tǒng)、進程等概念;掌握具體的命令,對文件、命令、進程進行管理;學會使用linux環(huán)境下的系統(tǒng)幫助解決操作問題。
教學重點:管理硬盤和移動存儲設備上的資源的具體操作命令。
教學難點:對文件、命令、進程的管理。
第三章 文件編輯
(一)基本教學內(nèi)容
3.1 vi的工作方式
3.2 進入和退出vi
3.3 文本輸入
3.4 移動光標
3.5 文本修改
3.6 編輯文件
3.7 字符串檢索
3.8 常用ex命令
(二)基本要求
教學目的:理解編輯器的工作方式;掌握編輯器vi的使用方法;掌握屏幕命令、字符串檢索等命令的使用。
教學重點:linux環(huán)境下編輯器的使用,屏幕命令和字符串檢索等命令的使用。
教學難點:編輯器的工作方式。
第四章 Linux shell程序設計
(一)基本教學內(nèi)容
4.1 shell概述
4.2 命令歷史
4.3 名稱補全
4.4 別名
4.5 shell特殊字符
4.6 shell變量
4.7 參數(shù)置換變量
4.8 算數(shù)運算
4.9 控制結(jié)構(gòu)
4.10 函數(shù)
4.11 作業(yè)控制
4.12 shell內(nèi)置命令
4.13 shell腳本調(diào)試
4.14 shell腳本示例
(二)基本要求
教學目的:了解shell的主要特點、類型、建立和執(zhí)行的方式;理解bash變量的分類、定義形式及引用規(guī)則;掌握各自控制語句的格式、功能和流程;掌握bash中算數(shù)運算的使用;學會bash函數(shù)的構(gòu)成、使用規(guī)則,以及bash中的內(nèi)置命令。
教學重點:各種控制語句的使用,bash中函數(shù)和運算規(guī)則。
教學難點:bash函數(shù)的構(gòu)成、使用規(guī)則以及bash的內(nèi)置命令。
第五章 linux內(nèi)核簡介
(一)基本教學內(nèi)容
5.1 概述
5.2 進程管理
5.3 文件系統(tǒng)
5.4 內(nèi)存管理
5.5 進程通信
5.6 設備管理
5.7 中斷、異常和系統(tǒng)調(diào)用
5.8 網(wǎng)絡系統(tǒng)
(二)基本要求
教學目的:了解linux內(nèi)核的一般結(jié)構(gòu);理解進程的概念、進程的調(diào)度和進程通信;掌握文件系統(tǒng)的構(gòu)成和管理;理解內(nèi)存管理;掌握設備驅(qū)動和中斷處理。
教學重點:進程的概念、調(diào)度和通信,設備驅(qū)動和中斷處理。
教學難點:進程的調(diào)度和通信、內(nèi)存管理。
第六章 常用開發(fā)工具
(一)基本教學內(nèi)容
6.1 gcc編譯系統(tǒng)
6.2 gdb程序調(diào)試工具
6.3 程序維護工具make
(二)基本要求
教學目的:掌握編譯器gcc的使用方法;掌握調(diào)試器gdb的使用;能夠用make工具進行程序維護。
教學重點:gcc編譯系統(tǒng)的使用,程序調(diào)試。
教學難點:調(diào)試器gdb的使用。
第七章 linux環(huán)境編程
(一)基本教學內(nèi)容
7.1 系統(tǒng)調(diào)用和庫函數(shù)
7.2 文件操作
7.3 進程控制
7.4 進程通信
7.5 內(nèi)存管理
7.6 綜合編程示例
(二)基本要求
教學目的:了解系統(tǒng)調(diào)用和庫函數(shù);理解文件操作;理解進程管理和同步;掌握進程通信;了解內(nèi)存管理。
教學重點:進程通信、管理和同步。
教學難點:進程通信、管理和同步。
第八章 linux系統(tǒng)管理
(一)基本教學內(nèi)容
8.1 系統(tǒng)管理概述
8.2 用戶和工作組管理
8.3 文件系統(tǒng)及其維護
8.4 文件系統(tǒng)的備份
8.5 系統(tǒng)安全管理
8.6 系統(tǒng)性能優(yōu)化
(二)基本要求
教學目的:了解與linux系統(tǒng)管理相關的計算機術(shù)語;理解linux文件系統(tǒng)管理的基本概念和方法;掌握linux系統(tǒng)安全的基本概念和相應方法;學習linux系統(tǒng)性能優(yōu)化的技巧。
教學重點:linux文件系統(tǒng)的管理和維護,系統(tǒng)安全管理的方法。
教學難點:linux系統(tǒng)性能優(yōu)化的技巧。
第九章 網(wǎng)絡應用及管理
(一)基本教學內(nèi)容
9.1 配置網(wǎng)絡
9.2 電子郵件
9.3 網(wǎng)絡文件系統(tǒng)NFS
9.4 網(wǎng)絡管理
9.5 網(wǎng)絡安全
(二)基本要求
教學目的:掌握網(wǎng)絡配置和電子郵件;理解網(wǎng)絡文件系統(tǒng)的基本功能和使用方法;學會網(wǎng)絡管理的基本方法;了解網(wǎng)絡安全問題的對策和工具。
教學重點:linux的網(wǎng)絡配置和網(wǎng)絡管理。
教學難點:linux的網(wǎng)絡配置和網(wǎng)絡管理。
第十章 嵌入式操作系統(tǒng)簡介
(一)基本教學內(nèi)容
10.1 嵌入式系統(tǒng)概述
10.2 嵌入式操作系統(tǒng)概述
10.3 實時內(nèi)核及其實現(xiàn)
10.4 嵌入式操作系統(tǒng)實例—Clinux
(二)基本要求
教學目的:了解嵌入式系統(tǒng)的基本概念;理解嵌入式系統(tǒng)的實時內(nèi)核;掌握實時內(nèi)核的實現(xiàn)技術(shù)。
教學重點:實時內(nèi)核的實現(xiàn)。
教學難點:嵌入式系統(tǒng)的實時內(nèi)核及其實現(xiàn)。
三、課程各章節(jié)學時分配
序號
| 內(nèi)容
| 理論學時
| 實驗學時
|
計科
| 網(wǎng)工
| 軟工
| 計科
| 網(wǎng)工
| 軟工
|
1
| Linux系統(tǒng)概述
| 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內(nèi)核簡介
| 6
| 6
| 6
| 0
| 0
| 0
|
6
| 常用開發(fā)工具
| 2
| 2
| 2
| 2
| 2
| 2
|
7
| Linux環(huán)境編程
| 4
| 4
| 4
| 0
| 0
| 0
|
8
| Linux系統(tǒng)管理
| 2
| 2
| 2
| 2
| 2
| 2
|
9
| 網(wǎng)絡應用及管理
| 2
| 2
| 2
| 2
| 2
| 2
|
10
| 嵌入式操作系統(tǒng)簡介
| 2
| 2
| 2
| 0
| 0
| 0
|
合計
| 32
| 32
| 32
| 16
| 16
| 16
|
四、本課程課外學習與修學指導
由于該課程涉及Linux操作系統(tǒng)及其程序設計,內(nèi)容復雜,難度較大,且具有很強的實踐性,所以要學好本課程,必須做到理論與實踐緊密結(jié)合,才能達到較好的學習效果。要求學生多參閱相關書籍,多做練習,多上機實驗,掌握Linux程序設計方法。
五、本課程考核方式及成績評定標準
考核方式:考試
成績評定方法:本課程的考核是平時成績、實驗成績和期終考試成績相結(jié)合。具體比例為:上課出勤、作業(yè)占30%,實驗占20%,期末考查成績占50%。
六、教材及參考書
教材:《Linux教程》(第2版),孟慶昌、牛欣源編,電子工業(yè)出版社,2007年
主要參考書:
[1]《Linux & Unix程序開發(fā)基礎教程》(原書 名:Linux & Unix Programming Tools),Sarwar,Al-Saqabi,英宇、姚鋒譯,清華大學出版社,2004年1月
[2]《Linux程序設計》(第3版),Neil Matthew,Richard Stones,陳健,宋健建譯,人民郵電出版社,2007年7月
大綱撰寫人:沈亞敏
大綱審閱人:劉偉群
教學副主任:易葉青
編寫日期: 2012.6