教學大綱 Syllabus

科目名稱:計算機程式

Course Name: Computer Programming

修別:必

Type of Credit: Required

3.0

學分數

Credit(s)

50

預收人數

Number of Students

課程資料Course Details

課程簡介Course Description

本課程承接上個學期「數學軟體應用」, 我們學習了基本的 Python 語法, 並且瞭解如何作「數據分析」及「機器學習」。這個學期的「計算機程式」, 我們會以「深度學習 (人工智慧)」為主要的課題, 除了介紹人工智慧的基本概念與程式技巧, 並且同學們需要分組發想一個運用 AI 解決的實務問題。

核心能力分析圖 Core Competence Analysis Chart

能力項目說明


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

    1. 瞭解人工智慧, 尤其是深度學習的概念。
    2. 能夠寫各種深度學習模式的程式。
    3. 能夠知道要做一個深度學習專案, 會需要什麼條件, 會碰到什麼困難, 及可能的解決方式。
    4. 能運用於自身專業領域,把 AI 作為解決該領域問題的一種工具。

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

    每週課程, 請同學回去務必複習, 有問題儘快找老師或助教討論。每一位同學依之前的經驗, 可能需要花不同的複習和練習時間, 我們預估每位同學在課程之外大約需要再花 4 小時以上的理解、練習、反思時間。

    原則上一週是理論說明, 一週是實作介紹。我們的作業也會分成兩種類型:

    [理論週] 
    1. 我們學到的模式或方法, 可以怎麼應用到實務問題?
    2. 自選的小程式練習

    [程式週]
    上課介紹的程式, 再調整、或用不同的數據集來試驗。


    【第 1週】 2月19日: 課程說明及深度學習問題介紹
    【第 2週】 2月26日: 全連結神經網路及神經網路的學習方式
    【第 3週】 3月 4日: 全連結神經網路實作 (DNN)
    【第 4週】 3月11日: 圖形辨識天王卷積神經網路
    【第 5週】 3月18日: 卷積神經網路實作 (CNN)
    【第 6週】 3月25日: 有記憶的遞歸神經網路
    【第 7週】 4月 1日: 遞歸神經網路實作 (RNN)
    【第 8週】 4月 8日: 小組專案提案 (A) 
    【第 9週】 4月15日: 小組專案提案 (B) 
    【第10週】 4月22日: 專題 (一) 讓電腦有創作能力的生成對抗網路 (GAN)
    【第11週】 4月29日: 高階神經網路程式技巧 Functional API 寫法
    【第12週】 5月 6日: 高階神經網路實作專題: GAN, VAE 等
    【第13週】 5月13日: 專題 (二) AlphaGo 與強化學習
    【第14週】 5月20日: 校慶運動會
    【第15週】 5月27日: 專題 (三) 遷移學習
    【第16週】 6月 3日: 高階神經網路實作專題: 遷移學習實作
    【第17週】 6月10日: 期末專題報告 (A)
    【第18週】 6月17日: 期末專題報告 (B)

    授課方式Teaching Approach

    60%

    講述 Lecture

    10%

    討論 Discussion

    20%

    小組活動 Group activity

    10%

    數位學習 E-learning

    0%

    其它: Others:

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

    [作業] 60% (個人成績)
    1. 每次的作業 5 點 (神經網路程式或建模作業)
    2. 每次自選小程式作業一個 2 點 (大約兩週開放一次)

    [期末專題] 40% (期中提案 10%, 期末報告 30%, 團體成績)

    [特别加分/扣分項目]
    1. 課程參與 (最高加 6 分)
    2. 閃電秀分享 (每次加 3 分)
    3. 小組互評 (最多加減 3 分)

    * 很認真做作業、專題、分享的同學, 分數可能會破百, 但本課程最高分是給到 99 分, 代表意義是學習非常好, 但任何科目我們都還有可以更進一步學習的地方。

    指定/參考書目Textbook & References

    Aurélien Géron, "Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems 2nd Edition." (一定要第二版!) 
     

    這是主要參考書籍, 雖然沒有一定要購買, 但強烈建議要有。這是目前程式實作最符合本課程的書!

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

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

    課程相關連結Course Related Links

    https://moodle.nccu.edu.tw

    課程附件Course Attachments

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

    需經教師同意始得使用 Approval

    列印