課程資料
C248 LINUX 程式設計
|
開課學期:1062
|
開課班級:
資工系 3B
|
授課教師:曾宇瑞
|
選修
|
學期課
|
學分數:3.0
|
大義 0901 星期二 12:10-15:00
|
C248 LINUX PROGRAMMING
|
2018 Spring
|
Department of Computer Science and Information Engineering 3B
|
Professor:TZENG, YEU-RUEY
|
Elective
|
Semester
|
Credits:
3.0
|
Da Yi 0901 Tuesday 12:10-15:00
|
發展願景
傳揚中華文化,促進跨領域創新,與時精進,邁向國際
It is our objective to promote Chinese culture, enhance cross-disciplinary innovation, seek constant advancement, and embrace global community.
辦學宗旨
秉承質樸堅毅校訓,承東西之道統,集中外之精華,研究高深學術, 培養專業人才,服務社會,致力中華文化之發揚, 促進國家發展.
Based on our motto—“Temperament, Simplicity, Strength, and Tenacity,” “inheriting the merits of the East and the West” and “absorbing the essence of Chinese and foreign cultures,” we make it our mission to pursue advanced research, develop professional talents, serve the society, promote Chinese culture and support national development.
校教育目標
校基本素養
校核心能力
院教育目標
研究創新、科技興國
發展產業、學以致用
培育優秀青年工程師
院核心能力
科學理論與工程知識
系統設計與資通科技
實驗分析與實踐技能
創新整合與終身學習
工程倫理與社會責任
計畫管理與團隊合作
系核心能力
應用數學、資訊科學與工程知識解決問題之能力
撰寫程式與設計系統以解決問題之能力
資訊系統規劃、設計、實作、測試、整合與成果展示之能力
團隊合作與有效溝通以解決問題之能力
具備人文與科學並重之素養,以及遵守專業倫理與尊重智慧財產權之觀念
關注科技發展與時事資訊,並理解科技對環境、社會、國家及全球之影響
主動積極與持續學習之習慣與能力
課程目標
1. 訓練同學實作Linux系統之程式設計。
2. 訓練同學熟悉進階之程式語言工具。
課程能力
撰寫程式與設計系統以解決問題之能力 (比重 60%)
資訊系統規劃、設計、實作、測試、整合與成果展示之能力 (比重 40%)
課程概述
本課程介紹,實際學習與實作Linux系統的程式設計, 一開始先以shell程式設計(bash)為前導練習, 學習環境變數, 數值比較, 條件與迴圈控制等設計技巧. 熟悉基本shell設計後, 循序加入dialog函式庫, awk 與 sed 使用技巧, 完成具使用者互動介面的工具實例設計.
第二階段進行進階程式語言工具介紹, 學習ANSI C(或Ruby,Python,擇一), 含括Linux系統程序(process),訊號(signal)與 正規表示式之練習, 課程進行方式以講述與範例練習, 實際操作後觀察執行結果, 適合已具程式設計基本概念與操作能力.
學員建議具備以下能力,以順利進行課程:
1. 瞭解並使用過C語言.
2. 使用過vi 或其他Linux文字編輯器.
3. 使用或安裝過任一Linux發行版(Fedora/Debian/Ubuntu/SuSE, etc.)
This class introduce Linux programs with features such as multiprocessing, multi-threading, interprocess communication. Topics included system process, signal, bash , C++ (Python or Ruby) programming. This course provides hands-on training, concepts, demonstrations, with emphasis on realistic labs and programming exercises. Upon completion of the course students will have learned and practiced the essential skills required to develop programs for Linux systems.
To succeed fully in this course, students should be able to :
1. Have experience in C programming
2. Have experience with editors such as vi, emacs
3. Experience of using any Linux distribution, like Debian, Redhat or SuSE, etc.
授課內容
本課程先從Linux基礎指令以及shell程式設計環境架設和變數開始,逐步進入到shell指令稿的偵錯與實務應用,由淺入深,有系統的介紹程式設計各個方便的理論知識,並搭配實際的程式演練,引導學員如何應用和實際開發Linux程式。課程內容包含:
*Linux作業環境入門
*Linux程式設計環境架設
*shell 程式語法與程式設計技巧
*Linux程式設計實務應用
In this course, we'll start from the basics of Linux commands, explaining how to run the shell program and some skills needed in shell programming. The aim of the course includes the
following:
* Introduction to the Linux environment
* Shell programming environment
* Shell syntax and debugging
* Practical examples for Linux programming
授課方式
理論講解並搭配實際程式演練。
評量方式
上課用書
(師生應遵守智慧財產權及不得非法影印)
1. 教課書:鳥哥的Linux基礎學習訓練教材, 書號: AEA000400, 作者: 鳥哥, ISBN: 9789864765751, 出版社:碁峰
2. 自行整理教材
參考書目
(師生應遵守智慧財產權及不得非法影印)
1. Linux Shell 程式設計與管理實務 [第三版], 書號:MP21712, 作者:臥龍小三, ISBN:978-986-434-226-6, 出版社:博碩
2. Linux程式設計教學手冊(第四版)-Beginning Linux Programming 4/e
作者:Neil Matthew, Richard Stones/譯者:江俊龍, ISBN:978-9-861-815497, 出版社:Wiley Publishing, Inc / 碁峰資訊出版
英文期刊:
1. Linux Journal -- http://www.linuxjournal.com/tag/programming
2. Linnux Journal/201408/ http://gutl.jovenclub.cu/wp-content/ftp/ftp-gutl/docs/revistas/linux-journal/08-2014.pdf
課程需求
要報告
上課抽問,請同學解釋程式邏輯與內容
要考試不定期小考
其他需求上課第一天再補充說明
輔導時間
教師聯絡資訊
Email:93356511@nccu.edu.tw
分機:
課程進度
2018/02/20 | 同學自行參考教材區內之中英文資料 |
2018/02/27 | 課程說明、Linux介紹與Linux常用指令介紹指定研讀資料補充資料 |
2018/03/06 | 指令下達行為與基礎檔案管理指定研讀資料補充資料 |
2018/03/13 | Linux 基礎檔案權限與基礎帳號管理 |
2018/03/20 | bash 指令連續下達與資料流重導向 |
2018/03/27 | Linux shell程式設計_變數、條件判斷敘述 |
2018/04/10 | Linux shell程式設計_迴圈 |
2018/04/24 | Linux shell程式設計_正規表示法 |
2018/05/01 | Linux shell程式設計_sed & awk |
2018/05/08 | Linux shell程式設計_系統管理實務1 |
2018/05/15 | Linux shell程式設計_系統管理實務2 |
2018/05/22 | Linux程式應用實例-openssl 對稱式加解密 |
2018/05/29 | Linux程式應用實例-openssl 公鑰系統 |
2018/06/05 | Linux程式應用實例-sshd伺服器 |
2018/06/12 | Linux shell程式設計_實戰與偵錯技巧 |
2018/06/19 | 期末測驗 或 Linux shell程式設計_綜合練習 |