COM3240 - Component-Based Programming

College of Computer Science
Northeastern University

Bookmark this page as


David H. Lorenz
111 Cullinane Hall, College of Computer Science,
Northeastern University, Boston, MA 02115

Past & Future Quarters

Required Textbook

The main source of information is:
Clemens Szyperski
Component Software - Beyond Object-Oriented Programming, 2/E
Addison-Wesley / ACM Press, 2003 (624 pages)
ISBN 0-201-74572-0

The textbook discusses components from a number of technical and non-technical perspectives.  The readings from this book will be supplemented with more focused readings on the Java Beans component technology.  In addition, we will read a number of papers related to component technology that will be distributed in class.

Book Cover

Software Development Product Excellence Best Book Award.

Another recommended source of information is:
Krysztof Czarnecki and Ulrich Eisenecker
Generative Programming: Methods, Tools, and Applications
Addison-Wesley / ACM Press, 2000 (864 pages)
ISBN 0-201-30977-7

Generative Programming is your complete guide and reference to Domain Engineering, Feature Modeling, Generic Programming, Aspect-Oriented Programming, Template Metaprogramming in C++, Generators, and Microsoft's Intentional Programming. Using this book you will learn how these techniques fit together and, more importantly, how to apply them in practice. We will be interested in how these emerging disciplines interact with software components.

Book Cover

Summarized Chapters

The following links lead to chapter summaries written by student in the COM3240 course taken in Spring 2001.
You'll need to have microsoft internet explorer 4.0 or above in order to view the presentations.

Required Software

Students will receive a CD with the following software: (license issues in review, students may need to download a copy directly and sign the agreement.)

Goals. The goals of the course are:

Course Structure. About one-third of the time would be spent on advanced OO concepts; another third would be devoted to Java and Sun's component model in detail; and the last third on selected papers related to component technology.
The programming assignments will give students hands-on experience programming components in Java and Java Beans, and using component development environments. Students will learn how to: Guest Lectures. Guest lectures will be given on CORBA (by OMG) and COM (by Microsoft).

Requirements. The course will consist of readings, programming assignments, two exams, and a final project (no final exam). Students will be required to write Java and Java Beans programs applying the latest features of Java 2.

Content. Concepts of object-oriented programming that form the basis for components (e.g., generic programming, programming by contracts, programming with metaclasses.) Software architecture for supporting components (e.g., implicit invocation, filters, reflection.) Theoretical foundations of components (e.g., aspect-oriented programming, subject-oriented programming, environmental acquisition.) Concrete realizations of components in some industry standards (e.g., JavaBeans, EJB, CORBA, COM/DCOM.) Selective topics in component research. The students will do a project where some creation, deployment, and evolution methods of software components are applied.


Good understanding of OO concepts.
Completed COM3230 Object-Oriented Design, preferably with "A-" or above.
(Or by permission of instructor.)
If you haven't taken COM3230, you should take the Smalltalk and OOP Proficiency Exam, to be offered on Monday, March 24, 2003.


Related courses and events at Northeastern University


 D. H. Lorenz Last Modified: $Date: 2000/02/17 05:52:30 $