選課日期:113/02/21截止
課程名稱
物件導向程式設計-1
授課教師
電機系電控所 王學誠 副教授
課程概述與目標
- 學習使用高階程式語言Python 熟悉從C++到Python的使用。 Python為人工智慧、資料科學領域重要程式語言,有助於銜接未來課程或研究。
- 物件導向程式設計基礎
- 熟悉工作站系統(Linux/Ubuntu)基本操作
- 使用Vim編輯器、GitHub Copilot。
- 了解Unit Test & PyTest、Debugger (PDB)
- 熟悉使用Jupyter Notebook
課程日期
2/19、 2/26、 3/4、 3/11、 3/18、 3/25(一) 56abc
課程總時數
授課18小時、實驗18小時
上課地點
EE635
修課人數上限
15人
先修科目或先備能力
UEE1302 (Introduction to Computer Science and Programming (in C/C++) or equivalent course_之相關知識或能力
學生自備物品
筆電
作業、考試、評量
In-Class Lab/Tutorials (85%),
Class Participations (GitHub Commits 10%, Others: 5%)
課程大綱
單元主題 | 內容綱要 | 講授 | 示範 | 習作 | 其他 |
Python程式語言 | Python Decomposition, Abstractions, Functions Tuples, Lists, Aliasing, Mutability, Cloning Recursion, Dictionaries Testing, Debugging, Exceptions, Assertions | 12hr | – | – | – |
物件導向 | Object Oriented Programming Python Classes and Inheritance, C++ vs. Python | 6hr | – | – | – |
程式設計工具 | Command-line Environment (Ubuntu), Version Control (GitHub) Vim, Parallel Coding, Debugger (PDB) Build System (CMake) | – | – | 12hr | – |
軟硬整合實作 | Microcontroller Arduino Python | 6hr |
課程進度表
日期 | 課程進度 |
02/19 | Lecture: Introduction Decomposition, Abstractions, Functions Lab 01: Ubuntu Machine Preparations |
02/26 | Lecture: Tuples, Lists, Aliasing, Mutability, Cloning Lab 02: Command-line Environment (Ubuntu), Version Control (GitHub) |
03/04 | Lecture: Recursion, Dictionaries Lab 03: Vim, Parallel Coding, Debugger (PDB) |
03/11 | Lecture: Testing, Debugging, Exceptions, Assertions Lab 04: Microcontroller Arduino Python |
03/18 | Lecture: Object Oriented Programming Lab 05: Microcontroller Arduino Python II |
03/25 | Lecture: Python Classes and Inheritance, C++ vs. Python Lab 06: Build System (CMake) |
課程教材
Introduction to Computation and Programming Using Python, third edition: With Application to Computational Modeling and Understanding Data by John Guttag
微學分課程Q&A
📌 我想修微學分課程,該如何報名/進行選課?
每門課程將於開課前三週至前一週間開放選課,請同學於選課截止日前至ICT選課系統進行報名。
📌 我是校外學生,請問可以選課嗎?
校外學生請點擊ICT選課系統頁面右上角【非本校學生申請賬號】,完成註冊後可以進入系統選課。若該課程不開放給校外學生選課,則無法進行報名。
📌 如何得知是否選上了該課程?
請於選課截止的隔日至選課系統查詢選課結果。若中選成功,請於3日內至E3平台查詢是否有無出現該門課程名稱。
📌 我已經選了課程,該如何退選?
若是選課報名還沒有截止,可直接在ICT選課系統上點擊【取消報名】。若是報名已經截止,請寄信給助理corlyn@nycu.edu.tw 告知退選意願。若是已經開始上課的課程,請寫信給授課教師,經老師同意後,截圖/轉寄信件內容給助理。
📌 若沒有退選/無故缺席課程會如何?
未依規定辦理課程退選或無故未到課,將取消該同學兩月內之ICT選課權益,即2個月內無法報名選課系統上的任何課程。
📌 我是碩士/博士生,可以報名選修微學分課程嗎?
可以。惟請留意該學分是否認計為畢業學分,將由您的系所決定。為避免學分爭議,請於抵免前詢問系所該門課的學分是否可以認計。
📌 修微學分課程需要繳學分費嗎?
不需要。
📌 課程會有成績嗎?
微學分的修課方式比照一般課程,必須通過課堂之作業、測驗、討論、實驗或成果發表等教學活動規定,經授課教師認證,該修課結果通過或不通過。
📌 微學分完修證明該如何申請?
請至該門課程的E3公告區查詢申請表單連結,並詳細閱讀相關規定。
📌 修課結果會直接出現在成績單上嗎?
不會!請同學必須於畢業當學期統一提出抵免申請。請至ICT選課系統上【匯出學分登錄表】,經系所認計及各單位簽核完成後,才會出現在成績單上。
📌 申請完修證明就表示匯出學分了嗎?
不是!兩者是分開的,完修證明是授課教師給了成績,創創這邊確認同學【通過】課程後,就會在兩周內寄出。而學分登錄表,則是需要同學自己到系統上下載的唷。