Creating specified structures through the coordinated efforts of teams of simple autonomous robots is a significant problem in distributed robotics. All previous effort, both empirical and theoretical, has focused on the problems of designing either controllers or environments which, in tandem with given environments or controllers, built the specified structures. In this paper, we give the results of the first computational and parameterized complexity analyses of the controller-environment co-design problem in the simple case where teams of finite-state robots are designed by selecting controllers from a given library. We show that this problem cannot be solved efficiently in general or under a number of restrictions, and give the first restrictions under which this problem is efficiently solvable.We also consider two elaborations on this problem. First, we analyze the controllerenvironment co-design problem under a new architecture in which robots have a transient memory. Second, we give the first definitions of and derive computational complexity results for stigmergy-related parameters for the controller-environment co-design problem. ii Acknowledgements I would like to express my profound gratitude to Dr. Todd Wareham, my research supervisor, for his academic guidance, untiring support, research grant and his valuable and constructive feedback of this research work. His readiness to accommodate me whenever possible and to help me throughout my research work is much appreciated.