課程名稱 |
Python程式設計 Computer Programming in Python |
開課學期 |
112-1 |
授課對象 |
|
授課教師 |
林澤佑 |
課號 |
Data5006 |
課程識別碼 |
946 U0060 |
班次 |
02 |
學分 |
3.0 |
全/半年 |
半年 |
必/選修 |
|
上課時間 |
星期二6,7,8(13:20~16:20) |
上課地點 |
新403 |
備註 |
限非電資學院學生選修。總人數80人。需自備電腦實作。。A6:數學數位與量化分析 總人數上限:60人 |
|
|
課程簡介影片 |
|
核心能力關聯 |
核心能力與課程規劃關聯圖 |
課程大綱
|
為確保您我的權利,請尊重智慧財產權及不得非法影印
|
課程概述 |
Python是近年來被廣泛使用在各種領域中的程式語言,其明確、優雅、簡潔的語法結構及程式碼的可讀性,更被許多人視為學程式語言的第一選擇。
本課程將從撰寫Python的環境建置開始,並講授各種語法的結構與使用時機。課程進度上,我們將逐一介紹 Python 中各種基本知識,並同時安排各種情境的練習,讓同學在解決假想問題中來累積撰寫 Python 程式的語法以及技巧。
我們將依照下面順序介紹課程內容:
1. 簡介 Python及本課程主要使用的撰寫平台 Colab
2. 講授 Python基本變數型態、語法結構以及一些我覺得重要的進階課題
3. 探索 Python 中最熱門的數個套件
4. 專題報告:選擇一個問題,介紹如何使用 Python 解決並透過各種方式呈現
本課程的最後,同學們將挑選一個題目進行期末專案報告(個人或分組),從介紹自己遇到並想解決的問題開始,接著分享如何透過 Python 解決,最後將結果透過各種視覺化的方式呈現。
=============
(2023/08/01更新) 本課程開放有限名額的加簽,希望加簽本課程者填寫下列表單:https://forms.gle/bwxL87uCZTpFJBYY9
登記截止時間為 2023/09/03 09:03 AM (台北,UTC + 8:00)
註:可三班次都選擇加簽,但至多只會獲得一次授權碼,因此,若選擇多於一個班次,則無法決定會得到哪個班次的授權碼,亦無法事後更換,填表時請慎選。 |
課程目標 |
Python 作為近年來最流行的程式語言之一,可應用於各種領域,如資料科學、人工智慧、計算社會網絡等等。本課程將從 Python 環境的建置開始,逐步教授各種語法的結構與使用時機,並安排實際案例的練習,以輔助修課學生累積撰寫 Python 程式的技巧與經驗。同時,透過期末專案報告,讓修課學生選擇一個自己感興趣的問題,並介紹如何使用 Python 來解決,鞏固所學知識。本課程旨在讓同學能在未來遇到問題時,適當地使用 Python 程式語言來解決,並給予個人想法與建議的機會,以達成「自他共榮」的學習目標。 |
課程要求 |
本課程建議具以下特點的人士修習:
1. 害怕寫程式
2. 想寫程式但是不知該從何開始
3. 有想打造的小應用/個人專案,但總是沒有時間來完成,或是想要一個呈現的舞台
本課程強烈不建議以下類型的人士修習:
1. 有任何程式經驗:本課程的教學風格與傳統程式設計課程有落差,若您有任何程式語言經驗,在學期中開始將有機會感受到學習上的不悅與負面感受
2. 不擅社交者:本課程評分項目包含小組期末專案,不接受個人單打獨鬥 |
預期每週課後學習時數 |
Finite |
Office Hours |
另約時間 |
指定閱讀 |
待補 |
參考書目 |
1. Fluent Python: Clear, Concise, and Effective Programming (1st Edition) by Luciano Ramalho
2. Introduction to Machine Learning with Python: A Guide for Data Scientists (1st Edition) by Andreas C. Muller, Sarah Guido
3. 政治大學磨課師課程:成為Python數據分析達人的第一課https://ctld.video.nccu.edu.tw/km/1399 |
評量方式 (僅供參考) |
No. |
項目 |
百分比 |
說明 |
1. |
作業 |
70% |
本課程約有8-12次作業,包含程式作業與選擇題作業。 |
2. |
小組期末專案 |
30% |
期末專案相關事項將於課堂上公布。未進行專案者,學期成績一律為 F。 |
3. |
[加分項目] 資料分析小專案 |
5% |
若有志投入資料科學領域者,本課程提供一個實務但是簡單的機會,讓你嘗試進行自己的資料分析專案 並獲取額外的分數。 |
|
針對學生困難提供學生調整方式 |
上課形式 |
以錄影輔助 |
作業繳交方式 |
|
考試形式 |
|
其他 |
|
|
週次 |
日期 |
單元主題 |
第1週 |
9/05 |
我是誰:講師介紹、Python 簡介和 Colab 基本設定 |
第2週 |
9/12 |
我會做什麼:你的第一支 Python 程式 |
第3週 |
9/19 |
我在做什麼:Python中的基本物件型態(type):int, float, str
我還能做什麼:Python中的容器型物件(type):list |
第4週 |
9/26 |
我還能做什麼:Python中的容器型物件(type):list、set
缺什麼自己來:自定義函式(Function) |
第5週 |
10/03 |
流程控制:for-, while-, if-else |
第6週 |
10/10 |
No class |
第7週 |
10/17 |
文字在手,希望無窮:檔案讀取與字串(str)的處理與輸出 |
第8週 |
10/24 |
疊床架屋:巢狀結構(Nested Structure) |
第9週 |
10/31 |
一些看起來像是向量和矩陣的酷東西:NumPy |
第10週 |
11/07 |
還有看起來像是表格的酷東西:Pandas
[加分項目] 資料分析小專案開始日 |
第11週 |
11/14 |
意外和明天哪一個先來:例外處理 |
第12週 |
11/21 |
邀請演講
[加分項目] 迷你資料分析小專案截止日 |
第13週 |
11/28 |
期末報告準備週 |
第14週 |
12/05 |
期末報告 |
第15週 |
12/12 |
期末報告 |
第16週 |
12/19 |
期末報告 |