To reason about complex computational systems, researchers are starting to borrow techniques from the field of uncertainty reasoning. In some cases, this is because the algorithms contain stochastic components. For example, Markov decision processes are now being used to model the trajectory of stochastic local search procedures. In other cases, uncertainty is used to help model and cope with the stochastic nature of inputs to (possibly deterministic) algorithms. For example, Monte Carlo sampling is used to deal with uncertainty in game playing programs, whilst probability distributions are used to model variations in runtime performance. Uncertainty and randomness have also been found to be a useful addition to many deterministic algorithms. And a number of areas like planning, constraint satisfaction, and inductive logic programming which have traditionally ignored uncertainty in their computations are waking up to the possibility of incorporating uncertainty into their formalisms. The goal of this workshop is to encourage symbiosis between these different areas.