ABSTRACT The problem of content-based retrieval of images from electronic media is especially acu... more ABSTRACT The problem of content-based retrieval of images from electronic media is especially acute in contexts where the subject-matter of the images is very general. The Birkbeck system attempts to overcome the limitations of traditional keyword systems, which provide a random and undifferentiated listing of objects in a picture, by using an augmented entity-relationship model in the data-modeling process. The interface, which allows successive query reformulation, emulates some of those aspects of browsing so important in picture collections. The subject- matter of the picture is described in terms of its objects, their attributes and the relationships existing between them. The form of the description (for both storage and retrieval) is defined by the grammar of the Picture Description Language and the Picture Query Language. Descriptions which are input to the system are parsed to generate SQL statements for the RDBMS which stores the data. Pictures relevant to the user's enquiry are retrieved and displayed in miniature for rapid consultation. To refine further the set of pictures selected the system allows query modification, which is supported by a thesaurus. Higher rates of recall and precision are achieved than are normally possible in image storage and retrieval.
The Swift programming language is rapidly rising in popularity but it lacks the facilities for tr... more The Swift programming language is rapidly rising in popularity but it lacks the facilities for true concurrent programming. In this paper we describe an extension to the language which enables access to said concurrent capabilities and provides an api for supporting such interactions. We adopt the ACTOR model of concurrent computation and show how it can be successfully incorporated into the language. We discuss early findings on our prototype implementation and show its usage via an appropriate example. This work also suggests a general design pattern for the implementation of the ACTOR model in the Swift programming language.
2017 International Conference on Computational Science and Computational Intelligence (CSCI), 2017
This paper presents the research, design and development of an aspect-oriented framework for F#, ... more This paper presents the research, design and development of an aspect-oriented framework for F#, a functional programming language developed by Microsoft on the .NET platform[3]. Our framework allows one to insert advice before, after, or around the call to a particular function. We provide two distinct approaches to weaving the advice to the source code: using a monad-based weaver, and using a weaver built on meta-programming technologies.
In this paper, we describe further explorations with our prototype architecture and implementatio... more In this paper, we describe further explorations with our prototype architecture and implementation of the Actor model[1] of concurrent computation, ACTORKIT[2][3]. Actors provide a mechanism to exploit the multi-core processors of modern day computer architectures, in an intuitive and natu- ral fashion. ACTORKIT is hosted in an existing programming language as native constructs (Swift). We describe some of our extensions to the language and our experiences with the development, and evolution, of our prototype implementation.
We describe the design and implementation of a prototype Android application to help promote the ... more We describe the design and implementation of a prototype Android application to help promote the development of creative computational thinking in the UK Key Stage 1 and 2 classroom. The system is based on the combination of a natural language interface and Lego MINDSTORMS robots [1], focussing on engaging children and teachers who would not naturally be interested in computer programming. The prototype was tested with groups of children at local schools. We describe the stages of development for the application and test results. The paper concludes with a brief comparison of other programming applications, and suggests ways forward for the further development of this work.
We present the architecture and prototype imple- mentation of JELLIBEANS, a web search tool for a... more We present the architecture and prototype imple- mentation of JELLIBEANS, a web search tool for assisting users with Autistic Spectrum Disorder (ASD)1. The system models user interactions within the search process, utilising a user profile, and by integrating insights from the core features of the Autistic condition. The system has an integrated infra-red motion controlled user interface component, utilising gesture and hand movement data to enhance the interactive search process. The work provides insights into how search can be improved for users on the Autistic spectrum and includes an analysis of experiments carried out with the system.
We discuss the C#ide ("seaside") system, a lightweight, easy-to-use teaching environmen... more We discuss the C#ide ("seaside") system, a lightweight, easy-to-use teaching environment for the C# language that facilitates the teaching of C# on introductory programming courses. As with similar systems (e.g., BlueJ), we have placed emphasis on the visualisation and interaction techniques. What differentiates C#ide from other systems is the additional functionality of the system, which provides a highly interactive environment that encourages experimentation and exploration whilst not significantly reducing functionality. The objective is to develop a system which has "more mileage" than systems like BlueJ but significantly reduces the learning curve and transitional problems associated with migrating to more complex integrated development environments (e.g., Visual Studio .NET).
ABSTRACT The problem of content-based retrieval of images from electronic media is especially acu... more ABSTRACT The problem of content-based retrieval of images from electronic media is especially acute in contexts where the subject-matter of the images is very general. The Birkbeck system attempts to overcome the limitations of traditional keyword systems, which provide a random and undifferentiated listing of objects in a picture, by using an augmented entity-relationship model in the data-modeling process. The interface, which allows successive query reformulation, emulates some of those aspects of browsing so important in picture collections. The subject- matter of the picture is described in terms of its objects, their attributes and the relationships existing between them. The form of the description (for both storage and retrieval) is defined by the grammar of the Picture Description Language and the Picture Query Language. Descriptions which are input to the system are parsed to generate SQL statements for the RDBMS which stores the data. Pictures relevant to the user's enquiry are retrieved and displayed in miniature for rapid consultation. To refine further the set of pictures selected the system allows query modification, which is supported by a thesaurus. Higher rates of recall and precision are achieved than are normally possible in image storage and retrieval.
What kind of errors do beginners make? Objective answers to this question are essential to the de... more What kind of errors do beginners make? Objective answers to this question are essential to the design and implementation of curricula that don't just reflect the educators' theories but succeed in conveying a course's topics and skills to the students. In the context of a new introductory programming course based on “inverted curriculum” ideas, and taking advantage of our ability to instrument the compiler, we performed automatic analysis of the—sometimes contorted—paths students actually take to solve programming exercises on ...
Proceedings of Workshop on Educational Data Mining at the 8th International Conference on Intelligent Tutoring Systems (ITS 2006), 2006
Abstract. What difficulties do beginners face when learning object-oriented programming? How are ... more Abstract. What difficulties do beginners face when learning object-oriented programming? How are these reflected in the code they write? In the context of a new introductory programming course based on “inverted curriculum” ideas, and taking advantage of our ability to instrument the compiler, we obtained interaction logs from two different groups of students across two unrelated universities. We developed a methodology for analysing these logs to identify students' intentions, with the goal of providing contextual feedback in ...
ABSTRACT The problem of content-based retrieval of images from electronic media is especially acu... more ABSTRACT The problem of content-based retrieval of images from electronic media is especially acute in contexts where the subject-matter of the images is very general. The Birkbeck system attempts to overcome the limitations of traditional keyword systems, which provide a random and undifferentiated listing of objects in a picture, by using an augmented entity-relationship model in the data-modeling process. The interface, which allows successive query reformulation, emulates some of those aspects of browsing so important in picture collections. The subject- matter of the picture is described in terms of its objects, their attributes and the relationships existing between them. The form of the description (for both storage and retrieval) is defined by the grammar of the Picture Description Language and the Picture Query Language. Descriptions which are input to the system are parsed to generate SQL statements for the RDBMS which stores the data. Pictures relevant to the user's enquiry are retrieved and displayed in miniature for rapid consultation. To refine further the set of pictures selected the system allows query modification, which is supported by a thesaurus. Higher rates of recall and precision are achieved than are normally possible in image storage and retrieval.
The Swift programming language is rapidly rising in popularity but it lacks the facilities for tr... more The Swift programming language is rapidly rising in popularity but it lacks the facilities for true concurrent programming. In this paper we describe an extension to the language which enables access to said concurrent capabilities and provides an api for supporting such interactions. We adopt the ACTOR model of concurrent computation and show how it can be successfully incorporated into the language. We discuss early findings on our prototype implementation and show its usage via an appropriate example. This work also suggests a general design pattern for the implementation of the ACTOR model in the Swift programming language.
2017 International Conference on Computational Science and Computational Intelligence (CSCI), 2017
This paper presents the research, design and development of an aspect-oriented framework for F#, ... more This paper presents the research, design and development of an aspect-oriented framework for F#, a functional programming language developed by Microsoft on the .NET platform[3]. Our framework allows one to insert advice before, after, or around the call to a particular function. We provide two distinct approaches to weaving the advice to the source code: using a monad-based weaver, and using a weaver built on meta-programming technologies.
In this paper, we describe further explorations with our prototype architecture and implementatio... more In this paper, we describe further explorations with our prototype architecture and implementation of the Actor model[1] of concurrent computation, ACTORKIT[2][3]. Actors provide a mechanism to exploit the multi-core processors of modern day computer architectures, in an intuitive and natu- ral fashion. ACTORKIT is hosted in an existing programming language as native constructs (Swift). We describe some of our extensions to the language and our experiences with the development, and evolution, of our prototype implementation.
We describe the design and implementation of a prototype Android application to help promote the ... more We describe the design and implementation of a prototype Android application to help promote the development of creative computational thinking in the UK Key Stage 1 and 2 classroom. The system is based on the combination of a natural language interface and Lego MINDSTORMS robots [1], focussing on engaging children and teachers who would not naturally be interested in computer programming. The prototype was tested with groups of children at local schools. We describe the stages of development for the application and test results. The paper concludes with a brief comparison of other programming applications, and suggests ways forward for the further development of this work.
We present the architecture and prototype imple- mentation of JELLIBEANS, a web search tool for a... more We present the architecture and prototype imple- mentation of JELLIBEANS, a web search tool for assisting users with Autistic Spectrum Disorder (ASD)1. The system models user interactions within the search process, utilising a user profile, and by integrating insights from the core features of the Autistic condition. The system has an integrated infra-red motion controlled user interface component, utilising gesture and hand movement data to enhance the interactive search process. The work provides insights into how search can be improved for users on the Autistic spectrum and includes an analysis of experiments carried out with the system.
We discuss the C#ide ("seaside") system, a lightweight, easy-to-use teaching environmen... more We discuss the C#ide ("seaside") system, a lightweight, easy-to-use teaching environment for the C# language that facilitates the teaching of C# on introductory programming courses. As with similar systems (e.g., BlueJ), we have placed emphasis on the visualisation and interaction techniques. What differentiates C#ide from other systems is the additional functionality of the system, which provides a highly interactive environment that encourages experimentation and exploration whilst not significantly reducing functionality. The objective is to develop a system which has "more mileage" than systems like BlueJ but significantly reduces the learning curve and transitional problems associated with migrating to more complex integrated development environments (e.g., Visual Studio .NET).
ABSTRACT The problem of content-based retrieval of images from electronic media is especially acu... more ABSTRACT The problem of content-based retrieval of images from electronic media is especially acute in contexts where the subject-matter of the images is very general. The Birkbeck system attempts to overcome the limitations of traditional keyword systems, which provide a random and undifferentiated listing of objects in a picture, by using an augmented entity-relationship model in the data-modeling process. The interface, which allows successive query reformulation, emulates some of those aspects of browsing so important in picture collections. The subject- matter of the picture is described in terms of its objects, their attributes and the relationships existing between them. The form of the description (for both storage and retrieval) is defined by the grammar of the Picture Description Language and the Picture Query Language. Descriptions which are input to the system are parsed to generate SQL statements for the RDBMS which stores the data. Pictures relevant to the user's enquiry are retrieved and displayed in miniature for rapid consultation. To refine further the set of pictures selected the system allows query modification, which is supported by a thesaurus. Higher rates of recall and precision are achieved than are normally possible in image storage and retrieval.
What kind of errors do beginners make? Objective answers to this question are essential to the de... more What kind of errors do beginners make? Objective answers to this question are essential to the design and implementation of curricula that don't just reflect the educators' theories but succeed in conveying a course's topics and skills to the students. In the context of a new introductory programming course based on “inverted curriculum” ideas, and taking advantage of our ability to instrument the compiler, we performed automatic analysis of the—sometimes contorted—paths students actually take to solve programming exercises on ...
Proceedings of Workshop on Educational Data Mining at the 8th International Conference on Intelligent Tutoring Systems (ITS 2006), 2006
Abstract. What difficulties do beginners face when learning object-oriented programming? How are ... more Abstract. What difficulties do beginners face when learning object-oriented programming? How are these reflected in the code they write? In the context of a new introductory programming course based on “inverted curriculum” ideas, and taking advantage of our ability to instrument the compiler, we obtained interaction logs from two different groups of students across two unrelated universities. We developed a methodology for analysing these logs to identify students' intentions, with the goal of providing contextual feedback in ...
Uploads