程式初步:中學生的第一堂C++課


C語言是程式語言發展中重要的里程碑,現今多數更為高階的程式語言都類似C語言的風格。軟體隨著需求而日益複雜,為了解決問題的複雜度(complexity),支援物件導向設計(object-oriented paradigm)的程式語言也陸續誕生,其中C++的影響力最為重要。如今,C++仍是軟體開發的主流語言之一[1]。本課程透過學員自己動手撰寫經典的遊戲,進而認識程式設計的精神與計算機運作的原理,同時培養計算思維(computational thinking)與累積抽象思考的經驗。就以這堂課當作進入資訊領域的起點,大家一起來coding吧!(注意:本課程需要大量練習與腦力激盪,請慎重考量是否願意投入時間。)

[1] TIOBE Index

課程大綱

(tentative schedule)
Day 1: syllabus, briefing computer systems, first program: ``Hello, World.''
Day 2: data types, operators, string
Day 3: flow controls (if-else, while loop, for loop)
Day 4: algorithms, analysis of algorithms
Day 5: functions and recursion
Day 6: pointers and arrays
Day 7: objects and class
Day 8: has-a and is-a relationship
Day 9: lab time (snake game)
Day 10: final exam

註0:updated on 2018/6/5

適合對象

國高中生,具備基礎英文與數學能力者。

開發環境

C++11 on Dev-C++

近期班次

注意事項

  • 上課地點:台灣大學資訊工程學系系館 詳細位置;教室號碼將於開課前一日公佈於官網"最新消息"中。
  • 上課教材:開課後將公布教學網站給同學查閱。
  • 結業狀況:請上官網”結業名單”查閱是否合格及可領取證書進度。

講師介紹

  • 臺灣大學資訊工程學系 博士班
  • 交通大學電信工程研究所 碩士
  • 中央大學電機工程學系 學士

// 服務經驗

  • 在本班已教授超過90個班,累計教學時數2,700個小時
  • 國立台灣大學 腦與心智科學研究所 兼任研究助理 (2014.8--present)
  • 中國信託商業銀行 全球金融商品交易處 期貨自營部 實習研究員 (2014.1--present)
  • 國立台灣大學 資訊工程學系 資訊系統訓練班 講師 (2014.1--present)
  • 國立台灣大學 資訊工程學系 課程助教:計算理論、離散數學、財務演算法 (2012.9--present)

// 研究興趣

  • Financial computing
  • Analysis and design of algorithms
  • Quantitative finance, econometrics, and algorithmic trading
  • Statistics and machine learning
  • Computing theory and programming language design

// 程式語言

  • MATLAB, Java, C, C++, Python

// 教學特色

  • 中文授課,課程教材以英文為主。適合規劃出國求學或對科學/技術理論有興趣的學員。