While researches on programming MOOCs give importance to the pedagogical issues (assessment, using of integrated development environment, analyzing performance or drop out in programming MOOCs), studies focus less on didactic issues. Thus, this study aims to understand the learning process within the MOOC of “Algorithms and Programming” delivered on the national platform "Morocco Digital University (MUN)" and presents a description of the learning strategies within programming MOOCs and difficulties encountered by participants drawn from in-depth interviews with 39 participants. The results revealed that to learn within the MOOC, the students used “cognitive strategies” in terms of elaboration strategies such as linking the content with prior programming knowledge and organization strategies such as the use of flowcharts to build step by step the algorithmic knowledge and “technical strategies” in terms of mobilization of videos and quizzes of the MOOC. The students have difficulties in decomposing problems, passing from the analysis phase to the algorithmic development phase and complex treatments composed of several conditions and loops. These results can provide MOOC instructors and researchers with insights into the study and design of programming MOOCs by taking into account the various learning strategies used by students and their experienced difficulties.