一、 課程說明 (Course Description)
This course presents hands-on labs for students in the software aspect for students to be familiar with software development process and techniques. The class follows a mainstream aiming to build an intelligent web 2.0 application using the popular platforms (e.g., Google App Engine) and latest open source libraries (e.g., Spring, ExtJS, Apache Lucene, etc.). The class is divided into three parts, namely, the fundamentals, web development, and web intelligence. In the fundamental part, a primer to some important programming languages other than C/C++, such as Java, HTML/CSS, and Javascript, will be given. Students will understand the advantages of these languages and use them correctly for a specific task. Handy tools such as Eclipse, CVS/SVN, will also be covered to get students familiar with project-based and team-based development. In the web development part, students will understand different architecture design alternatives of a web application, and the modern web 2.0 implementation. To see how data structures is applied to solve the real problems, techniques that convert the raw web data into human-sensible intelligence will be introduced in the web intelligence part.
Basic understanding of C/C++ programming language and data structure is required.

二、 指定用書 (Textbook)
[1] Lecture Notes
[2] Thinking in Java, 4ed

三、 參考書籍 (References)
Eclipse
[1] http://help.eclipse.org/helios/index.jsp
JAVA
[2] Head First Java, 2ed
[3] http://www.springsource.org/documentation
HTML & CSS
[4] Head First HTML with CSS & XHTML
Javascript
[5] JavaScript: The Good Parts
[6] http://www.sencha.com/products/core/manual/index.php
Google App Engine
[7] http://code.google.com/intl/en/appengine/docs/
WEB INTELLIGENCE
[8] Collective Intelligence in Action


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

五、 教學進度(Syllabus)
PART-I FUNDAMENTALS
1.Tools and environments that increase your productivity
2.Java – why another language?
3.Team development and version control
4.Let’s start a project – on the web this time
PART-II WEB DEVELOPMENT
5.HTML and CSS
6.DOM model and Javascript
7.Java Servlet
8.Dynamic pages
9.AJAX - the real sword that brings us web 2.0
PART-IV WEB INTELLIGENCE
10.Understanding your data
11.Learning from user interactions
12.Smart tagging (if time allows)
13.Search engine – being another Google? (if time allows)
14.Giving recommendations (if time allows)

六、 成績考核(Evaluation)
Midterm Exam 15%
Final Exam 15%
Assignments 50%
Labs 20%