Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where James H. Paterson is active.

Publication


Featured researches published by James H. Paterson.


technical symposium on computer science education | 2007

A survey of literature on the teaching of introductory programming

Arnold Pears; Stephen Seidman; Lauri Malmi; Linda Mannila; Elizabeth S. Adams; Jens Bennedsen; Marie Devlin; James H. Paterson

Three decades of active research on the teaching of introductory programming has had limited effect on classroom practice. Although relevant research exists across several disciplines including education and cognitive science, disciplinary differences have made this material inaccessible to many computing educators. Furthermore, computer science instructors have not had access to a comprehensive survey of research in this area. This paper collects and classifies this literature, identifies important work and mediates it to computing educators and professional bodies. We identify research that gives well-supported advice to computing academics teaching introductory programming. Limitations and areas of incomplete coverage of existing research efforts are also identified. The analysis applies publication and research quality metrics developed by a previous ITiCSE working group [74].


international conference on program comprehension | 2015

Eye movements in code reading: relaxing the linear order

Teresa Busjahn; Roman Bednarik; Andrew Begel; Martha E. Crosby; James H. Paterson; Carsten Schulte; Bonita Sharif; Sascha Tamm

Code reading is an important skill in programming. Inspired by the linearity that people exhibit while natural language text reading, we designed local and global gaze-based measures to characterize linearity (left-to-right and top-to-bottom) in reading source code. Unlike natural language text, source code is executable and requires a specific reading approach. To validate these measures, we compared the eye movements of novice and expert programmers who were asked to read and comprehend short snippets of natural language text and Java programs. Our results show that novices read source code less linearly than natural language text. Moreover, experts read code less linearly than novices. These findings indicate that there are specific differences between reading natural language and source code, and suggest that non-linear reading skills increase with expertise. We discuss the implications for practitioners and educators.


Proceedings of the 2010 ITiCSE working group reports on | 2010

An introduction to program comprehension for computer science educators

Carsten Schulte; Tony Clear; Ahmad Taherkhani; Teresa Busjahn; James H. Paterson

The area of program comprehension comprises a vast body of literature, with numerous conflicting models having been proposed. Models are typically grounded in experimental studies mostly involving experienced programmers. The question of how to relate this material to the teaching and learning of programming for novices has proven challenging for many researchers. In this critical review from a computer science educational perspective, the authors compare and contrast the way in which different models conceptualize program comprehension. This provides new insights into learning issues such as content, sequence, learning obstacles, effective learning tasks and teaching methods, as well as into the assessment of learning


technical symposium on computer science education | 2006

A design patterns extension for the BlueJ IDE

James H. Paterson; John Haddow; Michael Nairn

Design patterns now have a strong influence on the design and development of object oriented software. It is therefore becoming increasingly important to teach patterns. In this paper we describe a tool, in the form of an extension to the BlueJ IDE, which has been developed to encapsulate knowledge of patterns in the IDE and to help students explore them and learn how to make use of them. The extension adds the capability to BlueJ to provide step-by-step construction of a pattern-based solution to a programming problem. We present technical details of the tool and describe an example of its use.


Innovation in Teaching and Learning in Information and Computer Sciences | 2012

Evaluation Of Student Engagement With Peer Feedback Based On Student-Generated MCQs

Jim Devon; James H. Paterson; David C. Moffat; June McCrae

Abstract In this paper, we describe the usage patterns found on four different modules and analyse the detailed outcomes of two case studies based around the usage of the PeerWise system which encourages students to create multiple choice questions (MCQs) for their peers and allows them to evaluate and write comments on MCQs written by their peers. The case studies evaluated data collected from using PeerWise with different student cohorts taking the same modules over two consecutive academic years. Between the years interventions were introduced to attempt to increase student engagement. It was noted that although increased levels of participation were observed in cohorts on different modules the authors are aware that other factors often can have a strong influence, including the awarding of marks for participation, the year of study and students perceived value. This evaluation seems to show that the early and specific interventions applied did have an influence on the pattern of student usage by increasing the student engagement with the PeerWise system.


british national conference on databases | 2010

Uses of peer assessment in database teaching and learning

James H. Paterson; John N. Wilson; Petra Leimich

This discussion paper introduces three very different methods and contexts for the use of peer assessment in introductory database classes, each of which is supported by different learning software tools. In the first case study, at Glasgow Caledonian University, Contributing Student Pedagogy is used, where students contribute to the learning of others through the collaborative creation of a bank of self-assessment questions. This is supported by the Peerwise software tool. Secondly, at the University of Strathclyde, students undertake formative assessment of others in providing feedback on an initial element of a larger coursework assessment. A number of virtual learning environments (VLEs) are capable of supporting this method through customisable discussion fora. Finally, at the University of Abertay Dundee, peer and self assessment are used in a group project to adjust the group grade for individual students. This is effected through the use of the WebPA software tool.


Innovation in Teaching and Learning in Information and Computer Sciences | 2007

Tool Support for Implementation of Object-Oriented Class Relationships and Patterns

James H. Paterson; John Haddow

Abstract This paper reports the use of the PatternCoder tool in the teaching of object-oriented design and programming. This tool has been developed by the authors as an extension to the BlueJ Java Integrated Development Environment (IDE). PatternCoder encapsulates knowledge of design patterns and basic class relationships, and of the techniques required for their implementation in Java. It guides students through a step-by-step process: select an appropriate pattern or relationship; give the classes which participate in the pattern names relevant to the current problem domain; and generate code for minimal Java class definitions which can then be explored and extended. The tool was initially developed with a view to teaching advanced design patterns, but we have explored its use within introductory classes, viewing binary class relationships as simple design patterns. Initial experience with the tool within an introductory Java module has been positive, with students actively choosing to use the tool and feeling that the teaching approach based on its use was beneficial to their understanding of class relationships.


technical symposium on computer science education | 2004

Approaches to object persistence in java projects

James H. Paterson; John Haddow

This presentation discusses and demonstrates the advantages and limitations of a range of object persistence strategies for use in student projects.


technical symposium on computer science education | 2003

Teaching Java: using an object-oriented database and the BlueJ IDE

James H. Paterson; John Haddow

In this Tip we describe the use of a simple Object Oriented database system to implement object persistence in Java programming projects.


technical symposium on computer science education | 2008

Drawing the line: teaching the semantics of binary class associations

James H. Paterson; John Haddow; Ka Fai Cheng

This poster presents the use of a customizable code pattern tool to provide support for teaching of binary class associations in object-oriented design and programming based on recent research on the semantics of associations.

Collaboration


Dive into the James H. Paterson's collaboration.

Top Co-Authors

Avatar

Ka Fai Cheng

Glasgow Caledonian University

View shared research outputs
Top Co-Authors

Avatar

Carsten Schulte

Free University of Berlin

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

John N. Wilson

University of Strathclyde

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Stefan Edlich

Technical University of Berlin

View shared research outputs
Top Co-Authors

Avatar

Teresa Busjahn

Free University of Berlin

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Jürgen Börstler

Blekinge Institute of Technology

View shared research outputs
Researchain Logo
Decentralizing Knowledge