C/C++基礎程式設計 [線上課程]

C/C++基礎程式設計 [線上課程]

        C/C++是最基本也是目前最常使用之程式語言。所以學習程式設計的入門必以C/C++為首選。而這也是為什麼資工系大一上學期的必修課一定會有所謂的”C語言程式設計“的課程安排。
        C/C++ 至今仍是產業界最流行的程式開發工具,從硬體、軟體的設計,到韌體、系統的開發,隨處都可以看到 C/C++ 的影子。 掌握了 C 基本程式的技巧,可以讓同學體會到電腦處理資訊的能力。學習 C/C++ ,日後除了可以寫出屬於自己的程式掌控電腦外,更是有志成為千萬年薪資深工程師最需把握的一張門票。
        因為對於想開始學習程式設計的人們,必定首先建議他們從C開始。而C++則是基於C語言的基礎而開發出新一代擁有OOP(物件導向程式設計)觀念的程式語言。它與C相容,所以在學會C之後。對於學習C++之幫助甚大。而OOP在大型軟體的設計之中也扮演著重要角色。它讓整個軟體開發更容易分工清楚,以增加開發效率。因為對於參與分工合作的軟體專案來說,學會C++肯定是有幫助的。即使是使用其他擁有OOP觀念的程式語言(如:Java),C++的OOP觀念也將使您在學習這類語言輕鬆許多。
        本課程之內容包話了:C/C++語言基礎語法、程式寫作技巧與觀念、常用之資料結構、C++之OOP觀念與實作。

課程大綱

主要教學目標為:使無程式設計基礎與經驗者學會C/C++之語法與基本程式設計技巧

        本課程之設計以程式語言之初學者為基準,教導使用者如何撰寫程式指揮電腦進行資料輸出入、資料處理、邏輯控制等等工作,由淺入深,並配合上機演練,透過練習與思考,吸收豐富的教材內容。
本課程為線上課程,採用半線上混合制,讓你免去通勤的困擾,只有期初及期末要來學校,即便因路途遙遠不能來,也能用觀看錄影的方式,補到期初與期中的課程內容,最後一次上課為期末考,有別於傳統的純線上課程,期初與期中這兩天來學校可以讓老師來解答各位同學在課程中遇到的問題,補足線上課程中無法見面的不足,最後一天期末的課程,則是讓同學們運用上課所學,展示學習成果,進行期末考核,驗證所學。
在課程中引入了台大資工系的線上批改系統(Online Judge),讓學員們可以在學習後便能馬上練習,題庫種類完整,可以在家即練習,即時找到自己學習的問題。
線上練習系統介紹影片



#教學大綱:
C/C++語言基礎語法
程式寫作技巧與觀念
C++之OOP觀念與實作


#課程進度表:
Ch01 第一章:C語言入門
Ch02 第二章:資料型態、變數、基本輸入輸出(Data Type, Variable, Input/Output)
Ch03 第三章:控制敘述與陣列(Control & Array)
Ch04 第四章:二維陣列(2D Array)、字元與字串(Character and String)
Ch05 第五章:指標(Pointer)、函式(Function)
Ch06 第六章:結構(Structure)、檔案處理(File)
Ch07 第七章:C++: 物件的使用(Object)、參考(Reference)、重載函式(Function Overloading)
Ch08 第八章:C++: 物件導向程式設計-使用類別(Class)
Ch09 第九章:C++: 類別的朋友關係(Friend)、重載運算子(Operator Overloading)、繼承
Ch10 期末考 

線上課程進行方式


●本課程將以非同步的影片方式進行線上課程,採用本校的NTU Cool平台,影片尚無字幕,並於開課日以E-mail寄發註冊信(報名時請務必填對E-mail)。
●課間練習,與自主練習可使用台大資工系所開發的JudgeGirl平台。
●課程中若有問題問老師可以使用email或於線上練習平台JudgeGirl留言給老師。

課程評量方式與通過標準


本課程採用作業與期未報告及期末作業的型式進行評量
●平常作業50% (依單元出9個作業,使用老師指定的平台繳交)
●期末報告25% (可以自訂任意題目,使用老師指定的平台繳交)
●期末作業25% (結業日時公佈題目,作答時間為一週,使用老師指定的平台繳交)
以上共達75%達成結業標準。



適合對象

基本操作與上網能力,具國中英數基礎。
對程式設計有興趣者。

開發環境

Windows XP/7/8/10/11


Dev C++ (上課示範採用)
CodeBlocks
Visual Studio - Visual C++
Visual Studio Code
任何型式的文字編輯器或IDE

Mac OS X


XCode
CodeBlocks
Visual Studio Code
任何型式的文字編輯器或IDE

近期班次

  • 第350期 招生中

    課程類別:線上課程

    開課日期:2021.11.02 ~

    學費:新生新台幣4500元整

    備註:

    線上課程影片無字幕輔助

    因應疫情,期初、期末實體課程取消,採全線上上課。

    (一)轉班或退費期限:開課日後⅓時數內,詳情連結

    (二)結業狀況:查詢是否合格及證書製作進度,結業名單連結

    (三)線上課程上課時間:請參考官網最新消息「線上課程常見QA」,詳情連結

    注意事項

    • 上課教材、影片:開課當天會發送註冊信至信箱,註冊完畢後即可開始上課。
    • 結業狀況:請上官網”結業名單”查閱是否合格及證書製作進度。
    • 轉班或退費期限:開課日後三週內。
    • 繳交作業期限:結束日後一週內,通過課程標準才會製作證書。
    • 課程影片下架日:結束日後六個月。

  • 講師介紹

    • 現為本校資訊工程學系暨研究所專案助理教授
    • 現為本訓練班副班主任

     (一)學/經歷

    榮獲國立臺灣大學109學年度全校兼任教師教學優良獎

    http://www.aca.ntu.edu.tw/curri/ExecellentTeacher/PET109.pdf

    榮獲國立臺灣大學107學年度兼任教師教學優良獎

     https://www.aca.ntu.edu.tw/curri/ExecellentTeacher/PET107.pdf

    國立臺灣大學資訊工程學暨研究所博士學位

    有十餘年程式設計經歷,具有C/C++、C#、Python、Visual Basic.NET、ASP.NET、JavaScript、MATLAB、Arduino、8051/ARM組合語言及Verilog等程式開發經驗。

    曾任:

    • 本訓練班授課時數累計至2020年6月30日為7,120小時
    • 國立臺灣大學 共同教育中心 計算機程式設計、C/C++程式設計、嵌入式微型電腦互動設計 合聘助理教授
    • 國立臺北科技大學 2019 潔能系統整合與應用人才培育計畫 - Arduino 太陽能潔能課程 講師
    • 國立臺灣師範大學 2017 STEM教學探索工作坊-使用Arduino 講師
    • 國立臺灣師範大學 2017 創客思維下的探究教學設計 Arduino工作坊 講師
    • 景文科技大學 Python入門課程工作坊 講師
    • 太豪生醫股份有限公司 軟體工程師
    • 國立臺灣大學資訊工程學系 電腦視覺 單元課程授課助教
    • 國立中興大學電機工程學系 電磁學 課程助教

    (二)論文著作:

    • Moon, Woo Kyung and Chang, Jie-Fan and Lo, Chung-Ming and Chang, Jung Min and Lee, Su Hyun and Shin, Sung Ui and Huang, Chiun-Sheng and Chang, Ruey-Feng (2018). Quantitative breast density analysis using tomosynthesis and comparison with MRI and digital mammography. Computer methods and programs in biomedicine154, 99-107.
    • Guo-Shiang Lin, Jie-Fan Chang, and Cheng-Hung Chuang. "Detecting frame duplication based on spatial and temporal analyses." Computer Science & Education (ICCSE), 2011 6th International Conference on (pp. 1396-1399). IEEE, 2011.
    • Guo-Shiang Lin and Jie-Fan Chang, "Detection of Frame Duplication Forgery in Videos Based on Spatial and Temporal Analysis," International Journal of Pattern Recognition and Artificial Intelligence, vol. 26, no. 7, pp.1250017-1- pp.1250017-18, 2012. (SCI)

    (三)參與研究:

    1. LiFiBay: Noninvasive Evaluation of Liver Fibrosis by Using Bayesian Networks with Ant Colony Optimization(2013)
    2. Detecting Frame Duplication Based on Spatial and Temporal Analyses (2011)
    3. 學習腦波之檢測分析(2009)

    (四)專業證照:

    • 乙級 電腦硬體裝修國家技術士
    • Microsoft Certified Technology Specialist (MCTS)
    • Windows Server 2008 Active Directory: Configuration
    • Windows Server 2008 Network Infrastructure: Configuration
    • Microsoft Certified Professional (MCP) Managing and Maintaining a Microsoft Windows Server 2003 Environment Installing, Configuring, and Administering Microsoft Windows XP Professional