The author discusses problems with teaching introductory computer science. It is suggested that the common practice of asking students to engage in programming activities that simulate the problems of professionals in...
详细信息
The author discusses problems with teaching introductory computer science. It is suggested that the common practice of asking students to engage in programming activities that simulate the problems of professionals in the field may not be the most effective teaching method. A research paper titled "Why Minimal Guidance During Instruction Does Not Work: An Analysis of the Failure of Constructivist, Discovery, Problem-Based, Experimental, and Inquiry-Based Teaching," by Kirschner, Sweller, and Clark is cited as finding evidence that the minimal-guidance technique is not productive.
As Agile Software Development (ASD) has grown in influence in both academia and industry, Pair Programming, which is an important theme in ASD has become a controversial focus of interest. Pair Programming is a form o...
详细信息
As Agile Software Development (ASD) has grown in influence in both academia and industry, Pair Programming, which is an important theme in ASD has become a controversial focus of interest. Pair Programming is a form of team collaboration. It is concerned with two programmers working side by side on design, coding and testing. Many researchers still remain skeptical of claims for the productivity of Pair Programming. This thesis aims to advance the use of findings from empirical software engineering on Pair Programming and to find ways, based on the findings, to help inexperienced programmers of small in-house software teams to increase their productivity. The fundamental problem of Pair Programming is to measure the productivity gain it has over solo programming. As the programming abilities of each developer varies widely, having programmers divided into solo and pair groups in order to measure time productivity of Pair Programming and to justify the quality of their work requires a large set of samples. Otherwise, this kind of experiment, despite its straightforwardness, may not eliminate personal factors from subjects of pairs. The variations of programming language skills among the subject pairs could unpredictably affect the experiment. Taking a different approach, this thesis intends to observe a single group of industrial programmers carrying out two sorts of task: (1) completing an algorithm-style aptitude test in pairs and individually; (2) two aptitude tests completed by subjects who alternately work in pairs and individually. The results show that algorithm design at all levels in Pair Programming is more productive. We have also designed and carried out a set of controlled experiments, called Repeat Programming, to assess the productivity of the same pairs and individuals, from novice to experienced, solving the same problem. The use of Repeat Programming enhances understanding of previous Pair Programming control experiments to explain why different con
暂无评论