DIGITAL LIBRARY
A PROGRAMMING PEDAGOGY FOR FIRST LEVEL PROGRAMMING COURSE USING REQUIREMENT DRIVEN APPROACH
Mahindra Satyam (INDIA)
About this paper:
Appears in: EDULEARN11 Proceedings
Publication year: 2011
Pages: 6231-6239
ISBN: 978-84-615-0441-1
ISSN: 2340-1117
Conference name: 3rd International Conference on Education and New Learning Technologies
Dates: 4-6 July, 2011
Location: Barcelona, Spain
Abstract:
The thirteen week entry level training of our company focus on transforming fresh students recruited from the campuses into employees of the organization by imparting necessary knowledge and skills. Upon completion of the training these fresh recruits are expected to play the role of developers in various business units identified. To bridge the gap between the academic prior knowledge of participants and the expected programming skills required for a developer, a programming course of five days duration is designed. Another important component is connecting the concepts of mathematics with programming where the participants should be able to use appropriate collection in higher programming languages. These include TreeSet , HashSet Map etc.. The purpose of this course is also to enable the students learn higher level technology stacks quickly by addressing the principles of programming like abstraction, encapsulation, reuse in terms of type and code that are being supported by higher level languages in a natural way. Abstract problems play vital role in building program logic and algorithm design skills among students. Hence a vending machine model is introduced in the class, the participants are expected to develop a simulator for the machine. The requirements are added incrementally to pose enough challenge and curiosity among the participants. The approach creates an opportunity to the facilitator to enable the participants identify appropriate data structure needed for the requirement. The concepts are taught in just-in-time manner integrating best coding practices identified for the training, using C language as vehicle. The pedagogy is based on thinking, coding and reflection. Explicit time slots are allocated for these three activities. The approach is built upon problem based learning incorporating the activities like learning by doing, learning by mistakes. A feedback form is designed on these areas and the collected feedback from the participants suggests that the present approach helped them in learning the necessary programming concepts and skills. In addition, the participants develop programming language independent thinking instead of language oriented thinking.
Keywords:
Pedagogy, constructivism, learning by doing, problem based learning.