
>
課程資訊
適用對象
課程特色
詳細內容
師資介紹
我對本課程有興趣
與我諮詢 / 報名
課程資訊
開課日期
隨時開課
學習時程
30
上課時間
週一~五
上課時段
晚上
適用對象
1. 無須具備程式語言基礎,但想要從事程式開發者。
2. 想要從事嵌入式軟體開發、MCU韌體、IC驅動程式設計開發。
3. 已學習過其他高階程式語言,而想要學習低階語言。
4. 具備一些C程式基礎,但好像自己動手,卻寫不太出來。
《職涯方向》
嵌入式設計師 │韌體工程師 │ 資訊家電設計師 │ 網路應用程式設計 │ Linux平台驅動程式
課程特色
[給你學的理由]
IEEE Spectrum ranking 最新公佈的熱門程式語言依排名為 C,Java, Python, C++, R,C#, 其中唯有C語言是這些當中最為低階的程式語言。為何C語言如此重要?因為C是計算機韌體程式的共同基礎,舉凡你要開發嵌入式系統軟底層、MCU韌體、IC驅動程式開發,那麼C一定是你必會的程式語言。
[名師醍醐灌頂]
對於初學者或其他領域想要進入這個語言世界,通常不太容易入手或不得其要領,而半途而癈。
故本班級邀請學員滿意度調查最高的Joseph 老師上課!!! 以其15年以上C程式開發經驗,來帶大家學會C程式精髓,給你100%清楚觀念,不再似是而非!
[強調實作能力]
除了給你清楚觀念外,你還可以從課堂上了解一個功能或問題,要如何用C來設計實作。接著你能夠知道如何運用計算機解決問題後,接下來就是談程式架構的問題,獲得到同樣的結果,但程式的寫法如何做到程式模組化而易於維護與Debug並且具有高度彈性擴展的一種程式架構。
IEEE Spectrum ranking 最新公佈的熱門程式語言依排名為 C,Java, Python, C++, R,C#, 其中唯有C語言是這些當中最為低階的程式語言。為何C語言如此重要?因為C是計算機韌體程式的共同基礎,舉凡你要開發嵌入式系統軟底層、MCU韌體、IC驅動程式開發,那麼C一定是你必會的程式語言。
[名師醍醐灌頂]
對於初學者或其他領域想要進入這個語言世界,通常不太容易入手或不得其要領,而半途而癈。
故本班級邀請學員滿意度調查最高的Joseph 老師上課!!! 以其15年以上C程式開發經驗,來帶大家學會C程式精髓,給你100%清楚觀念,不再似是而非!
[強調實作能力]
除了給你清楚觀念外,你還可以從課堂上了解一個功能或問題,要如何用C來設計實作。接著你能夠知道如何運用計算機解決問題後,接下來就是談程式架構的問題,獲得到同樣的結果,但程式的寫法如何做到程式模組化而易於維護與Debug並且具有高度彈性擴展的一種程式架構。
詳細內容
課程目標
1. 清楚掌握C語言的基本及進階觀念,尤其是針對pointer、Struct與位元處理等主題。
2. 認識前處理器、指標、特殊宣告等嵌入式系統常用的技巧。
3. 了解程式架構的可維護性、模組化。
2. 認識前處理器、指標、特殊宣告等嵌入式系統常用的技巧。
3. 了解程式架構的可維護性、模組化。
課程大綱
- Part1-程式語言導論
- ► C語言開發流程規範
► 整合式開發環境
- Part2-C程式介紹
- ► 程式架構
► 基本輸出與輸入函數
- Part3-運算式
- Part4-流程控制
- ► 資料流程與架構
- Part5-函式與巨集
- ► 函數定義
► 遞迴呼叫
► 巨集
- Part6-陣列與指標
- ► 陣列
► 多維陣列與指標
► 泡沫排序法
► 使用C語言開發驅動程式
- Part7-字串處理
- Part8-變數範圍
- ► 全域變數&區域變數
- Part9-檔案管理
- ► C語言檔案處理
- Part10-NEW data Type
- ► typedef型態定義
Q&A
1. Visual C, Borland C, GNU C 到底差在那裡?
這些都是由廠商或社群團體各自所開發出來的工具(編譯器)而已,每家會強調它們對程式碼編譯最佳化的能力。但...就學習一個程式語言本身,工具不是重點,畢竟這不是強調工具教學。艾鍗的C語言注重的是,C語言特性與debug能力,並能學習建立好的程式架構以產出一個具可維護性、模組化的軟體程式。
這些都是由廠商或社群團體各自所開發出來的工具(編譯器)而已,每家會強調它們對程式碼編譯最佳化的能力。但...就學習一個程式語言本身,工具不是重點,畢竟這不是強調工具教學。艾鍗的C語言注重的是,C語言特性與debug能力,並能學習建立好的程式架構以產出一個具可維護性、模組化的軟體程式。
2. 上了課就一定會寫程式嗎?
我們教學方法,都是從實際生活中應用拿來作為實際案例撰寫, 你上課跟著做,你將突然發現原來幾百行程式在課堂中就這麼輕鬆完成。當然程式除了理解外,時常練習是一定要的(基本語法也才記得住嘛!)
我們教學方法,都是從實際生活中應用拿來作為實際案例撰寫, 你上課跟著做,你將突然發現原來幾百行程式在課堂中就這麼輕鬆完成。當然程式除了理解外,時常練習是一定要的(基本語法也才記得住嘛!)
3. Embedded C和 C 有何差異?
一樣是在學C語言, 只是課程內容上, 會有一些篇幅在描述 C語言對硬體暫存器讀寫的作法 (其實就是C語言的位元操作), 程式設計優化的問題,如程式code size及 Run time 佔記憶體空間大小的問題, Multi-Byte Ordering , Alignment等問題。而這些都是在一般嵌入式系統或單晶片開發上要特別"注意"的地方,畢竟一般高階應用程式並不會特別注意到這個部份,不過本質上還是C語言,因此程式設計的邏輯與架構才是根本,對那些要注意的地方,課程上老師都會提出來說明。
一樣是在學C語言, 只是課程內容上, 會有一些篇幅在描述 C語言對硬體暫存器讀寫的作法 (其實就是C語言的位元操作), 程式設計優化的問題,如程式code size及 Run time 佔記憶體空間大小的問題, Multi-Byte Ordering , Alignment等問題。而這些都是在一般嵌入式系統或單晶片開發上要特別"注意"的地方,畢竟一般高階應用程式並不會特別注意到這個部份,不過本質上還是C語言,因此程式設計的邏輯與架構才是根本,對那些要注意的地方,課程上老師都會提出來說明。
亦有C++課程版本,歡迎填表洽詢
師資介紹
Joseph
▪ 台灣大學電機工程系博士研究 ▪ 上市網通科技公司/資深軟體工程師
▪ 嵌入式Linux系統 ▪ ARM Boot Loader ▪ 資料結構及演算法 ▪ PCB Layout
▪ MCU 韌體設計 ▪ Linux 驅動程式▪ Linux系統程式 ▪ 網路通訊協定
備註
本班名額有限,欲報從速
http://bit.ly/2OwTlyL
如您對本課程有興趣,或需相關諮詢,歡迎於下方留下您的聯絡資訊,我們將派專人與您聯繫,感謝您!