📌 Course Contents
課程網110-2的進度大綱:
- Course Introduction : Why should we learn coding
- Variables/Statement + Conditional Execution
- Functions + Iteration
- Strings + Files: Input and Output
- Lists + Dictionaries + Tuples
- Using Python library: Regular Expression
* Comprehensive Practice (1) *
* Mid-term Exam *
- Using Web Services: APIs and JSON files
- Concepts of Object-Oriented Programming
- Databases and Structured Query Language (SQL)
- Exploring Data with Pandas and matplotlib
- Spatial Visualization with GeoPandas
- Scientific Computing with NumPy
* Comprehensive Practice (2) *
* Final Exam *
實際上則因為OOP那單元分成兩週,且Pandas的使用講解較久,約佔了一周半,所以後面GeoPandas的內容就講得比較簡略,NumPy則直接跳過。
📌 Teaching Method
依照投影片內容搭配示例程式講解,會邊講邊示範。
📌 Course Materials
投影片為主,大部分架構依照此本課本,後半學期部分內容則不在課本內。
Severance (2016), Python for Everybody: Exploring Data in Python 3, CreateSpace
Independent Publishing Platform.
📌 Assignments and Exams
這門課的實習、作業、考試等皆使用Google Colab(比較不用處理本地端環境的問題),完成後上傳ipynb檔至NTUCOOL。
比較特別的是,這學期期末為遠距考試,為防止作弊,教授總共出5份試卷。
📌 Grading
實習:30%
作業:30%
期中考:20%
期末考:20%
註:每週皆有一回實習和作業
📌 Reviews & Feedback
地理系必修(個人為外系)
-
關於課程內容:
個人認為這門課比較著重在「使用Python進行資料分析」上,因此對於Python的基本觀念並不會特別著墨,僅會簡單介紹、練習,此部分為期中考前的內容。期中考後的內容則包含API、OOP、SQLite、Pandas、GeoPandas等等,相當廣泛,相對的也就無法每個主題都深入探討,但基本使用應該是沒問題,每週也都有實習和作業題目供練習。
如前所述,因為前半學期並無太多時間詳述Python的基本操作,也不會出很多題目供練習,所以期中考成績似乎有點低(平均:31.67),可能就不太適合完全新手且不願花時間多練習的。(由於個人已修習過商管程式設計,因此比較沒這困擾)若是完全新手需要更紮實的Python基礎,建議可去Coursera觀看商管程式設計的影片,搭配Pdogs題目練習。
後半學期的課程就比較有趣,會練習以json檔介接一些公開資料,如Ubike、登革熱病例、車禍案件、新冠肺炎病例等等,再搭配後續所教的內容,做一些基礎的資料整理,算是入門中的入門。最後教的套件GeoPandas也會和地理系的地圖學做一點結合,主要是座標系統的概念,但就算外系沒修過應該也是能理解。雖然內容廣泛但時間有限,所以各套件的練習次數不會太多,同樣的,若是希望用得更順手、學得更紮實,建議再自行閱覽書籍或觀看網路上影片,並且自行實作;若僅為應付期考,上課內容其實足矣。
另外,教授本人似乎做滿多相關的資料分析研究,若是對這方面想深入的學習,教授也滿樂意回答的。
關於成績:
教授有提到,由於這門課是必修,因此他也不太希望當掉太多人,於是就給了大家滿多補救方案。像是期中平均太低,教授除了前一週的綜合演練20分納入期考成績外,隔一週又再考了滿分50分的加分題,難度差不多,而三次考試加起來的總分即為期中分數。期末一樣有綜合演練20分,但平均似乎高不少,就沒特別再考一個加分題。
-
整體而言,個人認為這門課對完全的Python新手而言,紮實度(廣而淺)、硬度都算中偏上;若是已有接觸過Python,則為中偏下,但就變成比較像導論課,後續的學習仍得靠自己或修習其他相關課程。