The purpose of this short course is to provide the necessary technical background and common framework for people interested in participating in the Chronobot project to build a time machine for knowledge management. It consists of eleven lectures/discussions. Each lecture/discussion is approximately one to one-and-a-half hours long. There will also be two exercises and two project milestones. Participants will learn the fundamentals of component-based software engineering (CBSE), UML for software design, and the common framework to develop components for the Chronobot project. Participants will also get acquainted with the theory of software patterns. Participants must already be knowledgeable about Java and/or C++ programming.
There will be one lecture per working day, most probably from 4pm to 5pm (or sometimes 5:30pm), so that the entire short course will take eleven working days. The purpose is to give people enough time to think and to work on the exercises and project milestones. Therefore it is anticipated that the short course will be offered in two to two-and-a-half weeks. The exercises and milestones naturally lead to the continuation of the development of one or more components for the Chronobot. The classnotes, exercises, project descriptions, software tools and tutorials are all available online, so that the participants can easily download and study at their own pace.
The instructor is Professor Shi-Kuo Chang, the Principal Investigator of the Chronobot project. The best way to contact the instructor is by e-mail (chang@cs.pitt.edu).
The short course is limited to no more than twenty participants, with priority seating for researchers from ATC, CCL, ITRI, III and cooperating academic institutions, strictly in that order. To reserve a seat, please contact Dr. Carl Kuo (cck@itri.org.tw), the Co-Principal Investigator of the Chronobot project.
The follow-up of this short course is a short course on Time and Time Management, to be offered by Professor Chang in September 2004, to further explore the principles and applications of the Chronobot.
The component industry metaphor (C2)
Component models and services (C3)
An Example specification (C4)
Exercise 1 (due May 10 Mon)
Component infrastructures (C15)
Project Discussion: The Virtual Classroom
Time/Knowledge Exchange Protocol
Project Discussion: Standard interface for the Virtual Classroom
Project Discussion: Use Virtual Classroom to discuss project
An OPEN process for component-based development (C18)
Software architecture design principles (C21)
Exercise 2 (due May 17 Mon)
Configuration management (C29)
JavaBeans (C33)
Choosing between COM+, EJB, and CCM (C35)
Project Milestone I to define messages for interface
Project Discussion: Use Virtual Classroom to discuss project
Final Thought: The master programmer moves from program to program without fear. No change in management can harm him. He will not be fired, even if the project is canceled. Why is this? He is filled with the Tao. -- Geoffrey James, The Tao of Programming