Type of Credit: Partially Required
Credit(s)
Number of Students
本課程主要講授JavaScript程式語言與其在數位內容創作上的應用。JavaScript最初目的只是做為內嵌在Browser中,製作動態效果的小語言,在2005年之前被認為只是業餘人士使用的簡易網頁工具,後來由於Ajax技術的提出、Node.js的成功、HTML5的普及、瀏覽器本身的進展,結合健全發展的函式庫生態系,在2006年之後至今,JavaScript逐漸發展成為可獨立執行且前後台通用的重要語言。然而JavaScript本身易物難精,由於基本身弱型別與不嚴格的語法檢查,加上進階構件如Prototype-based的物件導向設計、函式導向 (Functional)與非同步 (Asynchronous)等概念經常讓初學者難以理解,導致所開發的程式邏輯錯誤或不堪使用。
在本課程的前半將著重於講授JavaScript語言幾個自學者容易遇到瓶頸的概念,後半則配合p5.js與相關函式庫介紹JavaScript如何運用於操作各式數位媒材,包含文字、互動、排版、圖片、動畫、音訊與影片。本課程不會重新講授基本程式概念,如變數、陣列、函式、流程控制(if-else)、迴圈,因此建議已修過至少一門程式設計(入門)課程,再修習本課程較為恰當,否則會跟不上課程的進度。
* 需自備筆電。
* 全實體上課。
能力項目說明
1. JavaScript程式語言結構與重要特性
2. 理解各式數位內容的特性與操作方式
3. 能基於所學資訊技術進行至少一項團體創作
教學週次Course Week | 彈性補充教學週次Flexible Supplemental Instruction Week | 彈性補充教學類別Flexible Supplemental Instruction Type |
---|---|---|
第一週: Course Introduction:教學大綱: 上課方式、課程要求、評分標準 / 課堂講授與Lab 上課3/課後3
第二週: 導論、開發環境安裝與設定 / 課堂講授與Lab 上課3/課後3
第三週: JavaScript : 資料型別、運算元與流程控制 / 課堂講授與Lab 上課3/課後3
第四週: JavaScript : 陣列與函式 / 課堂講授與Lab 上課3/課後3
第五週: 國慶日假期
第六週: JavaScript : 物件 / 課堂講授與Lab 上課3/課後3
第七週: Node.js平台 (1): 模組、非同步程式、檔案處理 / 課堂講授與Lab 上課3/課後3
第八週: Node.js平台 (2): 網路通訊 (Web socket)/ 課堂講授與Lab 上課3/課後3
第九週: 期中考
第十週: 繪圖基礎/ 課堂講授與Lab 上課3/課後3
第十一週: Motion (動畫) and Interaction - part 1/ 課堂講授與Lab 上課3/課後3
第十二週: Motion (動畫) and Interaction - part 2/ 課堂講授與Lab 上課3/課後3
第十三週: 網路通訊 / 課堂講授與Lab 上課3/課後3
第十四週: Final Project Proposal / 分組報告與評論
第十五週: Typography: 排版, 文字與文字特效處理, AsciiArt/ 課堂講授與Lab 上課3/課後3
第十六週: 聲音與動畫控制 / 課堂講授與Lab 上課3/課後3
第十七週: 開國紀念日
第十八週: Final Project Presentation / 分組報告與評論
(個人) 出席及參與(10%)
(個人) Lab(30%)
(個人) 期中考 (30%)
(小組) 期中提案(10%)
(小組) 期末專案(20%)
本課程有30%為小組專案分數,對於分組合作有困擾的同學請慎重考慮。
自編教材
Moodle: http://moodle.nccu.edu.tw/ Facebook: https://www.facebook.com/groups/313775333538437