CM1010 : Intro to Programming II

ULTSG_Banner

🔖 課前準備事項:

  • JavaScript:
    • 本課延伸了 ITP1 課程裡面的 p5js library 的應用,所以基本上就是一堂加強版的JavaScript 應用課,如果對 p5j 還是不夠熟的同學們,可以課前先多看 The Coding Train 的 p5j 範例應用,可以加強對 p5j 的基本架構的基礎觀念,因為如果不清楚 p5j 裡面的 setup(), draw() 這些流程概念的話,Final Project 對你來說會有很大的難度。
    • 另外基本的 JavaScript 語法也是必須要盡快熟悉的: Array, List, Function, Constructor, Object, Object Type, Loop, Bool 等等都是很基礎的概念。
  • 指定課本: 無。本課程沒有指定閱讀教材,所以跟著老師的指導跟Demo就行了。建議多練習 JavaScript 基本語法。
  • 電腦環境需求: PC/Mac/Linux 都可,這堂課大部分都是寫網頁版的作業,所以只要有瀏覽器跟Code Editor (雖然課程上建議下載Brackets,💡 但是還是建議使用Visual Studio Code) 即可。
  • 其他工具準備: 無。

📓 課程攻略摘要:

  • 期中考 Midterm:
    • 第 12 週左右需要交一個 Project Proposal 的作業,主要內容要提出:
      • 在 Drawing App, Music Visualiser 和 Data Visualiser 中選定一個主題來寫對應的第一個 Extension (一個客制的功能),你的 code 必須能動且沒有任何錯誤。
      • 接下來的要完成這個 Project 的一份計劃報告 (此問答會顯示在 Coursera 上所以針對問題回答在平台上即可,無須上傳報告書)
  • 期末考 Final:
    • 在 24 週要交最終的 Final Project 和報告:
      • 在三個主題中選定的 project
      • 提供 2-3 個客制功能 (Extensions),可以是從老師的 template 教學中延伸出來的一個功能,但是你自己的 code 必須多過於 template 裡面的部份。如果只是微小的修改,並無法拿到(高)分。
      • 盡可能註解 code 裡面的用意,參考來源跟任何可以幫助你達成某個功能的過程。
      • 報告部份要包含進度紀錄 (Logs) 和有字限的文字報告。
      • 工科作業三原則:
        1. 功能 > 畫面 (畫面先求整體性跟簡潔性為主,不用太過於細小的差異或藝術性)
        2. Comment 你的 code 。如果有故事,可以簡短敘述你解決問題的過程。
        3. 確保沒有任何 Error (無論是瀏覽器裡面的 console 或是線上 validator)
  • 其他考核作業: 無。

🤩 同學們的建議:

Chris: 如果你對JavaScript還不夠熟悉,一定要在這堂課內把它學好,課程上的 p5j 的應用有所升級,可多參考 The Coding Train 的範例以幫助基礎概念。剩下就看自己努力了。[03/29/2022]

Cynthia: 期中的重點雖然是計畫,code還是要有的,不用完成但是至少兩三成,最好是四成到六成。期末因為要的是完成品,問題肯定會很多,很多時間直接問上過這堂課(甚至選同一個case-study)的人會比上網看教學影片快,但是還是請先做好功課![2022/03/30]

Scott: 一開始就先研究visual studio code並且安裝好輔助extensions的話,會在之後的coding & debugging過程中幫助很大;以及在提交期中&期末projects時,要確定嚴格遵循課程規定的rubrics才不會被意外扣分。[04/06/2022]