We propose a hierarchical, three-tiered motion programming architecture for humanoid robots that allows for the prioritized coordination of multiple tasks while taking into account the dynamics and other physics-based constraints that underlie typical humanoid robot tasks. We first introduce a data structure for generic humanoid robots based on a general description of what constitutes a humanoid that is workable and practical from a programming perspective, without overly restricting the diversity of humanoid designs. For the low-level language we develop an extension of Brockett's motion description language (MDL) that allows for the prioritized coordination of multiple tasks taking into account the dynamics-based requirements of typical humanoid manipulation tasks. The extended multitasking motion description language (MDLm) inherits the advantages of the original MDL, while making use of change of coordinates and the null space control formalism of Sentis and Khatib (Int J Humanoid Robot 2(4):505---518, 2005). We also develop a high-level language consisting of pre-defined motion primitives that constitute a vocabulary for generating more complex free-space motions and object manipulation tasks. These occupational tasks and free-space motions are derived based on methods and principles for measuring human task performance Drumwright (The Task Matrix: a robot-independent framework for programming humanoids. Ph.D dissertation, University of Southern California, 2007), Karger and Bayha (Engineered work measurement. Industrial Press, New York, 1965). The structure of the high level language is also inspired in part by well-established notation for dance choreography Huang and Hudak (Dance: a declarative language for the control of humanoid robots, 2003) Hutchinson (Labanotation or Kinetography Laban: system of analyzing and recording movement. Oxford University Press, New York, 1972). In the resulting architecture, high-level motion primitives and MDLm are integrated in a balanced and consistent manner that allows for flexible and intuitive programming in an efficient manner. A case study is offered to illustrate our architecture.