作者fpsamuraig (水果拼盤武士G)
看板NTUcourse
標題[評價] 105-2 黃鐘揚 Ric's Web Programming
時間Sun Jul 2 09:48:01 2017
※ 本文是否可提供臺大同學轉作其他非營利用途?(須保留原作者 ID)
(是/否/其他條件):
哪一學年度修課:105-2
ψ 授課教師 (若為多人合授請寫開課教師,以方便收錄)
(開課)黃鐘揚、(助教)朱柏憲、林承澤、曾建勳
λ 開課系所與授課對象 (是否為必修或通識課 / 內容是否與某些背景相關)
電機系專題,但外系也可填一樣的表單申請
δ 課程大概內容
Week 1 - Web 發展 / JavaScript / DOM
Week 2 - JS good parts / bad parts / ESLint
Week 3 - Node / Express.js / Git warm up
HW1 - TODOs
Week 4 - ES6 (ES2015) / Babel / JSX / React
Week 5 - Webpack
Week 6 - In-class Practice: Calculator
Week 7 - More on React
Week 8 - RESTful / Promise / fetch
HW2 - Comment Board
Week 9 - Router / Testing
Week 10 - In-class Hackathon
Week 11 - Redux
Week 12 - Database / SQL
HW3 - Blog
Week 13 - SQL builder / MVC / Cookie & Session
Week 14 - Hash / Migration/ ORM / Auth
Final Project
Ω 私心推薦指數(以五分計) ★★★★★
不排斥自學、查文件:五分
喜歡寫程式:五分
想只用聽課學東西:兩分
η 上課用書(影印講義或是指定教科書)
Github 上的投影片與課前 pre-Reading:
https://web-seminar.github.io/slide-v4/
μ 上課方式(投影片、團體討論、老師教學風格)
每堂課結束後會在 Github 上丟下次的 pre-Reading 連結,上課主要
用掛在網上的投影片和現場 demo。
σ 評分方式(給分甜嗎?是紮實分?)
沒有公佈。但我猜是三次作業+ InClass Hackathon+期末 Project。
ρ 考題型式、作業方式
沒有考試。
作業一是用 React 寫純前端的雙層 TodoApp,要能在網頁裡任意新增
TodoList,然後在每一層 TodoList 裡任意新增 TodoItem。需求為新
增、刪除、更新、勾選、統計等功能,然後用 github-page deploy。
作業二是前端 React 串接後端 Express Server 但不需接資料庫的留
言板。前端結構跟 TodoApp 有點像,跟作業一主要只差在多了跟後端
的溝通。這次大多數人都用 now 來 deploy。
作業三是寫一個涵蓋前後端和資料庫的 Blog。基本框架是 React+Express
,資料庫的部分雖然上課教的是 SQL,但幾乎九成九的學生都用 mongodb。
deploy 部分隨意,我是用 Heroku。
InClass Hackathon 大約在期中週,還沒教到資料庫。基本上就是要你
事先查一些資料和想題目,然後用課程的三小時實作出一個 Web App 來
demo。沒做完的可以帶回去繼續做,一週內 deploy 後傳上社團。
Final Project 是在期末考後一週 demo,兩到三人一組,題目自訂,盡
量要用到課程所學的技術。最後要交一份簡單的心得、github 連結和 demo
連結到社團。
ω 其它(是否注重出席率?如果為外系選修,需先有什麼基礎較好嗎?老師個性?
加簽習慣?嚴禁遲到等…)
偶爾會點名,不知道有沒有看出席率。
基礎的部分,需要先會基本的 HTML、CSS、JavaScript。另外課程要求準
備 Linux 或 OSX 環境的筆電、自己喜歡的編輯器(Atom、Sublime、vim
、Emacs 等)、安裝 git 和 node v6(n 或 nvm 管理版本)。
這個專題基本上是用教授開的表單申請的,內容包含信箱、programming經
驗、修專題的動機和期許等。外系和低年級也可能簽的上(我物理系大一)
,聽說填的人爆多,但錄取三十人裡頭仍有五個外系生、六個大一生。雖然
表單寫說填寫內容不影響修課資格,但可能還是有差也說不準。然後應該是
沒給加簽。
教授有說下學期太忙不會繼續開這個專題,但 106-2 會正式把它變成一堂
電機系的選修課。
Ψ 總結
其實會填這門專題的原因有幾個。一是本身對 Web 有點興趣,然而網路上
查了一下前後端的技術體系和資源實在多如牛毛,對一個 Coding 經驗為只
寫過半年普物課 Python 模擬的物理系小大一來說真的沒辦法快速建立一個
好的 big picture。而這個專題會導覽現在最普遍和最新潮的開發技術,算
是剛好符合到我的需求。
再來就是上學期初有選上教授的資結,但當時根本不會寫 C++,只快速的用
兩天看一下網路上的教學就直接上戰場。原以為在邊做邊學應該也不是問題
,誰知光作業一就花了快二十個小時才拼出來,基於時間和學分的關係毅然
決然在第二週退選決定到大二上再戰。這次的退選經歷使得大一下看到同樣
是 Ric 教授開的專題就有種想要進來把它修過的衝動,於是立馬自學了
Html、CSS、Javascript,把環境設好並填下表單。
最後就是選上了,並寫一整學期的 Code XD
總體來說我的感想是,教學部分如果課前沒看 pre-Reading 或其他資源的
話,那上課通常很快就不太知道助教在講什麼了。但如果有認真看、甚至自
己延伸找資料的話,那上課助教講的東西大部分也都會了。所以這門專題修
好的關鍵之一應該在自己看 pre-Reading 和查文件的能力。
作業部份有沒有認真寫是另一個進步的關鍵。修過資結的話應該都知道 Ric
的課程精華都在作業,這門專題也不意外。不管一開始的程度在哪裡,只要
撐過三次作業,經歷過所有解 bug 、解 lint error 、查資料的崩潰期,最
後必然會達到一定的水平,至少前後端和資料庫都有完整實作過。而且三次
作業有循序漸進的感覺,對於我這種新手來說到作業三終於實作出一個 Blog
並 deploy 到網路上的那一刻真的很感動!
然後重頭戲的 Final Project 是我覺得在這個專題學到最多東西的部份,從
期末考結束後一整週的時間幾乎每天都在寫 Code,最後幾天收工入睡時天常
常已經亮了。除了能真正經歷 Github 上的溝通協作上會碰到的各種問題
(pull request、conflict)外,中途在解 bug 的時候也能揪出一些觀念上
的疏失。更重要的是能在過程中觀摩到其他人做專案的模式,透過分工讓每
個人發揮自己擅長的部分用很高的效率去完成最終的成品。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.113.69.232
※ 文章網址: https://www.ptt.cc/bbs/NTUcourse/M.1498960083.A.05D.html
※ 編輯: fpsamuraig (140.113.69.232), 07/02/2017 09:49:02
※ 編輯: fpsamuraig (140.113.69.232), 07/02/2017 09:50:46
→ Rubb9diaw: 標題也許改成老師的中文名字比較好? 07/02 10:23
※ 編輯: fpsamuraig (140.113.69.232), 07/02/2017 10:59:50
推 KyotoAnime: 沒修但推ric 07/02 13:19
推 ytrewq0101: 上學期修過,推實用且具有啟發性。對了,是鐘吧? 07/03 01:34
※ 編輯: fpsamuraig (140.113.69.232), 07/03/2017 10:35:27
→ fpsamuraig: 感謝,已更正 07/03 10:36
※ 編輯: fpsamuraig (140.113.69.232), 07/03/2017 10:37:45
推 jexus: 推scya 07/05 19:08
→ fpsamuraig: 哈哈竟然有人認得出來XD 你是? 07/06 16:03
推 jexus: 我沒修web但有去聽大家展演XD 07/07 12:04
→ jexus: 提示就新生書院呵呵 07/07 12:04