一、 課程說明 (Course Description)
This course gives a comprehensive, self-contained, and up-to-date introduction to the
web/app development. We focus on the development challenges in real-world situations and
present guidelines, tools, and best practices. Students are asked to team up and build real,
useful applications (websites and/or mobile apps) accessible to the public in the end.


二、 指定用書 (Textbook)
[1] Lecture Notes

三、 參考書籍 (References)
None.


四、 教學方式(Teaching Method)
Lecture and Lab

五、 教學進度(Syllabus)
The classes are divided into three parts:

First, we give a primer to web fundamentals such as HTTP, HTML, CSS, and javascript. We
cover different programming paradigms, including the OOP and functional programming.
Handy tools such as Git are covered to get students familiar with the project-based and team-
based development.

In the second part, we introduce modern web development techniques such as responsive
design, Bootstrap, ES6/7, React, and Redux.

Last, we extend our horizon to the backend and mobile development landscapes by
introducing the Node.js, PostgreSQL database system, Amazon Web Services (AWS), and
React Native. We also give case studies on how to leverage Machine Learning algorithms to
convert raw user data into the AI.

六、 成績考核(Evaluation)
Labs 30%
Idea & project proposal: 10%
Midterm project demo: 30%
Final project demo: 30%