程式設計與資料分析 Programming and Data Analysis
The syllabuses on both this page and the NTU online course information are synchronized.
Course Information
| Item | Content |
| Course title | Programming and Data Analysis |
| Semester | 110-1 |
| Designated for | |
| Instructor | TONY YAO-JEN KUO |
| Curriculum No. | GenEdu5011 |
| Curriculum Id No. | H02 50080 |
| Class | |
| Credit | 3 |
| Full/Half Yr. | Half |
| Required/Elective | Elective |
| Time | Friday 2,3,4(9:10~12:10) |
| Place | 博雅202 |
| Remarks | A6:Quantitative Analysis and Mathematics |
Course Syllabus
| Item | Content |
| Course Description | Programming and data analysis with Python. Learn to import, scrape, wrangle, analyze, and visualize data via coding. |
| Course Objective | Python programming fundamentals: syntax, data types, functions, data structures, and flow of control. Python programming intermediates: classes and modules/libraries. Data analysis with Python: third-party libraries for data analytics: NumPy, Pandas, Matplotlib. |
| Course Requirement | 本課程加簽方式為「第 2 類不設定修課人數上限,學生須向教師取得授權碼後,始可上網加選。」 我理想中的課程修課人數大約是 100 人左右,因此設計了一個微小的門檻作業 0 來決定, 請有意願加簽的同學,依下列指示完成作業 0 : 1. 前往 GitHub https://github.com 註冊並且新增一個 Repository。 2. 點選連結:https://mybinder.org/v2/gh/datainpoint/asgmt-0-programming-and-data-analysis-ntu-fall-2021/main?filepath=exercises.ipynb 3. 試著回答 exercises.ipynb 中的問題,並自行執行測試。 4. 下載執行完測試的 exercises.ipynb 檔案並加入至步驟 1 新增的 GitHub Repository 之中。 5. 閱讀 Python 禪學(Zen of Python)https://www.python.org/dev/peps/pep-0020 6. 在步驟 1 的 Repository 中加入 README.md 寫下你最喜歡的其中幾句 Python 禪學並簡短說明為何喜歡這幾句。 7. 完成步驟 1-6 後,請填寫 Google 表單 https://forms.gle/6x8gkfYvhfXVcWUW9 告知學校信箱、姓名、系級以及 GitHub Repository URL。 8. Google 表單會於 2021-09-30 23:59:59 手動關閉,請有意願加簽的同學注意期限。 9. 授權碼會在 2021-10-01 23:59:59 以前寄出。 補充說明,假如這個門檻真的太過於微小導致還是超出預期人數太多, 會優先讓作業 0 完成度高、非電資學院大三以上的同學加簽。 |
| References | https://youtube.com/playlist?list=PLEq7iw5uOtuXq8Aent2aoo_1CpTLv_Nfo |
| Designated Reading | https://colab.research.google.com/drive/1T9m9PXOkQlTo6A4Q3nrgskywbgryTw-S?usp=sharing |
Progress
| Week | Date | Topic |
| Week 1 | 2021-09-24 | Getting started with Python. |
| Week 2 | 2021-10-01 | Data types. |
| Week 3 | 2021-10-08 | Data structures. |
| Week 4 | 2021-10-15 | Flow of control. |
| Week 5 | 2021-10-22 | Functions, classes and modules. |
| Week 6 | 2021-10-29 | Python tips. |
| Week 7 | 2021-11-05 | Reading period. |
| Week 8 | 2021-11-12 | Midterm. |
| Week 9 | 2021-11-19 | Array computing with NumPy. |
| Week 10 | 2021-11-26 | DataFrame wrangling with Pandas. |
| Week 11 | 2021-12-03 | DataFrame wrangling with Pandas.(Cont'd) |
| Week 12 | 2021-12-10 | Data visualization with Matplotlib. |
| Week 13 | 2021-12-17 | Web scraping with Requests. |
| Week 14 | 2021-12-24 | Project based learning: COVID19 data. |
| Week 15 | 2021-12-31 | Project based learning: Taiwan Election data. |
| Week 16 | 2021-01-07 | Reading period. |
| Week 17 | 2021-01-14 | Final. |
| Week 18 | 2021-01-21 | No class. |
Grading
| NO | Item | Pc | Explanations for the conditions |
| 1 | Assignment 1 | 10% | https://mybinder.org/v2/gh/datainpoint/asgmt-1-programming-and-data-analysis-ntu-fall-2021/HEAD |
| 2 | Assignment 2 | 10% | https://mybinder.org/v2/gh/datainpoint/asgmt-2-programming-and-data-analysis-ntu-fall-2021/HEAD |
| 3 | Assignment 3 | 10% | https://mybinder.org/v2/gh/datainpoint/asgmt-3-programming-and-data-analysis-ntu-fall-2021/HEAD |
| 4 | Midterm | 20% | https://mybinder.org/v2/gh/datainpoint/midterm-programming-and-data-analysis-ntu-fall-2021/HEAD |
| 5 | Assignment 4 | 10% | https://mybinder.org/v2/gh/datainpoint/asgmt-4-programming-and-data-analysis-ntu-fall-2021/HEAD |
| 6 | Assignment 5 | 10% | https://mybinder.org/v2/gh/datainpoint/asgmt-5-programming-and-data-analysis-ntu-fall-2021/HEAD |
| 7 | Assignment 6 | 10% | https://mybinder.org/v2/gh/datainpoint/asgmt-6-programming-and-data-analysis-ntu-fall-2021/HEAD |
| 8 | Final | 20% | https://mybinder.org/v2/gh/datainpoint/final-programming-and-data-analysis-ntu-fall-2021/HEAD |
Office Hour
| Remarks | Monday 21:00-22:00 via Webex. |