13 research outputs found

    Predicting programming assignment difficulty

    Get PDF
    Teaching programming is increasingly more widespread and starts at primary school level on some countries. Part of that teaching consist of students writing small programs that will demonstrate learned theory and how various things fit together to form a functional program. Multiple studies indicate that programming is difficult skill to learn and master. Some part of difficulty comes from plethora of concepts that students are expected to learn in relatively short time. Part of practicing to write programs involves feedback, which aids students’ learning of assignment’s topic, and motivation, which encourages students to continue the course and their studies. For feedback it would be helpful to know students’ opinion of a programming assignment difficulty. There are few studies that attempt to find out if there is correlation between metrics that are obtained from students’ writing a program and their reported difficulty of it. These studies use statistical models on data after the course is over. This leads to an idea if such a thing could be done while students are working on programming assignments. To do this some sort of machine learning model would be possible solution but as of now no such models exist. Due to this we will utilize idea from one of these studies to create a model, which could do such prediction. We then improve that model, which is coarse, with two additional models that are more tailored for the job. Our main results indicate that this kind of models show promise in their prediction of a programming assignment difficulty based on collected metrics. With further work these models could provide indication of a student struggling on some assignment. Using this kind of model as part of existing tools we could provide a student subtle help before his frustration grows too much. Further down the road such a model could be used to provide further exercises, if need by a student, or progress forward once he masters certain topic

    Empirical modelling as a new paradigm for educational technology

    Get PDF
    Educational technology has yet to deliver the benefits or successes that were expected in educational practice, especially in relation to issues other than the communication and delivery of teaching materials. Evidence suggests that these difficulties stem from the mismatch between formalised virtual learning environments and everyday sensemaking and between the rich potential for enhanced learning afforded by new technology and the constraints of old-style educational practice. In addressing this mismatch, some commentators suggest that the primary need is for a new culture of educational practice-and even that such a culture is already emerging, and others identify the need for a new paradigm for educational technology. The aim of this thesis is to explore the potential for a new paradigm for educational technology based on the principles and tools of Empirical Modelling (see http://dcs.warwick.ac.uk/modelling). The thesis builds upon previous research on Empirical Modelling as a constructionist approach to learning, and in particular Roe's doctoral thesis 'Computers for learning: an Empirical Modelling perspective'. Roe's treatment of Empirical Modelling can be viewed as generalising the use of spreadsheets for learning through applying 'programming by dependency' within the framework of existing educational practice. In contrast, this thesis is concerned at a more fundamental level with the contribution that Empirical Modelling can make to technology enhanced learning that may lead to new educational practices. In particular, it identifies eight significant characteristics of learning that are well-matched to Empirical Modelling activity, and associates these with experimental, flexible and meaningful strands in learning. The credentials of Empirical Modelling as a potential new foundation for educational technology are enhanced by demonstrating that Empirical Modelling is radically different from traditional software development and use. It provides a methodology for modelling with dependency that is more closely related to the use of spreadsheets for learning. The thesis elaborates on the relationship between Empirical Modelling and learning in a variety of different contexts, ways and applications. Three examples drawn from computer science higher education are explored to emphasise the experimental, flexible and meaningful characteristics of Empirical Modelling. This discussion of Empirical Modelling in a specific educational context is complemented by an investigation of its relevance to learning in a wider context, with reference to a broad range of subjects, to specific issues in language learning, and to the topics of lifelong learning and collaborative learning. Although the application of Empirical Modelling for learning is as yet too immature for large scale empirical studies, its potential is evaluated using informal empirical evidence arising from Empirical Modelling practice at Warwick. The sources for this evaluation are well-established teaching activities relating to Empirical Modelling in Computer Science at the University of 'Warwick, comprising an introductory module and a number of final year undergraduate projects. The thesis concludes by considering the extent to which Empirical Modelling can go beyond the support for constructionism envisaged by Roe, to address the broader agenda of supporting constructivist learning using computers. To this end, a close relationship between Empirical Modelling and a vision of constructivism recently set out by Bruno Latour in his paper 'The Promises of Constructivism' is demonstrated

    Learning programming via worked-examples: the effects of cognitive load and learning styles

    Get PDF
    This research explored strategies for learning programming via worked-examples that promote schema acquisition and transfer. However, learning style is a factor in how much learners are willing to expend serious effort on understanding worked-examples, with active learners tending to be more impatient of them than reflective learners. It was hypothesised that these two learning styles might also interact with learners’ cognitive load. The research proposed a worked-example format, called a Paired-method strategy that combines a Structure-emphasising strategy with a Completion strategy. An experiment was conducted to compare the effects of the three worked-examples strategies on cognitive load measures and on learning performance. The experiment also examined the degree to which individual learning style influenced the learning process and performance. Overall, the results of the experiment were inconsistent. In comparing the effects of the three strategies, there were significant differences in reported difficulty and effort during the learning phase, with difficulty but not effort in favour of the Completion strategy. However no significant differences were detected in reported mental effort during the post-tests in the transfer phase. This was also the case for the performance on the post-tests. Concerning efficiency measures, the results revealed significant differences between the three strategy groups in terms of the learning process and task involvement, with the learning process in favour of the Completion strategy. Unexpectedly, no significant differences were observed in learning outcome efficiencies. Despite this, there was a trend in the data that suggested a partial reversal effect for the Completion strategy. Moreover, the results partially replicated earlier findings on the explanation effect. In comparing the effects of the two learning styles, there were no significant differences between active and reflective learners in the three strategy groups on cognitive load measures and on learning performance (nor between reflective learners in the Paired-method strategy and the other strategies). Finally, concerning efficiency measures, there was a significant difference between active learners in the three strategy groups on task involvement. Despite all these, effect sizes ranging from a medium to large suggested that learning styles might have interacted with learners’ cognitive load

    Being sound: FLOSS, flow and event in the composition and ensemble performance of free open computer music

    Get PDF
    This commentary describes my recent approach to writing compositions for the ensemble performance of computer music. Drawing on experimental music and improvisation, I contend that such music is best considered in terms of people’s situated and relational interplay. The compositional and performative question that permeates this thesis is ‘what can we do, in this time and space, with these tools available to us?’. As themes of equality and egalitarian access underpin this work throughout, I highlight my engagement with Free Libre Open Source Software (FLOSS) ideology and community, reflecting on how this achieves my aims. I describe my writing of text score compositions, making use of the term bounded improvisation, whose purposeful requirements for indeterminate realisation extends most current computer-based performance practice. Though no single strand of this research is perhaps unusual by itself, such an assemblage as that outlined above (incorporating composition, computer coding and ensemble performance practice) is, when allied to an understanding of electronic and computer music praxis, currently an underdeveloped approach. Such an approach I have thus chosen to term free open computer music. I incorporate two further pre-existing conceptual formulations to present a framework for constructing, reflecting on, and developing my work in this field. Firstly flow or 'immersed experience' is useful to explicate difficult to capture aspects of instrumental engagement and ensemble performance. Secondly, this portfolio of scores aims to produce well-constructed situations, facilitating spaces of flow which contain within their environments the opportunity for an event to take place. I present the outcomes of my practice as place-forming tactics that catalyse something to do, but not what to do, in performative spaces such as those described above. Such intentions define my aims for composition. These theoretical concerns, together with an allied consideration of the underpinning themes highlighted above, is a useful framework for refection and evaluation of this work

    Empirical modelling as a new paradigm for educational technology

    Get PDF
    Educational technology has yet to deliver the benefits or successes that were expected in educational practice, especially in relation to issues other than the communication and delivery of teaching materials. Evidence suggests that these difficulties stem from the mismatch between formalised virtual learning environments and everyday sensemaking and between the rich potential for enhanced learning afforded by new technology and the constraints of old-style educational practice. In addressing this mismatch, some commentators suggest that the primary need is for a new culture of educational practice-and even that such a culture is already emerging, and others identify the need for a new paradigm for educational technology. The aim of this thesis is to explore the potential for a new paradigm for educational technology based on the principles and tools of Empirical Modelling (see http://dcs.warwick.ac.uk/modelling). The thesis builds upon previous research on Empirical Modelling as a constructionist approach to learning, and in particular Roe's doctoral thesis 'Computers for learning: an Empirical Modelling perspective'. Roe's treatment of Empirical Modelling can be viewed as generalising the use of spreadsheets for learning through applying 'programming by dependency' within the framework of existing educational practice. In contrast, this thesis is concerned at a more fundamental level with the contribution that Empirical Modelling can make to technology enhanced learning that may lead to new educational practices. In particular, it identifies eight significant characteristics of learning that are well-matched to Empirical Modelling activity, and associates these with experimental, flexible and meaningful strands in learning. The credentials of Empirical Modelling as a potential new foundation for educational technology are enhanced by demonstrating that Empirical Modelling is radically different from traditional software development and use. It provides a methodology for modelling with dependency that is more closely related to the use of spreadsheets for learning. The thesis elaborates on the relationship between Empirical Modelling and learning in a variety of different contexts, ways and applications. Three examples drawn from computer science higher education are explored to emphasise the experimental, flexible and meaningful characteristics of Empirical Modelling. This discussion of Empirical Modelling in a specific educational context is complemented by an investigation of its relevance to learning in a wider context, with reference to a broad range of subjects, to specific issues in language learning, and to the topics of lifelong learning and collaborative learning. Although the application of Empirical Modelling for learning is as yet too immature for large scale empirical studies, its potential is evaluated using informal empirical evidence arising from Empirical Modelling practice at Warwick. The sources for this evaluation are well-established teaching activities relating to Empirical Modelling in Computer Science at the University of 'Warwick, comprising an introductory module and a number of final year undergraduate projects. The thesis concludes by considering the extent to which Empirical Modelling can go beyond the support for constructionism envisaged by Roe, to address the broader agenda of supporting constructivist learning using computers. To this end, a close relationship between Empirical Modelling and a vision of constructivism recently set out by Bruno Latour in his paper 'The Promises of Constructivism' is demonstrated.EThOS - Electronic Theses Online ServiceGBUnited Kingdo

    On the real world practice of Behaviour Driven Development

    Get PDF
    Surveys of industry practice over the last decade suggest that Behaviour Driven Development is a popular Agile practice. For example, 19% of respondents to the 14th State of Agile annual survey reported using BDD, placing it in the top 13 practices reported. As well as potential benefits, the adoption of BDD necessarily involves an additional cost of writing and maintaining Gherkin features and scenarios, and (if used for acceptance testing,) the associated step functions. Yet there is a lack of published literature exploring how BDD is used in practice and the challenges experienced by real world software development efforts. This gap is significant because without understanding current real world practice, it is hard to identify opportunities to address and mitigate challenges. In order to address this research gap concerning the challenges of using BDD, this thesis reports on a research project which explored: (a) the challenges of applying agile and undertaking requirements engineering in a real world context; (b) the challenges of applying BDD specifically and (c) the application of BDD in open-source projects to understand challenges in this different context. For this purpose, we progressively conducted two case studies, two series of interviews, four iterations of action research, and an empirical study. The first case study was conducted in an avionics company to discover the challenges of using an agile process in a large scale safety critical project environment. Since requirements management was found to be one of the biggest challenges during the case study, we decided to investigate BDD because of its reputation for requirements management. The second case study was conducted in the company with an aim to discover the challenges of using BDD in real life. The case study was complemented with an empirical study of the practice of BDD in open source projects, taking a study sample from the GitHub open source collaboration site. As a result of this Ph.D research, we were able to discover: (i) challenges of using an agile process in a large scale safety-critical organisation, (ii) current state of BDD in practice, (iii) technical limitations of Gherkin (i.e., the language for writing requirements in BDD), (iv) challenges of using BDD in a real project, (v) bad smells in the Gherkin specifications of open source projects on GitHub. We also presented a brief comparison between the theoretical description of BDD and BDD in practice. This research, therefore, presents the results of lessons learned from BDD in practice, and serves as a guide for software practitioners planning on using BDD in their projects

    AMAN-DA : Une approche basée sur la réutilisation de la connaissance pour l'ingénierie des exigences de sécurité

    Get PDF
    In recent years, security in Information Systems (IS) has become an important issue that needs to be taken into account in all stages of IS development, including the early phase of Requirement Engineering (RE). Considering security during early stages of IS development allows IS developers to envisage threats, their consequences and countermeasures before a system is in place. Security requirements are known to be “the most difficult of requirements types”, and potentially the ones causing the greatest risk if they are not correct. Moreover, requirements engineers are not primarily interested in, or knowledgeable about, security. Their tacit knowledge about security and their primitive knowledge about the domain for which they elicit security requirements make the resulting security requirements poor and too generic.This thesis explores the approach of eliciting requirements based on the reuse of explicit knowledge. First, the thesis proposes an extensive systematic mapping study of the literature on the reuse of knowledge in security requirements engineering identifying the diferent knowledge forms. This is followed by a review and classification of security ontologies as the main reuse form.In the second part, AMAN-DA is presented. AMAN-DA is the method developed in this thesis. It allows the elicitation of domain-specific security requirements of an information system by reusing knowledge encapsulated in domain and security ontologies. Besides that, the thesis presents the different elements of AMANDA: (i) a core security ontology, (ii) a multi-level domain ontology, (iii) security goals and requirements’s syntactic models, (iv) a set of rules and mechanisms necessary to explore and reuse the encapsulated knowledge of the ontologies and produce security requirements specifications.The last part reports the evaluation of the method. AMAN-DA was implemented in a prototype tool. Its feasibility was evaluated and applied in case studies of three different domains (maritime, web applications, and sales). The ease of use and the usability of the method and its tool were also evaluated in a controlled experiment. The experiment revealed that the method is beneficial for the elicitation of domain specific security requirements, and that the tool is friendly and easy to use.Au cours de ces derniĂšres annĂ©es, la sĂ©curitĂ© des SystĂšmes d'Information (SI) est devenue une prĂ©occupation importante, qui doit ĂȘtre prise en compte dans toutes les phases du dĂ©veloppement du SI, y compris dans la phase initiale de l'ingĂ©nierie des exigences (IE). Prendre en considĂ©ration la sĂ©curitĂ© durant les premieres phases du dĂ©velopment des SI permet aux dĂ©veloppeurs d'envisager les menaces, leurs consĂ©quences et les contre-mesures avant qu'un systĂšme soit mis en place. Les exigences de sĂ©curitĂ© sont connues pour ĂȘtre "les plus difficiles des types d’exigences", et potentiellement celles qui causent le plus de risque si elles ne sont pas correctes. De plus, les ingĂ©nieurs en exigences ne sont pas principalement intĂ©ressĂ©s Ă , ou formĂ©s sur la sĂ©curitĂ©. Leur connaissance tacite de la sĂ©curitĂ© et leur connaissance primitive sur le domaine pour lequel ils Ă©lucident des exigences de sĂ©curitĂ© rendent les exigences de sĂ©curitĂ© rĂ©sultantes pauvres et trop gĂ©nĂ©riques.Cette thĂšse explore l'approche de l’élucidation des exigences fondĂ©e sur la rĂ©utilisation de connaissances explicites. Tout d'abord, la thĂšse propose une Ă©tude cartographique systĂ©matique et exhaustive de la littĂ©rature sur la rĂ©utilisation des connaissances dans l'ingĂ©nierie des exigences de sĂ©curitĂ© identifiant les difĂ©rentes formes de connaissances. Suivi par un examen et une classification des ontologies de sĂ©curitĂ© comme Ă©tant la principale forme de rĂ©utilisation.Dans la deuxiĂšme partie, AMAN-DA est prĂ©sentĂ©e. AMAN-DA est la mĂ©thode dĂ©veloppĂ©e dans cette thĂšse. Elle permet l’élucidation des exigences de sĂ©curitĂ© d'un systĂšme d'information spĂ©cifique Ă  un domaine particulier en rĂ©utilisant des connaissances encapsulĂ©es dans des ontologies de domaine et de sĂ©curitĂ©. En outre, la thĂšse prĂ©sente les diffĂ©rents Ă©lĂ©ments d'AMAN-DA : (i) une ontologie de sĂ©curitĂ© noyau, (ii) une ontologie de domaine multi-niveau, (iii) des modĂšles syntaxique de buts et d’exigences de sĂ©curitĂ©, (iv) un ensemble de rĂšgles et de mĂ©canismes nĂ©cessaires d'explorer et de rĂ©utiliser la connaissance encapsulĂ©e dans les ontologies et de produire des spĂ©cifications d’exigences de sĂ©curitĂ©.La derniĂšre partie rapporte l'Ă©valuation de la mĂ©thode. AMAN-DA a Ă©tĂ© implĂ©mentĂ© dans un prototype d'outil. Sa faisabilitĂ© a Ă©tĂ© Ă©valuĂ©e et appliquĂ©e dans les Ă©tudes de cas de trois domaines diffĂ©rents (maritimes, applications web, et de vente). La facilitĂ© d'utilisation et l’utilisabilitĂ© de la mĂ©thode et de son outil ont Ă©galement Ă©tĂ© Ă©valuĂ©es dans une expĂ©rience contrĂŽlĂ©e. L'expĂ©rience a rĂ©vĂ©lĂ© que la mĂ©thode est bĂ©nĂ©fique pour l’élucidation des exigences de sĂ©curitĂ© spĂ©cifiques aux domaines, et l'outil convivial et facile Ă  utiliser
    corecore