En la sociedad actual, basada en la información y el conocimiento, se vuelve fundamental la manera en que se enseña programación. En este artículo explicitamos las bases conceptuales de una propuesta innovadora para un primer curso de programación, exhibiendo simultáneamente una metodología para la presentación de los conceptos deseados, y atendiendo la problemática de la formación previa de los estudiantes. Como parte de la tarea, presentamos una creación propia, el lenguaje Gobstones, diseñada para ser un vehículo que oriente el aprendizaje conciso de las herramientas abstractas de programación que deseamos enseñar.