Computer programming is an essential skill in the 21st century and new policies and frameworks aim at preparing students for computer science-related professions. Today, the development of new interfaces and block-programming languages facilitates the teaching of coding and computational thinking starting in kindergarten. However, as new programming languages that are developmentally appropriate emerge, there is a need to explicitly conceptualize pedagogical approaches for teaching computer science in the early years that embrace the maturational stages of children by inviting play and discovery, socialization, and creativity. Thus, it is not enough to copy models developed for older children, which mostly grew out of traditional Science, Technology, Engineering and Math (STEM) disciplines and instructional practices. This paper describes a pedagogical approach for early childhood computer science called "Coding as Another Language" (CAL), as well as six coding stages, or learning trajectories, that young children go through when exposed to CAL curriculum. CAL is grounded on the principle that learning to program involves learning how to use a new language (a symbolic system of representation) for communicative and expressive functions. This paper proposes that, due to the critical foundational role of language and literacy in the early years, the teaching of computer science can be augmented by models of literacy instruction. CAL supports young children in transitioning through different six coding stages. Case studies of young children using either the KIBO robot or the ScratchJr app will be used to characterize each coding stage and to illustrate the instructional practices of CAL curriculum.