Instructional technology for the teaching of novice programmers at a university of technology

Dissertation submitted in fulfilment of the requirements for the degree of Master of Information Technologyin the Department of Information Technology in the Faculty of Informatics and Design Cape Peninsula University of Technology === Learning computer programming can be fun, challenging and improv...

Full description

Bibliographic Details
Main Author: Rudolph, Godfrey
Language:en
Published: Cape Peninsula University of Technology 2015
Subjects:
Online Access:http://hdl.handle.net/20.500.11838/1401
Description
Summary:Dissertation submitted in fulfilment of the requirements for the degree of Master of Information Technologyin the Department of Information Technology in the Faculty of Informatics and Design Cape Peninsula University of Technology === Learning computer programming can be fun, challenging and improve problem solving which is a useful ability in general. A teaching-learning environment with a strong emphasis on problem solving promotes social behaviour and discloses the personal benefits that individuals working in almost any Information Technology position can get from programming knowledge. This research project is looking at the challenges experienced by novice programmers and the negative effect it has on the student and the university. This study will address the knowledge and skills needs of programming students and the challenges for students and educators to evolve from traditional to technology-supported teaching and learning. Computer programming is a cognitively challenging subject and good instructional strategies are important in providing the student with optimal learner support. Novice programmers often struggle to understand how a computer executes a program, which impacts negatively on the delivery of the subject and throughput rates. The majority of first year Information Technology students at Cape Peninsula University of Technology are novice programmers and lack strong logic and reasoning as well as other Information Technology skills that can facilitate their interpretation and application of key concepts in programming. These challenges and negative impact on the academic development of programming students have therefore forced the researcher to investigate innovative teaching strategies and/or instructional technologies that can facilitate novice programmers in learning the basic programming concepts. The purpose of this on-going study is to enhance the traditional method of teaching and the understanding of the problems experienced by novice programmers. This study attempts to respond to the question of what the tentative design principles of instructional technology are that can be used to facilitate novice programmers’ understanding of programming concepts. A mix methodology was considered but at the end a qualitative approach was employed. Multiple sources of data gathering, which include participant observations, video recording, a questionnaire, and document analysis, were used as research instruments. The findings, relative to providing a basis for finding a mechanism to help our first year students to cope with the abstract concepts of programming, reflected the literature review. Other key findings included:  Students have little or no prior computer or programming experience  Student population is diverse in terms of computer skills and programming knowledge  Visualization will help reduce the difficulties in writing programs The overall outcomes of this study suggest that:  Good programming examples that include games should be used  Students must be given the opportunity to be more active in their learning.  Computerized assistants should be provided for novice programmers  A visualization tool similar to Scratch should be considered  A basic background in Mathematics is recommended