作者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://webptt.com/cn.aspx?n=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
1F:→ Rubb9diaw: 标题也许改成老师的中文名字比较好? 07/02 10:23
※ 编辑: fpsamuraig (140.113.69.232), 07/02/2017 10:59:50
2F:推 KyotoAnime: 没修但推ric 07/02 13:19
3F:推 ytrewq0101: 上学期修过,推实用且具有启发性。对了,是钟吧? 07/03 01:34
※ 编辑: fpsamuraig (140.113.69.232), 07/03/2017 10:35:27
4F:→ fpsamuraig: 感谢,已更正 07/03 10:36
※ 编辑: fpsamuraig (140.113.69.232), 07/03/2017 10:37:45
5F:推 jexus: 推scya 07/05 19:08
6F:→ fpsamuraig: 哈哈竟然有人认得出来XD 你是? 07/06 16:03
7F:推 jexus: 我没修web但有去听大家展演XD 07/07 12:04
8F:→ jexus: 提示就新生书院呵呵 07/07 12:04