一、 課程說明 (Course Description)
This course presents hands-on labs in the software aspect for students to be
familiar with software development processes and techniques. The class follows a
mainstream of building a useful, intelligent web service or mobile app with the
backend running in the cloud. We introduce some important software development
tools such as Git. We also demonstrate the use of popular open-source libraries
(e.g., React, React Native, etc.) and platforms (e.g., Amazon Web Services) to let
students understand how the "fast prototyping" is done in the software industry.

The class is divided into three parts, namely, the fundamentals, app development,
and intelligence part. In the fundamental part, a primer to some important
programming techniques such as OOP, functional programming, component-
oriented UI coding, and team collaboration. In the second part, we will walk
through a real-world example website and discuss how it is architected and
implemented. Finally, we will discuss how big data and machine learning can make
a system/app smarter and more useful.

The main programming language that will be taught will be javascript. Students are
required to know C/C++ programming and data structures and will be asked to
team up and implement a useful, intelligent web service or mobile app in the end.

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

三、 參考書籍 (References)
TBA

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

五、 教學進度(Syllabus)
PART-I FUNDAMENTALS
PART-II WEB PROGRAMMING & CASE STUDIES
PART-III INTELLIGENCE

六、 成績考核(Evaluation)
Midterm Project Presentation 30%
Final Project Demo & Presentation 30%
Labs 40%