課程資訊
課程名稱
C/C++程式設計
C/C++ Programming 
開課學期
112-2 
授課對象
 
授課教師
張傑帆 
課號
CSIE1928 
課程識別碼
902 48150 
班次
 
學分
3.0 
全/半年
半年 
必/選修
 
上課時間
星期一5,6,7(12:20~15:10) 
上課地點
普501 
備註
限非電資學院學生選修。。A6:數學數位與量化分析
總人數上限:80人 
 
課程簡介影片
 
核心能力關聯
核心能力與課程規劃關聯圖
課程大綱
為確保您我的權利,請尊重智慧財產權及不得非法影印
課程概述

C/C++是最基本也是目前最常使用之程式語言。C/C++ 至今仍是最流行的程式開發工具,從硬體、軟體的設計,到韌體、系統的開發,隨處都可以看到 C/C++ 的影子。掌握了 C 基本程式的技巧,可以讓同學體會到電腦處理資訊的能力。所以學習程式設計的入門必以C/C++為首選。而C++則是基於C語言的基礎而開發出新一代擁有物件導向程式設計(OOP)觀念的程式語言,而OOP在大型軟體的設計之中也扮演著重要角色。它讓整個軟體開發更容易分工清楚,增進了開發效率。即使是使用其他擁有OOP觀念的程式語言(如:Java),C++的OOP觀念也將使您在學習這類語言時輕鬆許多。
最新最夯的當紅熱門的創客與自造者(Maker)神器之一的 Arduino 的應用開發程式語言,也是以C/C++(C-Like)做為基礎開發語言,學會C/C++對學習與使用 Arduino 將會變得事半功倍。

※ 本課程將採用半線上混合式課程方式上課,採一週線上課程,隔週實體課程討論與解答的方式上課,增加時間利用效率。

各章節內容:
第一章:C語言入門 - 資料型態、變數與基本輸入輸出
第二章:流程控制敘述 - 判斷式與迴圈
第三章:陣列 - 一維陣列二維陣列
第四章:字元與字串
第五章:指標
第六章:函式
第七章:結構與檔案處理
第八章:導入C++ - 物件的使用、參考型態、重載函式
第九章:C++: 物件導向程式設計
第十章:C++: 類別的朋友關係、重載運算子與繼承


加簽方式:
初選開放80人
預計會開放20個「加簽碼」的名額
想要加簽的同學建議參加第一堂課的課程的說明
在課程說明後我會放填寫「加簽意願表」的表單
確定想要加選這門課再進行報名填寫
屆時將以表單的填寫狀況進行篩選

[助教聯絡資訊]
姓名:翁子傑、許晉捷、陳柳君
E-mail:ntu-c-cpp-ta@googlegroups.com 

課程目標
C/C++是廣泛使用全功能性的通用程式語言,而且歷史悠久,發展得相當成熟,透過我們設計的課程你將快速的學會C/C++來解決你所遇見的問題,或是燒錄進Arduino之中實現你創新的想法,課程將會從零開始,會使用大量的範例教學,讓即使是第一次學習程式的學生們也能快速上手,讓學生們習得程式設計的邏輯與語法,為成為學習其它程式語言或是開發互動式裝置的基石。

透過學習課程內容與使用線上批改系統練習完成以下目標:
1. 能夠正確使用基本C/C++程式設計語法,並具備在一定的熟練度能在時間內根據要求完成設計。
2. 能夠設計基本的演算法並使用C/C++語言算出正確答案解決問題(題目),避免重複冗餘的運算或使用多餘記憶體在有限的時間與記憶體限制下完成計算,。
3. 能夠使用標準IO與檔案IO讀寫資料。
4. 能夠使用與設計函式和物件類別,將程式模組化與完成物件導向程式設計。 
課程要求
[評量]:
時間:於期末考周2024/06/03(週一)下午12:20~14:50 (如有改期將另行公告通知)
地點:計中116 (請提前10-15分鐘到場準備,如場地有變更,或改變考試方式將另行公告通知,如因疫情或其他因素可能改由線上進行。)

[評分標準]:
1.作業 (40%):線上批改系統的指定作業
2.期末考 (60%):上機實作,考核當天現場公布由線上批改系統進行線上考核 (若系統無法使用將改採 pdf公佈考題) 需要參與考核評量,如無參加考核學期成績即為「F」。

[混合課程考核規範]:
1.在一個將連外網路全部封閉的電腦教室進行考試,如因疫情或其他因素進行在家考試可能可以開放網路。
2.考題為透過實際撰寫C/C++程式語言來完成題目所描述的結果。
3.考題由考試當天現場公布。
4.除因不可抗力外不接受補考、不接受更改考評時間。

[本課程考核的技能標準] :
1.熟悉基本C/C++程式設計邏輯
2.熟悉基本程式流程控制
3.使用C/C++讀取與寫入檔案
4.使用C/C++設計物件導向程式

課後學習
學生必須自行瀏覽網路課程內容與練習各章節之考題。 
預期每週課後學習時數
 
Office Hours
備註: 實體課上課時間,TA office hour 
指定閱讀
 
參考書目
C How to Program - Deitel, Harvey M.; Deitel, Paul J.
C++ How to Program - Deitel, Harvey M.; Deitel, Paul J. 
評量方式
(僅供參考)
 
No.
項目
百分比
說明
1. 
作業 
40% 
課程進度與影片觀看進度可參考作業範圍 共會有四次作業,一次佔總分10% 作業範圍 第1次: week03開始 第一章:C語言入門 - 資料型態、變數與基本輸入輸出 第二章:流程控制敘述 - 判斷式與迴圈 第2次: week07開始 第三章:陣列 - 一維陣列二維陣列 第四章:字元與字串 第五章:指標 第3次:week09開始 第六章:函式 第七章:結構與檔案處理 第八章:導入C++ - 物件的使用、參考型態、重載函式 第4次:week13開始 第九章:C++: 物件導向程式設計 第十章:C++: 類別的朋友關係、重載運算子與繼承 
2. 
期末考 
60% 
[考核規範]: 1.在一個將連外網路全部封閉的電腦教室進行考試,如因疫情或其他因素可能開放線上進行考核。 2.考題為透過實際撰寫C/C++程式語言來完成題目所描述的結果。 3.考題由考試當天現場公布。 4.除因不可抗力外不接受補考、不接受更改考評時間。 
 
針對學生困難提供學生調整方式
 
上課形式
以錄影輔助, 提供學生彈性出席課程方式
作業繳交方式
考試形式
其他
由師生雙方議定
課程進度
週次
日期
單元主題
第0週
  課程進度與影片觀看進度請參考下方作業範圍