Chemical programming to exploit chemical reaction systems for computation This thesis is on programming approaches to exploit the computational capabilities of chemical systems consisting of two parts. In the first part constructive design research activities on theoretical development of chemical programming are reported. As results of the investigations general programming principles named organization oriented programming are derived. The idea is to design reaction networks such that the desired computational outputs correspond to the organizational structures within the networks. The second part autonomous design discusses on programming strategies without human interactions namely evolution and exploration. Motivations for this programming approach include possibilities to discover novelty without rationalization. Regarding first the evolutionary strategies we rather focused on how to track the evolutionary processes. Our approach is to analyze these dynamical processes on a higher level of abstraction and usefulness of distinguishing organizational evolution in space of organizations from actual evolution in state space is emphasized.