教學大綱表
請遵守智慧財產權,勿使用非法影印教科書,避免觸法。
課程名稱 (中文) 雲端應用開發
(英文) Cloud Application Development
開課單位 資訊工程學系
課程代碼 I4300
授課教師 王永心
學分數 3.0 必/選修 選修 開課年級 大四
先修科目或先備能力:IT technical/business knowledge
課程概述與目標: 本課程主要介紹AWS (Amazon Web Services) 雲端平台與GCP (Google Cloud Platform)提供之服務與眾多功能,從運算、儲存和資料庫等基礎設施技術,乃至諸如機器學習與人工智慧、大數據、物聯網等新興技術,培養同學雲端應用開發能力。課程主要運用Amazon提供的相關雲端服務、線上教材、與線上實驗課程,同學可在學期中進行AWS演練與實作。課程內容涵蓋雲端服務基礎概念並學習在 AWS 上建置應用程式,包含使用託管的Amazon ML服務來解決預測、電腦視覺和自然語言處理等機器學習問題,以及如何在GAE (Google App Engine)中使用JEE的Servlet與JSP、Cloud Datastore等實作網路應用程式。
教科書 https://www.awsacademy.com/ 線上教材
https://cloud.google.com/gcp/getting-started/
參考教材 1. 李秉鴻、周廷諺、李建德、何松穎,大話AWS雲端架構:雲端應用架構圖解輕鬆學,博碩,2020。
2. Frank Kane,Python資料科學與機器學習:從入門到實作必備攻略,博碩,2021。
3. Massimiliano Pippi (江良志譯),雲端網頁程式設計:Google App Engine使用Python,博碩,2015。
4. Abhishek Mishra, Amazon Web Services for Mobile Developers: Building Apps with AWS, 1st Ed., Sybex, 2017.
圖書館電子書 1. B. Campbell, The Definitive Guide to AWS Infrastructure Automation, Apress, 2020.
2. B. Beach, S. Armentrout, R. Bozo, and E. Tsouris, Pro PowerShell for Amazon Web Services, Second Edition, Apress, 2019.
3. J. Bartlett, Building scalable PHP web applications using the Cloud : a simple guide to programming and administering Cloud-based applications, Apress, 2019.
課程大綱 學生學習目標 單元學習活動 學習成效評量 備註
單元主題 內容綱要
1 課程介紹 •Introduction to Cloud Computing
•AWS與GCP雲端服務平台介紹
•認識雲端服務的應用面、優點、架構與雲端運算類型
•認識AWS/GCP雲端平台之服務、基礎架構與計算服務
  • 講授
  •  
    2 Cloud Security, Networking and Content Delivery •AWS Identity Access Management (IAM)
    •Amazon VPC
    •Amazon CloudFront Content Delivery
    •認識AWS存取安全、網路與內容傳遞服務
  • 上機實習
  • 講授
  •  
    3 Cloud Compute •Compute Services on AWS
    •Amazon Elastic Compute Cloud (EC2)
    •Container Services
    •AWS Lambda
    •AWS Elastic Beanstalk
    •認識AWS雲端平台之計算服務
  • 上機實習
  • 講授
  • 測驗
  •  
    4 Storage on AWS •Amazon Elastic Block Storage (EBS)
    •Amazon Simple Storage Service (S3)
    •Amazon Elastic File Service (EFS)
    •認識AWS之儲存服務
  • 上機實習
  • 講授
  •  
    5 Databases on AWS •Amazon Relational Database Service (RDS)
    •Amazon DynamoDB
    •Amazon Redshift
    •Amazon Aurora
    •認識AWS資料庫之應用服務
  • 上機實習
  • 講授
  •  
    6 Cloud Architecture, Automatic Scaling and Monitoring •AWS Well-Architected Framework Design Principles
    •Elastic Load Balancing
    •Amazon CloudWatch
    •Amazon EC2 Auto Scaling
    •認識AWS架構完善的框架設計原則以及監控、自動擴展和負載平衡
  • 上機實習
  • 講授
  • 測驗
  •  
    7 Build Serverless Application •Creating a Serverless Website with Amazon S3
    •Serverless Computing with AWS Lambda
    •學習在AWS上建置無伺服器應用
  • 上機實習
  • 講授
  • 作業
  •  
    8 Introducing AWS Machine Learning Services •What is machine learning?
    •Business problems solved with machine learning
    •Machine learning process
    •Machine learning tools overview
    •Machine learning challenges
    •Introducing Amazon SageMaker
    •認識人工智慧、機器學習、深度學習
    •探索企業的ML使用案例
    •了解企業如何使用工具和技術來實現商業目標
    •了解採用AI與ML所面臨的挑戰
  • 討論
  • 講授
  •  
    9 期中考 AWS專案報告與討論 檢驗上半學期學習成效
  • 實作
  • 心得發表
  • 期中考
  • 報告
  •  
    10 Implementing a Machine Learning Pipeline with Amazon SageMaker (I) •Formulating machine learning problems
    •Collecting and securing data
    •Evaluating your data
    •Feature engineering
    •認識Amazon SageMaker機器學習管線並實作其流程
  • 上機實習
  • 講授
  •  
    11 Implementing a Machine Learning Pipeline with Amazon SageMaker (II) •Training a model
    •Hosting and using the model
    •Evaluating the accuracy of the model
    •Hyperparameter and model tuning
    •認識Amazon SageMaker機器學習管線並實作其流程
  • 上機實習
  • 講授
  • 作業
  •  
    12 Introducing Forecasting •Forecasting overview
    •Processing time series data
    •Using Amazon Forecast
    •認識預測和學習以Amazon Forecast服務解決商業問題
  • 上機實習
  • 講授
  •  
    13 Introducing Computer Vision (CV) •Introduction to computer vision
    •Image and video analysis
    •Preparing custom datasets for computer vision
    • 認識用於圖像和視頻分析的 Amazon 託管機器學習服務
    • 使用 Amazon SageMaker Ground Truth 準備自定義數dataset
    • 使用 Amazon Rekognition 執行臉部偵測
  • 上機實習
  • 講授
  •  
    14 Introducing Natural Language Processing (NLP) •Natural language processing managed services
    •Amazon Transcribe
    •Amazon Polly
    •Amazon Translation
    •Comprehend
    •Amazon Lex - Create a chatbot
    •瞭解與使用 AWS 自然語言處理服務
  • 測驗
  •  
    15 Introducing GCP, GAE and APIs •GCP 雲端平台開發環境介紹與建置
    •Google App Engine的設定與SDK安裝
    •Google App Engine的API與功能介紹
    •認識Google雲端平台和Google App Engine雲端服務
    •認識以Java 語言開發Google雲端服務使用的軟體及環境建置
    •瞭解如何在Eclipse中開發一個簡單的專案
  • 上機實習
  • 講授
  •  
    16 Data Storage on GCP •在GAE中設計Servlet
    •在GAE中設計JSP
    •Cloud Storage
    •Cloud Datastore
    •Google App Engine API 專題
    •熟悉GAE與其開發方式
    •學習JSP 與Servlet的設計以及在Eclipse中進行執行與測試
    •瞭解GCP之資料儲存模式及coding
  • 上機實習
  • 講授
  • 作業
  •  
    17 GAE之整合應用 •網頁應用程式服務之設計
    •各項功能與頁面開發
    •完成整合並使用應用程式
    •整合並使用相關知識實作一個範例系統網頁
  • 上機實習
  • 講授
  •  
    18 期末考 AWS and/or GCP 整合專案報告與討論 檢驗本課程學習成效
  • 討論
  • 實作
  • 心得發表
  • 期末考
  • 報告
  •  

    教學要點概述:
    教材編選: ■ 自編教材 ■ 教科書作者提供
    評量方法: 期末考:30%   期中考:30%   報告:10%   測驗:15%   作業:15%  
    教學資源: ■ 教材電子檔 ■ 課程網站
    課程網站:https://ilearn.ttu.edu.tw/
    扣考規定:http://eboard.ttu.edu.tw/ttuwebpost/showcontent-news.php?id=504