教學大綱 Syllabus

科目名稱:進階程式設計

Course Name: Advanced Computer Programming

修別:選

Type of Credit: Elective

3.0

學分數

Credit(s)

40

預收人數

Number of Students

課程資料Course Details

課程簡介Course Description

本課程延續基礎程式設計課程,在初具程式設計概念之後,開始進行應用設計並且嘗試團隊開發。

同學在具備程式設計入門觀念之後,將於本門課深入了解Python程式語言的物件導向概念並運用其豐富函式庫設計圖形化使用介面程式、學習開發各式型態的2D小型休閒電玩遊戲、大數據資料爬取與分析應用程式、資料視覺化等。

 

隨著課程進行,同學們將分成3~4人的小組進行合作,腦力激盪提出專案,驗證想法,弄清專案運作邏輯,勇於嘗試動手實作,培養協同合作,實現創意於期末展示成果,同時欣賞他組作品,互相砥礪精益求精。所以這門課是偏重於實務應用程式開發規劃的學習,主要是協助傳院同學對於應用程式的開發有更完整的輪廓認識,除了奠定本身程式應用基礎之外,更能培養未來擔任專案管理職務與程式人員進行跨領域合作之能力。

本課程有先修要求,有開放加簽,加簽原則:以電腦教室容量為限,如超出則以第一周pretest課前測驗成績排加簽先後順序,同分者以抽籤決定,未進行課前測驗者不予加簽。

核心能力分析圖 Core Competence Analysis Chart

能力項目說明


    課程目標與學習成效Course Objectives & Learning Outcomes

    完成本課程後,期許能幫助學生達成以下學習成效:

    1. 了解物件導向觀念、運用函式庫。
    2. 具備圖形化使用者介面程式開發能力。
    3. 能開發各式型態的2D小型休閒電玩遊戲。
    4. 了解網頁結構、掌握網頁資料爬取及分析技巧。
    5. 會運用簡易資料統計分析與視覺化功能。
    6. 培養團隊合作、溝通協調、專案協同開發能力。
    7. 能跨域整合思考,實現創意並能有效運用程式解決實際面臨的專案問題。

    每周課程進度與作業要求 Course Schedule & Requirements

    週次

    Week

    課程主題

    Topic

    課程內容與指定閱讀

    Content and Reading Assignment

    教學活動與作業

    Teaching Activities and Homework

    學習投入時間

    Student workload expectation

    課堂講授

    In-class Hours

    課程前後

    Outside-of-class Hours

    1

    課程介紹
    Introduction & Review

    簡介與回顧

    Pretest課前測驗

    3

    2

    2

    物件導向程式設計
    Object-Oriented programming

    物件基礎、設計自己的類別

    30,31章課間測驗與編程練習

    3

    6

    3

    自訂類別
    Customizing Class

    自行定義類別來簡化程式、整合專案:紙牌遊戲

    32,33章課間測驗與整合專案編程

    3

    8

    4

    函式庫
    Libraries

    實用的函式庫、圖形化使用者介面函式庫

    34,35章課間測驗與編程練習

    3

    6

    5

    測試與除錯
    Testing & debugging

    整合專案:Tag!抓人遊戲、對程式進行測試

    36,37章課間測驗與整合專案編程

    3

    8

    6

    模組作圖與圖形介面使用

    Turtle模組、Tkinter GUI 模組使用

    GUI編程練習或整合專案編程

    3

    6

    7

    PyGame應用

    使用PyGame繪圖與輸入

    PyGame繪圖輸入編程練習或整合專案編程

    3

    6

    8

    PyGame進階

    PyGame使用圖片及運用音效

    PyGame圖片音效編程練習或整合專案編程

    3

    6

    9

    期中提案報告
    Midterm proposal

     

    提案報告

    3

    3

    10

    Beautiful Soup應用

    Beautiful Soup 重要功能、網頁結構巡覽、正規表示式、網頁爬蟲範例實戰

    Beautiful Soup編程練習或整合專案編程

    3

    6

    11

    Scrapy框架應用

    Scrapy系統架構、資料儲存

    Scrapy編程練習或整合專案編程

    3

    6

    12

    進階爬蟲
    Advanced web crawling

    使用 API、處理表單及登入頁、資料分析實戰

    Selenium編程練習或整合專案編程

    3

    6

    13

    資料處理

    使用 Pandas 掌握你的資料

    Pandas編程練習或整合專案編程

    3

    6

    14

    資料視覺化

    Matplotlib Pandas 資料視覺化

    Matplotlib編程練習或整合專案編程

    3

    6

    15

    統計資料視覺化

    使用 Seaborn實作更高階的統計資料視覺化

    Seaborn編程練習或整合專案編程

    3

    6

    16

    保留
    Reserved

    保留時段供放假日或先前上不完的課程補充用

    複習與解答專案問題

    3

    0

    17

    期末專案展示
    Final Project

     

    同儕互評

    3

    12

    18

    期末專案展示
    Final Project

     

    同儕互評

    3

    12

    授課方式Teaching Approach

    60%

    講述 Lecture

    0%

    討論 Discussion

    10%

    小組活動 Group activity

    0%

    數位學習 E-learning

    30%

    其他: Others: 編程練習 Programming Exercise

    評量工具與策略、評分標準成效Evaluation Criteria

    ●程式練習作業 30%

    ●期末專案 50% (3~4人一組自訂題目於期中考週提案佔10%,於期末考週簡報並展示專案程式,佔40%。)

    ●平時表現 20%

    ●額外加成5%

    指定/參考書目Textbook & References

    Textbook:

    ●Ana Bell. Get Programming: Learn to code with Python. 1st ed. Manning, 2018. ISBN: 978-1617293788

    ●Ana Bell著、魏宏達譯、施威銘研究室監修. 用Python學運算思維. 旗標, 2019. ISBN:978-9863125518

    ●施威銘研究室. Python 技術者們 - 實踐!帶你一步一腳印由初學到精通 第二版. 旗標, 2021. ISBN:978-9863126614

    References:

    ●蔡炎龍、季佳琪、陳先灝 編著. 少年Py的大冒險-成為Python數據分析達人的第一門課. 全華圖書股份有限公司, 2020. ISBN-10: 9789865033
    ●Naomi Ceder. The Quick Python Book, Third Edition. Manning, 2018. ISBN: 978-1617294037
    Python 軟體基金會主席 Naomi Ceder 著, 張耀鴻 譯. Python 技術者們 - 練功!老手帶路教你精通正宗 Python 程式. 旗標, 2019. ISBN:978-9863125914
    ●Craig Richardson. Adventures in Python. 1st ed. Wiley, 2015. ISBN: 978-1118951798
    ●Craig Richardson著、顧思㨗譯. Python輕鬆學:遊戲設計初體驗. 博碩 2018. ISBN: 978-9864343621
    ●陳允傑. Python 網路爬蟲與資料視覺化應用實務. 旗標, 2018. ISBN: 978-9863125624
    ●文淵閣工作室. Python自學聖經(第二版):從程式素人到開發強者的技術與實戰大全. 碁峰, 2021. ISBN:978-9865028060
    ●Alejandro Rodas de Paz and Joseph Howse. Python Game Programming by Example. Packt Publishing, 2015. ISBN: 978-1785281532

    已申請之圖書館指定參考書目 圖書館指定參考書查詢 |相關處理要點

    書名 Book Title 作者 Author 出版年 Publish Year 出版者 Publisher ISBN 館藏來源* 備註 Note

    維護智慧財產權,務必使用正版書籍。 Respect Copyright.

    課程相關連結Course Related Links

    http://moodle.nccu.edu.tw
    
    

    課程附件Course Attachments

    課程進行中,使用智慧型手機、平板等隨身設備 To Use Smart Devices During the Class

    需經教師同意始得使用 Approval

    列印