Computer programming courses are major contributor to non-passing rates and teaching the subject is significantly challenging. MOOC (Massive Open Online Course), a web-based LMS providing online courses, is a new popular learning media expected to facilitate better teaching-learning process for improving learning outcomes. Unfortunately, most of the current MOOCs are intended only for non-vocational (non-practical) learning and have set aside research on MOOC for computer programming courses. This study employed systematic literature review (SLR) method to summarize and review available functionalities as the core in designing a proposed MOOC architecture model. The proposed model covers application layers (user, system, and data layers) and adopts the theories of cognitive, constructive, and social situated learning. The proposed model is expected to provide guidance for institutions to develop their own MOOC and utilize it in blended learning processes to improve the outcome in computer programming courses.