自強課程

課程名稱
【打好基礎必修課】嵌入式 C & C++全方位應用程式設計實戰班 (模組A+B) 如期開班
【適合AIoT嵌入式系統+單晶片+電控開發】 適合沒有任何程式設計經驗者,從基礎到進階 完整的課程規劃
由於嵌入式、AI人工智慧及ARM即時作業系統的盛行,其進入門檻就是--嵌入式C語言,在AI人工智慧是Python語言。本課程著重於程式設計實務之演練,講師除了輔以教學投影片,講解程式設計理論及程式語法,同時間會在課堂上實際現場撰寫(CODING)程式範例,讓學員清楚如何從無到有、清楚且完整的撰寫程式。整個課程內容不僅是C/C++程式技術,包含業界需要的進階程式設計技巧,。那Python是AI人工智慧首選語言,且Python的應用特別廣,而Python語言,它的底層是用ANSI-C實現完成。且Python採取開放策略,Python本身被設計擁有可擴充性,提供了豐富的API和工具,以便程式設計師能夠輕鬆地使用C、C++來編寫擴充Python模組。所以可程內容規劃加強了Python Extending。

C++ 多年來一直是流行的程式語言。嵌入式系統的微控制器技術(如ARM Cortex-M)在物聯網運用的最新發展, 如 ARM mbed platform, C++ 已是系統應用開發的首選語言。

本課程授課過程,實際在嵌入式系統的ARM Cortex M 的開發工具中教授 C++ 程式語言,且深度探索關鍵 C++ 的特性、程式編寫風格與對嵌入式系統資源和性能的影響。讓學員學到可以達到高效能且專業的嵌入式 C++ 程式專業能力。

本課程雖然專注於嵌入式系統的 C++ ,開發與執行環境是在 ARM Cortex M 系統,但課程同時適合任何希望學習 C++ 程式語言,以用在嵌入式Linux環境系統中開發應用程序的人。這課程是圍繞精心設計的練習編程和調試一個真正的嵌入式系統,以加強和挑戰學習的程度。

嵌入式系統的 C++ 針對的是電子硬件,軟件和片上系統工程師,他們需要獲得 C++ 語言的工作知識才能構建嵌入式系統。該課程也適用於 C++ 編程的一般介紹,特別是對於在電子相關業務領域工作或在數字電子學背景下工作的人員。
 課程代碼:
08C008
 上課時間:
3/12~5/31 每週二五晚上19:00~22:00共66小時(4/2,4/5 停課) 
 上課時數:
66 小時
 課程費用:
19800元 (符合超值優惠價格者需送出報名表後,系統發出報名成功回函確認金額。)
 超值優惠:
  • VIP企業會員價:VIP企業會員可享優惠價格 (按我)
  • 會員優惠價: 會員於開課前七天完成報名繳費者可享會員優惠價 18000 元
  • 會員紅利折抵:本課程歡迎使用紅利折抵,最高可使用 300 點
 課程目標:
1.培養正確完整的嵌入式C語言 程式設計概念與程式設計基本能力。
2.培養完整且符合業界之C語言韌體設計的能力。
3.增加學員使用C語言開發應用程式的能力。
4.培養完整且符合業界之物件導向分析設計的能力
5.增加學員使用C語言開發應用程式的能力
6.對程式設計有興趣者、或想學習資料結構與演算法者也適合此課程。
7.加強 C/C++ 之 Python Extending
 課程特色:
1. 本課程著重於程式設計實務之演練,講師除了輔以教學投影片,講 解程式設計 理論及程式 語法;同時間會 在課堂上實際現場撰寫(CODING)程式範例,讓學員 清楚如何從無到有、清 楚且 完整的撰寫程式。
2. 整個課程內容不僅是C++程式技術,也包含業界需要的進階程式設計技巧
3. 上完此課程,您將從講師於課堂上完成的大量 LAB 範例,實際上學到程式撰寫 的實作技巧與思考方式。
4. 增加學員使用C語言、C++物件導向程式語言開發應用程式的能力
5. C++語言的語法和語義(包括C++11)
6. 物件導向建模,嵌入式C++軟體程式編寫的原理
7. 如何使用C++程式語言編寫嵌入式系統
8. 如何使用C++控制內存及映射周邊設備
9. 以C++編程嵌入式系統的最佳化
7. 進一步理解 C++ 相關重要機制的幕後運作
8. 深度探索 CRT (C Runtime Library) 及 virtual functions、 polymorphism、dynamic binding 幕後的機制
9. 增加Python Extending with C/C++技巧與實戰
 修課條件:
1. 熟悉電腦基礎操作。
2. 適合沒有任何程式設計經驗者,從基礎到進階 完整的課程規劃。
 課程大綱:
【模組A】嵌入式 C 語言應用實戰班【適合AIoT 嵌入式系統+單晶片+電控開發】
【課程大綱】
1.C&C++Tools Introduction and Setup
2.C&C++式架構、常數(Constants)、資料型態/Alignment 與運算式、Endian- ness 與 Byte Ordering、嵌入式C Bitwise運算子及最佳化技術
3.C&C++基本輸入輸出(Input/Output)
4.流程控制敘述(Flow Control & Loop)、流程控制最佳化技術
5.C&C++編譯器前置處理器(Preprocessor Compiler Control):#include、 #define/#undef、 #if/#else/#endif/#ifndef
6.指標(Pointer)、陣列(Array)、字串:字元陣列與字元 指標 (String: Character Array, Character Pointer)、stringify operator、 Token Concatenation Operator、 Memory Alignment LAB
7.指標陣列(Pointer and Array)進階用法:多重指標與多 維陣 列、指標陣列化 (Pointer to Array)
8.陣列指標化(Array to Pointer)
9.C&C++函式(Function):函數的定義及呼叫、函數的原型 宣告、參數的傳遞與預 設初值、C++函 數的Overload(同名異式、函數覆載)... unknown parameter的運用
10.Mixed C and Assembly( include Parameter passing )
11.static、volatile、const and typedef
12.結構型態(Structure Types):struct、enum、union Type、檔案IO處理(File I/O) 、 bitwise field structure
13.指標進階應用( 函式指標(Function pointer)、結構型 態與指標、void指標 (void pointer)
14. Python Extending with C
15. LAB: Python Extending with C

【模組B】嵌入式 C++ 專業程式設計應用實戰進階班【適合AIoT嵌入式系統+單晶片+電控開發】
【課程大綱】
1. From C to C++ and C++11/從 C 到 C++/C++11
The features added to C by C++、 inline 、 C++ const 、 Enhanced enumerations 、 constant expressions 、 Overview of I/O streams 、 Function prototypes 、 Pass- by-reference 、 Default arguments 、 Function and operator overloading 、 String class、Learn the principles of object-oriented design
2.Explore in depth the Startup Code and C Runtime(CRT)/深度探索Startup Code及 C Runtime(CRT)
Stack/Heap init, I/O init, Environment Variables, main()的引數 argc & argv & envp , core of C/C++ Initialization, SystemInit[ main()之前執行的特定程式 ]3.C++ Linkage and Storage
C++ Scope 、 Linkage 、 Linking C and C++ 、 Namespaces 、 C++ Static, automatic and dynamic storage 、 new and delete 、 Placement new 、 C++ Arrays and Pointers 、 Vectors
4.Classes and Objects/類別與物件
Object-Oriented modeling and abstraction 、 Information hiding 、 Abstract data types 、 Classes and objects 、 Public and private class members 、 Member functions 、 Scope resolution 、 this pointer5.Constructors
Objects initialised and how to tidy up afterwards、 Constructors 、 Destructors 、 Delegating constructors 、 Copy constructors 、 Pointers and objects 、 Move semantics
6.Members and Friends
More features of C++ classes 、 Friends 、 Operator overloading 、 Overloading assignment 、 Move assignment 、 Memory fragmentation 、 Working with memory pools 、 Static members 、 Constant objects and members
7.Object-Oriented Modelling/物件導向建模
Class relationships 、 UML/Class and object diagrams 、 Association 、 Composition 、 Dependency 、 Implementing class relationships in C++ 、 Initialization of class members 、 Singleton class 、 Design Patterns(設計模式)
8.Inheritance/繼承
Derived classes 、 Inheritance 、 Protected members 、 Casting pointers 、 Order of initialization
9.Explore in depth the Virtual Functions and Polymorphism in depth/深度探索虛擬函 數及多型
Inheriting common behavior 、 Overriding methods 、 Virtual functions 、 Polymorphism 、 Late binding/Dynamic Binding動態繫結 、 Virtual destructors 、 Vptr/Vtable 、 Cost of virtual functions 、 Abstract base classes and pure virtual functions 、 Interface classes
10.Advance C++ Features/高級C++特性
User-defined conversions 、 Explicit functions 、 Defaulted and deleted behavior 、 Run-Time Type Identification 、 Type casts 、 Nested classes 、 Multiple Inheritance 、 Pointer-to-member 、Function wrapper
11.Templates/樣板
Function templates 、 Class templates 、 Template arguments 、 Template specialization 、 Dependent name and type lookup 、 Avoiding code bloat12.Exception Handling and Efficiency Considerations/異常處理及效率的注意事項
Exception handling - definition and programming、Exception classes and hierarchies、User exceptions、C++ standard exceptions
13. Python Extending with C++
14. LAB: Python Extending with C++
  主辦單位:
財團法人自強工業科學基金會
  注意事項
  • 清華大學學生優惠方案:清華大學學生可享課程最低優惠價─VIP企業會員優惠價,完成報名後須來電告知修改費用(使用本優惠價須於報名同時檢附在學中有效的清華大學學生證,且不得開立抬頭「國立清華大學」以外的三聯式公司發票)。
  • 若遇不可預測之突發因素,基金會保有相關課程調整、取消及講師之變動權。
  • 無紙化環境,輕鬆達到減碳救地球,即日起16小時以上課程結業證書或未達16小時課程上課證明皆以電子方式提供。
  • 使用VIP廠商優惠之學員,上課當日報到時須查核該公司識別證(相關證明資料)。
  • 會員紅利折抵限以原價或會員優惠價再折抵,其他方案不適用。
  • 課前請詳閱簡章之課程內容或利用課程諮詢電話。
  • 課程嚴禁旁聽,亦不可攜眷參與。
  • 優惠方案擇一使用。
  • 課程查詢或相關作業時程,請洽以下聯絡窗口。
    聯絡資訊