Tuesday, May 27, 2008

Ecological Systems Theory

Ecological Systems Theory, also called "Development in Context" or "Human Ecology" theory, specifies four types of nested environmental systems, with bi-directional influences within and between the systems. The theory was developed by Urie Bronfenbrenner, generally regarded as one of the world's leading scholars in the field of developmental psychology. Later a fifth system was added:

* Microsystem: Immediate environments (family, school, peer group, neighborhood, and childcare environments)
* Mesosystem: A system comprised of connections between immediate environments (i.e., a child’s home and school)
* Exosystem: External environmental settings which only indirectly affect development (such as parent's workplace)
* Macrosystem: The larger cultural context (Eastern vs. Western culture, national economy, political culture, subculture)
* Chronosystem: The patterning of environmental events and transitions over the course of life.

The person's own biology may be considered part of the microsystem; thus the theory has recently sometimes been called "Bio-Ecological Systems Theory." Each system contains roles, norms, and rules that can powerfully shape development.

Monday, May 19, 2008

Evolutionary robotics

Evolutionary Robotics (ER) is a methodology that uses evolutionary computation to develop controllers for autonomous robots. Algorithms in ER frequently operate on populations of candidate controllers, initially selected from some distribution. This population is then repeatedly modified according to a fitness function. In the case of genetic algorithms (or "GAs"), a common method in evolutionary computation, the population of candidate controllers is repeatedly grown according to crossover, mutation and other GA operators and then culled according to the fitness function. The candidate controllers used in ER applications may be drawn from some subset of the set of artificial neural networks, although some applications (including SAMUEL, developed at the Naval Center for Applied Research in Artificial Intelligence) use collections of "IF THEN ELSE" rules as the constituent parts of an individual controller. It is theoretically possible to use any set of symbolic formulations of a control laws (sometimes called a policies in the machine learning community) as the space of possible candidate controllers. It is worth noting that artificial neural networks can also be used for robot learning outside of the context of evolutionary robotics. In particular, other forms of reinforcement learning can be used for learning robot controllers.

Monday, May 12, 2008

Software Innovation

Software Innovation can be understood in (at least) two ways:

1. Software Product Innovation - the creation of novel and useful software programs.

2. Software Process Innovation - the introduction of novel and useful ways of developing software.

Innovation should be distinguished from invention, and from creativity . Both are relevant to software innovation, but whereas creativity is the state of mind which leads to innovative thinking, and invention could describe a new algorithm or program (or software development technique), innovation implies that the creative act and invention are carried into wider use, leading to substantial kinds of change; thus the successful exploitation of new ideas. Software innovation therefore = invention + exploitation + diffusion , where invention refers to the creative act or process, exploitation refers to its enactment in practice, and diffusion of innovations refers to its adoption by a wider audience. Software innovation may refer to both radical (disruptive, discontinuous) and incremental changes to software products and processes. Typical the result of software innovation is experienced as change – in the way people work, business is carried out, in people’s choice of entertainment, in the way they choose to communicate, or in how they govern their communities and interact with each other.

Tuesday, May 06, 2008

Cost overrun

Cost overrun is defined as excess of actual cost over budget. Cost overrun is also sometimes called "cost escalation," "cost increase," or "budget overrun." However, cost escalation and increases do not necessarily result in cost overruns if cost escalation is included in the budget.

Cost overrun is common in infrastructure, building, and technology projects. One of the most comprehensive studies of cost overrun that exists found that 9 out of 10 projects had overrun, overruns of 50 to 100 percent were common, overrun was found in each of 20 nations and five continents covered by the study, and overrun had been constant for the 70 years for which data were available. For IT projects, an industry study by the Standish Group (2004) found that average cost overrun was 43 percent, 71 percent of projects were over budget, over time, and under scope, and total waste was estimated at US$55 billion per year in the US alone.