AIoT top banner

 

 

 linux pd banner

課程簡介 學習菜單 課程預覽 延伸學習 課程諮詢
現在位置:艾鍗學院數位學習Linux程式設計

 el all class sale

學習目標
✔清楚掌握C語言的基本及進階觀念,尤其是針對pointer、Struct與位元處理等主題
✔認識前處理器、指標、特殊宣告等嵌入式系統常用的技巧,了解程式架構的可維護性、模組化
✔能夠清楚掌握程式的重要觀念,了解"軟體程式=演算法+資料結構"熟悉不同的設計模式與何時
會應用。

✔藉由排序與搜尋演算法理解來討論Big-O演算法效能分析
✔了解Linux system call (如I/O, IPC, pthread等),而能運用這些system call實現Linux程式,
亦藉此了解 OS在嵌入式系統所扮演的角色

✔了解 server/client程式運作與 TCP/IP原理,並能夠以 C語言實作 TCP/UDP/Raw Socket
✔能夠以 ioctl/fcntl/setsockop去控制 Socket的行為
✔能夠實現 Linux Broadcast與Multicast

學習菜單

※點選課程可展開看更多

★精通C語言

    • 程式語言導論

    • C程式介紹

    • 運算式

    • 流程控制

    • 函式與巨集

    • 陣列與指標

    • 字串處理

    • 變數範圍

    • 檔案管理

    • NEW data Type

★資料結構

    • 資料結構導論

    • ADT 抽象資料型別設計方法

    • Set 集合 ADT設計

    • Stack堆疊

    • Queue 佇列

    • Linked List鏈結串列

    • Tree樹狀結構

    • Graph 圖形結構

    • Search資料搜尋

    • Sorting資料排序

★Linux系統程式設計

    • Low Level I/O Routine

    • File and Directory Manipulation

    • General Library Interface

    • Processes

    • Signals

    • POSIX Thread

    • InterProcess Communication

    • Shell programming

    • Linux Serial Programming

    • Linux Sokcet Programming

    • TCP/IP 網路簡介(1)

    • TCP/IP 網路簡介(2)

    • Wireshark 工具使用

    • TCP Socket程式與Socket API介紹

    • Socket多工處理

    • UDP Socket

    • Unix Domain Socket

    • Socket Option & Ioctl

 

 

講師實務經驗分享
Linux系統程式設計:
一般情況,通常整個嵌入式Linux系統的功能會有你自己寫的程式(可能也會去連結GPL或LGPL函式庫)並整合一些來自Open Source的程式。雖然Linux已存在很多的Open Source,但不可能永遠運氣這麼好都可以找到100%符合需求或規格的原始碼,所以你必須懂得如何修改成你要的功能。不論自己寫或移植Open Source,這些都是基於Linux核心,所以一定會用到Linux核心的能力,包含裝置I/O請求、多行程、同步處理、行程通訊等。若你的系統需要TCP/IP通訊,還得懂Socket網路程式設計。想自己寫並且能改得動Open Source的程式,其實要具備Linux系統程式設計的能力,你可以透過閱讀"Linux Programming Manual",但是篇幅之廣泛且多元,如果沒有對作業系統有一定的認知,不懂對系統呼叫(System call)所產生Linux背後的運作行為,很難了解真諦。因此若有經驗的人帶你看並且提供範例程式演練,對於學習會相當有幫助。
資料結構與演算法:
資料結構(Data Structures)是資訊學科中的核心課程之一,也是嵌入式軟體設計的基礎課程、軟韌體開發者的必修課程,這門課讓你思考程式的執行效能,設計有效率的演算法來解決問題。
C語言:
許多初學者或其他領域者想要進入C語言世界,常常不得其要領。艾鍗C語言課程強調建立清楚觀念,並養成實作的能力。程式的寫法如何做到程式模組化而易於維護與Debug?如何寫出具有高度彈性擴展的程式架構?這些都是這門課能帶你搞懂的!
 

課程預覽

 

Linux系統程式設計  

 

C語言 資料結構

 

 

更多延伸學習

 

★數位課程

 

 

★實體課程
全新數位學習平台

 

索取更多資訊
 

OpenCV-A 728x90

 

ROS 728x90