TOWARDS A LEARNING KNOWLEDGE FORMAL FRAMEWORK FOR A FIRST GRADUATE COURSE IN PROGRAMMING
J. Garcia, J. Galve, J.M. Burgos
Technical University of Madrid (SPAIN)
This paper describes a proposal for a new perspective on lecturing as it is being currently understood and practiced on delivering the subject of "Introduction to Programming" during the first year of our Computer Science bachelor's degree. Our proposal intends to structure its content into three main trunks: i) the subject matter itself, ii) the learning process and iii) the content delivery channel. For the subject matter we present the relevant programming knowledge organized according to a problem catalogue and to data categories in conjunction with a standard approach to problem solving. With regard to the learning process our proposal introduces a progress through content based on traversing the different cataloged problem types, on the learning objectives and on the different knowledge types according to Bloom's Taxonomy.
I. INTRODUCTION
Based on previous experiences, veteran programmers rely on the reuse to solve new problems. Whenever a new problem is faced, experts will rarely plan a solution from the scratch. On the contrary, they will try to match the new problem with their knowledge on programming. This situation greatly contrasts with the attitude expected from novice programmers , and their rather unfortunate solutions based on intuition. This gap between expert and non-expert programmers reflects the deficit of tailor-made strategies and the lack of a model to refer to.
In the last two decades, some proposals have tried to transfer the chunks of knowledge handled by expert programmers into the CS programming curricula. This is the case of schemas [2], templates [3], plans [4] or patterns [2]. Although valuable, none of these contributions have succeeded to offer a concise, complete and non-ambiguous descriptive model to deal with programming knowledge. Despite years of research on programming instruction and specification languages, there has been relatively little work on formal techniques applied to organize the programming knowledge in a comprehensive model.
An important objective to be considered by any attempt to adjust a subject to the European Space of for Higher Education (ESHE) has to be that of making students become the main protagonists of their own learning process. With this in mind, we are currently developing a learning oriented "Introduction to Programming" subject course based both on practice and feasibility.
It is based on practice in the sense of that everything spins around the problem solving processes and that it uses the "Problem Based Learning" (PBL) methodology [14]. It is feasible in the sense of that it is currently being delivered within a university degree environment, as such is the UPM, by means of a "Blended Learning" model [10][11]. In this paper, we do provide a chronological view of the progress made so far.