Teaching computer programming: The macedonian case study of functional programming - Trivodaliev, Kire; Stojkoska, Biljana; Mihova, Marija; Jovanov, Mile; Kalajdziski, Slobodan (IEEE, 2017)
The rapid development of information technology has imposed a high rate of change and reconceptualization in the design of computer science (CS) courses in order to expand access, provide flexibility in the learning environments, and meet the expanding needs of the ICT industry for qualified graduates. In such environment programming skills have become a core competence for computer science and engineering students. The issue of choosing and/or developing the most effective approach to teaching computer-programming languages has risen to the greatest importance. This paper presents a study on teaching functional programming using different teaching approaches combining different modes of delivering learning material and different assessment and feedback types. The analysis is done on data for a span of three years of teaching the Logical and Functional Programming (LFP) course and Artificial Intelligence (AI) course, both of which include functional programming during a 7 week, 4 hours per week, long period. We analyse what is the effect of different teaching approaches, but also what is the success of students taking both courses and which order of taking the exams improves the student results. Our results show that although moving toward online oriented teaching with high levels of automation is a necessity imposed by the rise in student numbers, we still need a dedicated face-to-face time and appropriate human feedback in solving programming problems. Additionally, the results imply that some reorganization in the Computer Science and Engineering Undergraduate Curricula is needed in order to meet student needs and preferences.
Keywords: blended learning; functional programming; automatic assessment; macedonian case study