Creating an Object

Once you create your class, you need to create an object. The Class is just a blueprint for the program to follow. It doesn’t do anything until you create an object based off of that blueprint. Think of a house. If you have a house blueprint, all you have are some sheets of paper or…

Pattern-Based Design

A design pattern can be characterized as “a three-part rule which expresses a relation between a certain context, a problem, and a solution” [Ale79] For software design, context allows the reader to understand the environment in which the problem resides and what solution might be appropriate within that environment. A set of requirements, including limitations and constraints, acts as…

Interface Analysis

A software developer might have a different “mental image” of the software than the users which may be different than the stakeholders. However, since the user is the one who will be using it, shouldn’t they be the one who has the most consideration for the interface? This doesn’t necessarily mean talking them about what…

Tower of Hanoi

The Tower of Hanoi, sometimes called the Tower of Brahma puzzle, is one of the classic problems to look at if you want to learn recursion. This problem is good to understand how recursive solutions are arrived at and how parameters for this recursion are implemented. We look at the solution in another post. The…

Introduction to User Interface Design

The user interface, or UI, is how a user interacts with an application. The application doesn’t matter if it’s a computer application, a mobile phone app, or even your microwave oven. The study of how people interact with computes/apps/etc is called Human Computer Interaction, or HCI. In his book on interface design, Theo Mandel [Man97]…