Programmable self-assembly entails that information encoded in the parts are passed onto the whole. It is the implicit rationale behind the bottom-up synthesis in supramolecular chemistry and nanochemistry, where chemical information embedded at the molecular and colloidal levels manifests itself in the final assembled structures through the works of molecular and intermolecular forces. Here we employ the concept of programmable self-assembly to construct and study artificial collective systems and to look for general principles in all collective systems, both natural and artificial.