J. Kasurinen and U. Nikula (Finland)
Fundamentals of programming, Python, infrastructure, computer science education
Programming skill is one of the skills everyone tends to expect from a computer science graduate. However, recently many universities have reported high dropout rates and problems grasping the basic programming concepts in the first programming courses. In some cases such problems can severely disturb the normal advancement of the studies since basic programming skill is often a prerequisite for advanced courses. In this paper these problems are tackled by revising the course design emphasizing a close integration of different course elements, and developing an up to date infrastructure for the first programming course. The course was designed based on the imperative-first approach, and implemented with the Python programming language. In addition to justifying the selections made, we also report the results of the first course implementation and compare them with the results from the previous course. Overall the results indicate that the students were performing better than before. With the new course, students felt that the course had become more interesting and useful, even though the course was still considered laborious and challenging. Thus we intend to continue refining the course design and infrastructure while moving the improvement focus on the teaching practices to further improve the learning outcomes of the course.
Important Links:
Go Back