C++進階:物件導向與應用實務 [線上課程]

C++進階:物件導向與應用實務 [線上課程]

本門課前半部分以教授物件導向為主,傳統的程式設計以「函式」或「指令」為單位,而物件導向把程式看做是「物件」的集合,每個「物件」都能夠獨立接收、處理、傳遞資料,並與其他「物件」協作。相較於傳統的程式設計,物件導向考量了日後修改或更新的需求,在大型的程式中幾乎都會使用物件導向做為開發,並且導入設計模式的概念,因此物件導向也被視為軟體工程師的必備技能之一。

後半部則是補充從學生跨足到初階工程師(Junior Engineer)時所需要知道的知識,除了必須熟悉物件導向的使用外,對於 C++ 而言也必須熟悉命名空間的使用與 Makefile 的撰寫、連結函式庫,因此後半部的重心會放在補足初學 C/C++ 者時常遺漏卻又相當重要的主題,包含但不限於:函式指標、智慧指標、命名空間、程式編譯與 Makefile 撰寫,並從參考書目:Effective C++ 中擷取部分重要片段,期望在課程中帶領學員了解在 C/C++ 程式設計中需要考量與精進之處。



【本課程為預錄影片進行(無字幕),Office hour 為每周末的下午 13:00~16:00,會以 Google Meet進行】
【課程開始當週的禮拜六下午 15:00 會直播進行課程說明與Q&A】
【評分方式為:每周簽到 20%、作業 100%(一次20% 共5次),70分為通過標準】
【Office hour 外的發問以 E-mail 或 discord 為主】

課程大綱

Chapter 00 結構與標頭檔的使用 (自行閱讀)
Chapter 01 物件導向概論
Chapter 02 類別的權限管理
Chapter 03 類別間的繼承與覆寫
Chapter 04 虛擬、抽象與多型
Chapter 05 函式模板與類別模板
Chapter 06 類別補充
Chapter 07 設計模式簡介
Chapter 08 設計模式實作

Chapter 09:各式資料型態
Chapter 10:命名空間
Chapter 11:函式指標與智慧指標
Chapter 12:程式編譯

※課程內容將視實際上課情形加以增減

適合對象

建議國中以上並有C++程式語言基礎、想進一步了解物件導向的設計精神或C/C++ 程式設計時需要注意的細節與應用,另本門課並非入門的程式課,不建議同學以本課作為第一門程式課。

開發環境

Codeblocks

近期班次

講師介紹

  • 國立臺灣大學電機工程學碩士學位
  • 國立臺灣大學機械工程學學士學位
  • 國立臺灣大學醫學系學士班

(一) 經歷

  • 台大醫院見習醫師
  • IRHOCS 2015國際機器人實作競賽手臂機器人組 冠軍
  • 2015 上銀智慧手競賽佳作
  • 2020 iT邦幫忙鐵人賽 Blockchain組 冠軍

(二) 研究領域

  • 電腦視覺 機器學習 區塊鏈 智能合約

(三) 使用語言

  • C/C++,R,Python,PHP,Solidity

(四) 教學經驗

於本訓練班授課時數累計至2020年2月5日為1150小時

(五) 相關著作 區塊鏈生存指南:帶你用 Python 寫出區塊鏈! 

 

(六) 教學經驗 於本訓練班授課時數累計至2021年6月30日為1,710小時