This paper posits an approach for the design of programming language courses. The approach consists of 7 steps. Step 1 was thought to help learners to rectify their negative beliefs in order to cope with the learners' emotional aspect. Step 2 proposes the intersection among the learners' knowledge and abilities background in order to help the learners to construct their own knowledge based on t…