Course Introduction

課程說明 (Course Description)

本課程之內容包括:C/C++ 語言基礎語法、程式寫作技巧與觀念及實作範例。透過課堂解釋實作範例搭配作業練習各主題的語法或技巧。

The course will introduce the basics of C/C++ and the concepts and skills of programming. Each theme will be instructed with examples and hands-on labs in-class or off-class.

指定用書 (Text Books)

  1. S. Prata, C PRIMER PLUS (自由購買)
  2. 課程講義 (Lecture notes)

參考書籍 (References)

國立清華大學開放式課程OpenCourseWare(NTHU, OCW) - 計算機程式設計一(資工版)

Introduction to C++ | Electrical Engineering and Computer Science | MIT OpenCourseWare

Introduction to C and C++ | Electrical Engineering and Computer Science | MIT OpenCourseWare

Effective Programming in C and C++ | Electrical Engineering and Computer Science | MIT OpenCourseWare

教學方式 (Teaching Method)

透過講義解說各主題的實作技巧,由學生練習、測試與完成相關之課堂實作或作業。 課堂會採用實體及線上混合教學,學生可在滿足防疫規定下參加現場授課,同時於線上平台直播,同學也可同步於線上平台留言發問。 學生課後可透過 eeclass 討論區及預約時段與授課老師及助教討論。

The course will introduce each theme with lecture notes. Students will practice each theme with Homeworks and hands-on labs in-class or off-class. The course will hold both physically and online. Students can attend class physically under Taiwan CDC COVID-19 guideline. Also, the course will stream on online streaming platform(s). Students can discuss in real-time on the online streaming platform(s). After class, students can use the discussion forum in the NTHU eeclass or make a reservation with instructor or TA.

教學進度 (Syllabus)

(9/11 updated) 週次皆為暫定安排,會依實際授課情形調整。

週次 (Week)主題 (Theme)
Week 2程式設計 & C/C++ 語言基本概念Basic Concept of Programming
& C/C++ Language
資料型態 & 格式化輸出與輸入(1)Data Type & Formatted
Input/Output(1)
Week 3資料型態 & 格式化輸出與輸入(2)Data Type & Formatted
Input/Output(2)
Week 4資料型態 & 格式化輸出與輸入(3)Data Type & Formatted
Input/Output(3)
運算子與運算式Operator & expression
Week 5分支敘述Branch Statement
迴圈敘述(1)Loop Statement(1)
Week 6迴圈敘述(2)Loop Statement(2)
Week 7陣列與字串(1)Array & String(1)
Week 8陣列與字串(2)Array & String(2)
Week 9陣列與字串(3)Array & String(3)
位元處裡Bit manipulation
Week 10期中評量Midterm exam
Week 11函式 & 參考(1)Function & Reference(1)
Week 12函式 & 參考(2)Function & Reference(2)
Week 13函式 & 參考(3)Function & Reference(3)
Week 14結構(1)Structure(1)
Week 15結構(2)Structure(2)
檔案File
Week 16記憶體管理Memory management
Week 17前置處理器Preprocessor
例外處裡Exception handling
除錯 & 斷言Debugging & assertion
Week 18期末評量Final exam

成績考核 (Evaluation)

暫定,會依實際授課情形調整。 (Tentative, will change during the course)

學期成績 (Grade) = 作業/實作 (Homework/Lab), 30% + 期中考 (Midterm exam), 30% + 期末考 (Final exam), 40 % + Bonus, 5% (11/25 update) = 作業/實作 (Homework/Lab), 50% + 期中考 (Midterm exam), 25% + Extra Homework, 15% + 期末考 (Final exam), 25% + Bonus, 5%

相關網頁(Personal Website)

課程網頁 (Course website): https://stevenokm.github.io/i2p-nthu-math/i2p1

課程資訊

  • 課程上課時間:每週四 15:30 - 18:10
    • 前 1 - 1.5 小時講解今日主題
    • 之後時間開放同學於現場或線上即時提問
  • 課程上課地點:
  • 本課程開放加簽,原則上限制人數為 50 人,且參加實體課程需配合防疫規定。
    • 請使用電子加簽系統加簽。
    • 目前開放上限為本系大一生 47 人,並另有 10 人須審核加簽名額。
    • 外系同學可線上加簽系統加選課程。
  • 本課程有 Teams 團隊,需在申請完學校的 Office 365 帳號後即可使用連結加入,同學可多加利用團隊進行討論。

作業

  • 每週作業會公布在課程網頁上,並使用 eeclass 平台繳交作業。
  • 作業會使用自動化工具檢查,若有批改上有問題可與助教詢問。
  • 作業抄襲一律 0 分計算,並且不計入繳交次數。
  • 作業須準時繳交,遲交則得到原始成績 80% 的分數。

期中 / 期末評量

  • 期中 / 期末評量採斷網上機測試。
    • 期中 / 期末評量會視疫情變化調整為其他方案。
  • 同學皆可參加期中 / 期末評量。

老師資訊

洪奕文 E-mail: s106062802@m106.nthu.edu.tw

Office Hours: Every Mon. 14:00 - 15:00

Office Room: R2341, 2F, EECS Building

Note: 若要來研究室詢問問題,請 一定要預約時間 ,臨時來研究室詢問 不保證 能夠當下開放詢問。 若要約 teams 詢問也可以約 Office Hour 時段詢問。

TA infos

許廷碩 E-mail: tim890727@gmail.com

TA Hours: TBA

上課實況/錄影檔

Youtube (Link: 上課錄影 - YouTube)

Bonus

課程內容如果有錯誤,可以在每頁的右上方 "Suggest an edit" 使用 Github 進行修改,修改完畢後利用 Pull Request 的方式提交。

提交時註明學號以及姓名,並且每提交一次可以增加學期分數,配分依據修改幅度而定,每人總增加分數不超過 5 分。