Decorator Design Pattern (2009)
The Decorator Pattern is used for adding additional functionality to a particular object as opposed to a class of objects. It is easy to add functionality to an entire class of objects by subclassing...
Flyweight Design Pattern (2009)
The Flyweight Design Pattern is useful when there is the need for many, many objects to exist that share some information or similarly, when a set of obgjects can be re-used to service many different...
Model-View-Controller Design Pattern (2009)
The MVC design pattern enables one to cleanly decouple the model from the view in large systems.
Principles of Object-Oriented Programming (2009)
An objects-first with design patterns introductory course
RUNNING HEAD: Evaluating Seizure Prediction Algorithms with HMMs (2008)
Stephen Wong, Andrew B. Gardner, Abba M. Krieger, Brian Litt, Contact Stephen Wong
Responsive, implantable stimulation devices to treat epilepsy are now in clinical trials. New evidence suggests that these devices may be more effective when they deliver therapy before seizure...
An overview of recursion and recursive algorithms from an object-oriented perspective.
Design Patterns for Sorting (2008)
Object-oriented sorting of arrays, based on Merritt's sorting thesis.
Arrays and Array Processing (2008)
Gives the basics of array storage, with examples of basic array processing in Java, and contrasts arrays with lists.
Finite State Machines and the State Design Pattern (2008)
Make use of finite state machines and the state design pattern to create a Java "Cheap Calculator".
More Java GUI Programming (2008)
Java GUI programming including basic event handling, adapters, and the command and null-object design patterns.
Abstract Factory Design Pattern (2008)
Explains the Factory Design Pattern, a pattern in object-oriented programming whereby a factory is responsible for creating instances of a given class of objects.
Explains and illustrates the command design pattern.
Describe the Null Design Pattern: an object that does nothing.
Explains the binary tree structure, and gives a sample implementation in Java, along with example tree algorithms.
Graphical User Interfaces in Java (2008)
Demonstrates the basics of Java GUI programming, and the design patterns involved therein.
The State Design Pattern models objects that changes state, i.e. change behavior as a result of what has happened to them. This is also called "dynamic reclassification".
Strategy Design Pattern (2008)
The Strategy Design Pattern encapsulates an abstract behavior to which the client delegates a specific task.
Template Design Pattern (2008)
Illustrates and explains the workings of the template design pattern.
In Java, besides having fields and methods, a class can also have other classes as members. Just like fields and methods, a class member of can be static or non-static. A non-static class member is...
3D Interactive Centerline Extraction (2008)
Zhang, Yong, Chen, Kun, Wong, Stephen
This document describes a user-steered method to interactively track centerlines of tubular objects in 3D space. The method is developed as a plug-in of ImageJ using Java language. To evaluate the...
Ordering Object and Priority Queue (2008)
The modulde describes a comparator objects for determiniging a binaryorder and bulds a generalized priority queue with it.
Restricted Access Containers (2008)
Restricted access containers provided encapsulated storage of information for algorithms where the storage is decoupled from the details of insertion and removal of data from the storage.
Interpreter Design Pettern (2008)
The Intepreter Design Pettern is the basis for recursive algorithms on composite structures
Ballworld, composition-based (2008)
The module uses the Ballworld program to demonstrate key ideas in abstract classes, polymorphism, inheritance and other coding techniques. In particular, this module will contrast a composition-based...
Ballworld, inheritance-based (2008)
The module uses the Ballworld program to demonstrate key ideas in abstract classes, polymorphism, inheritance and other coding techniques. This module will focus on an inheritance-based architecture.
Stephen Wong, Francine E. Brennan, Morag J. Young, Peter J. Fuller, Timothy J
DISCLOSURE STATEMENT: S.W. F.E.B. and T.J.C. have nothing to declare. M.J.Y. and P.J.F., have been the recipients of a previous research grant from Pfizer Inc. and M.J.Y. from Merck. The present...
Asher Sterkin, Richard Rasala, Stephen Wong, D. X. Nguyen, Philip R. Ventura, ...
Abstract: This paper presents an argument in favor of the systematic teaching of object-oriented design patterns in academic institutions and provides some recommendations for organizing the teaching...
Eric Cheng, Dung “zung Nguyen, Mathias Ricken, Stephen Wong
The Marine Biology Simulation is designed as a final project in an objects-first CS2 course. It provides an entertaining setting that serves as compelling example of the powers of objectoriented...
A short tutorial on using UML diagrams, particularly class diagrams, in object-oriented design.
Abstract thinking is difficult for many students to learn, but is a crucial component for learning computer science. We developed and implemented an OOP-first that not only teaches fundamental CS...
Union Design Pattern: Inheritance and Polymorphism (2008)
The union design pattern is a structural pattern that depicts the inheritance relationship between a superclass and its subclasses. The superclass is an abstract representation of the union of all...
List Structure and the Composite Design Pattern (2007)
In programming, it is often necessary to have objects with which one can store data, retrieve data when needed, and remove data when no longer needed. Such objects are instances of what we call...
StarUML is a tool to create class diagrams and other types of diagrams in the Unified Modeling Language (UML). This module is a short tutorial on using StarUML to create class diagrams in Java.
Composite Design Pattern (2007)
The Composite Design Pattern is an object-oriented representation of a recursive data structure.
An introduction to the concepts of objects and classes
Programming is managing complexity. The computer scientist uses abstraction as a tool for managing complexity.
This module is a placeholder for modules that are under construction and not yet published. Any links to this module should be replaced when the desired module is published.
The Union Design Pattern represents the abstraction of two or more (more) concrete representations. This representation of an abstraction is a fundamental concept in object-oriented design. The...
Relationships between objects can be classified as either "is-a" (inheritance) or "has-a" (composition). These two relationships enable the OO software designer to create abstract models of the...
A computer support system for automated jig configuration for furniture assembly (2006)
Wong, Stephen, Shayan, Ebrahim, Masood, Syed H.
Abstract not available.
A computer support system for automated jig configuration for furniture assembly (2006)
Wong, Stephen, Shayan, Ebrahim, Masood, Syed H.
Abstract not available.
A computer support system for automated jig configuration for furniture assembly (2006)
Wong, Stephen, Shayan, Ebrahim, Masood, Syed H.
Abstract not available.
A computer support system for automated jig configuration for furniture assembly (2006)
Wong, Stephen, Shayan, Ebrahim, Masood, Syed H.
Abstract not available.
Unit Testing with JUnit in DrJava (2004)
Unit testing is a fundamental testing process in the development of object-oriented systems. The module is a primer on using the JUnit unit testing framework that is integrated into DrJava.
An introduction to Java syntax covering simple Java expressions and the declaration of concrete classes and methods.
Study of a psychiatric patient dependency system (1995)
Bibliography: p. 61-65. Microfiche.Balgowlah, NSW :W. & F. Pascoe,[19--]1 microfiche.
A Genotype-Independent Real-Time PCR Assay for Quantification of Hepatitis B Virus DNA▿
Liu, Ying, Hussain, Munira, Wong, Stephen, Fung, Scott K., Yim, Hyung Joon, Lok, Anna S. F.
Accurate quantification of hepatitis B virus (HBV) DNA levels is important for monitoring patients with chronic HBV infection and for assessing their responses to antiviral therapy. This study aimed...
Huffard, Christine L., Caldwell, Roy L., DeLoach, Ned, Gentry, David Wayne, Humann, Paul, MacDonald, Bill, ...
Studies on the longevity and migration patterns of wild animals rely heavily on the ability to track individual adults. Non-extractive sampling methods are particularly important when monitoring...