18 research outputs found

    The rhetoric of research

    Get PDF
    In 1993 Christopher Frayling, the Rector of the Royal College of Art in London, published an article about the nature of research in art and design. The present paper revisits his threefold distinction of "research- in art, research-through art and research-for art", and considers why Frayling found the third category to be problematic. The analytical methods used are linguistic (a constructionist approach to the rhetorical effect of construing various prepositions with "research"), and philosophical (a Wittgensteinian approach, distinguishing between socially agreed normative criteria, and non-normative indicators or symptoms). The paper argues that the instrumentality of terms such as "research" should be contrasted by observations of how the register of artefacts is used in the advancement of the field. If one adopts a constructionist approach then one is forced to be sceptical about the reification of publicly agreed criteria. The paper uses Wittgenstein's distinction between criteria and symptoms to identify three indicators of research that may point towards a solution to Frayling's problem through the re-description of his category "research- for" art as "a work-of" art.Final Accepted Versio

    A game-based approach to the teaching of object-oriented programming languages

    Get PDF
    Students often have difficulties when trying to understand the concepts of object-oriented programming (OOP). This paper presents a contribution to the teaching of OOP languages through a game-oriented approach based on the interaction with tangible user interfaces (TUIs). The use of a specific type of commercial distributed TUI (Sifteo cubes), in which several small physical devices have sensing, wireless communication and user-directed output capabilities, is applied to the teaching of the C# programming language, since the operation of these devices can be controlled by user programs written in C#. For our experiment, we selected a sample of students with a sufficient knowledge about procedural programming, which was divided into two groups: The first one had a standard introductory C# course, whereas the second one had an experimental C# course that included, in addition to the contents of the previous one, two demonstration programs that illustrated some OOP basic concepts using the TUI features. Finally, both groups completed two tests: a multiple-choice exam for evaluating the acquisition of basic OOP concepts and a C# programming exercise. The analysis of the results from the tests indicates that the group of students that attended the course including the TUI demos showed a higher interest level (i.e. they felt more motivated) during the course exposition than the one that attended the standard introductory C# course. Furthermore, the students from the experimental group achieved an overall better mark. Therefore, we can conclude that the technological contribution of Sifteo cubes – used as a distributed TUI by which OOP basic concepts are represented in a tangible and a visible way – to the teaching of the C# language has a positive influence on the learning of this language and such basic concepts

    Enhancing the CS Curriculum with with Aspect-Oriented Software Development (AOSD) and Early Experience

    Get PDF
    Aspect-oriented software development (AOSD) is evolving as an important step beyond existing software development approaches such as object-oriented development. An aspect is a module that captures a crosscutting concern, behavior that cuts across different units of abstraction in a software application; expressed as a module, such behavior can be enabled and disabled transparently and non-invasively, without changing the application code itself. Increasing industry demand for expertise in AOSD gives rise to the pedagogical challenge of covering this methodology and its foundations in the computer science curriculum. We present our curricular initiative to incorporate a novel course in AOSD in the undergraduate computer science curriculum at the intermediate level. We also discuss recent and planned efforts to integrate coverage of AOSD into existing courses

    Assessing Students’ Object-Oriented Programming Skills with Java: The “Department-Employee” Project

    Get PDF
    Java is arguably today’s most popular and widely used object-oriented programming language. Learning Java is a daunting task for students, and teaching it is a challenging undertaking for instructors. To assess students’ object-oriented programming skills with Java, we developed the “Department-Employee” project. In this article, we review the history of object-oriented programming and provide an overview of object-oriented programming with Java. We also provide the project specification as well as the course background, grading rubric, and score reports. Survey data are presented on students’ backgrounds, as well as students’ perceptions regarding the project. Results from the instructor score reports and student perceptions show that the “Department-Employee” project was effective in assessing students’ object-oriented programming skills with Java

    The Nature of Physical Knowledge

    Get PDF
    https://epublications.marquette.edu/mupress-book/1020/thumbnail.jp

    Utilizing educational technology in computer science and programming courses : theory and practice

    Get PDF
    There is one thing the Computer Science Education researchers seem to agree: programming is a difficult skill to learn. Educational technology can potentially solve a number of difficulties associated with programming and computer science education by automating assessment, providing immediate feedback and by gamifying the learning process. Still, there are two very important issues to solve regarding the use of technology: what tools to use, and how to apply them? In this thesis, I present a model for successfully adapting educational technology to computer science and programming courses. The model is based on several years of studies conducted while developing and utilizing an exercise-based educational tool in various courses. The focus of the model is in improving student performance, measured by two easily quantifiable factors: the pass rate of the course and the average grade obtained from the course. The final model consists of five features that need to be considered in order to adapt technology effectively into a computer science course: active learning and continuous assessment, heterogeneous exercise types, electronic examination, tutorial-based learning, and continuous feedback cycle. Additionally, I recommend that student mentoring is provided and cognitive load of adapting the tools considered when applying the model. The features are classified as core components, supportive components or evaluation components based on their role in the complete model. Based on the results, it seems that adapting the complete model can increase the pass rate statistically significantly and provide higher grades when compared with a “traditional” programming course. The results also indicate that although adapting the model partially can create some improvements to the performance, all features are required for the full effect to take place. Naturally, there are some limits in the model. First, I do not consider it as the only possible model for adapting educational technology into programming or computer science courses. Second, there are various other factors in addition to students’ performance for creating a satisfying learning experience that need to be considered when refactoring courses. Still, the model presented can provide significantly better results, and as such, it works as a base for future improvements in computer science education.Ohjelmoinnin oppimisen vaikeus on yksi harvoja asioita, joista lähes kaikki tietojenkäsittelyn opetuksen tutkijat ovat jokseenkin yksimielisiä. Opetusteknologian avulla on mahdollista ratkaista useita ohjelmoinnin oppimiseen liittyviä ongelmia esimerkiksi hyödyntämällä automaattista arviointia, välitöntä palautetta ja pelillisyyttä. Teknologiaan liittyy kuitenkin kaksi olennaista kysymystä: mitä työkaluja käyttää ja miten ottaa ne kursseilla tehokkaasti käyttöön? Tässä väitöskirjassa esitellään malli opetusteknologian tehokkaaseen hyödyntämiseen tietojenkäsittelyn ja ohjelmoinnin kursseilla. Malli perustuu tehtäväpohjaisen oppimisjärjestelmän runsaan vuosikymmenen pituiseen kehitys- ja tutkimusprosessiin. Mallin painopiste on opiskelijoiden suoriutumisen parantamisessa. Tätä arvioidaan kahdella kvantitatiivisella mittarilla: kurssin läpäisyprosentilla ja arvosanojen keskiarvolla. Malli koostuu viidestä tekijästä, jotka on otettava huomioon tuotaessa opetusteknologiaa ohjelmoinnin kursseille. Näitä ovat aktiivinen oppiminen ja jatkuva arviointi, heterogeeniset tehtävätyypit, sähköinen tentti, tutoriaalipohjainen oppiminen sekä jatkuva palautesykli. Lisäksi opiskelijamentoroinnin järjestäminen kursseilla ja järjestelmän käyttöönottoon liittyvän kognitiivisen kuorman arviointi tukevat mallin käyttöä. Malliin liittyvät tekijät on tässä työssä lajiteltu kolmeen kategoriaan: ydinkomponentteihin, tukikomponentteihin ja arviontiin liittyviin komponentteihin. Tulosten perusteella vaikuttaa siltä, että mallin käyttöönotto parantaa kurssien läpäisyprosenttia tilastollisesti merkittävästi ja nostaa arvosanojen keskiarvoa ”perinteiseen” kurssimalliin verrattuna. Vaikka mallin yksittäistenkin ominaisuuksien käyttöönotto voi sinällään parantaa kurssin tuloksia, väitöskirjaan kuuluvien tutkimusten perusteella näyttää siltä, että parhaat tulokset saavutetaan ottamalla malli käyttöön kokonaisuudessaan. On selvää, että malli ei ratkaise kaikkia opetusteknologian käyttöönottoon liittyviä kysymyksiä. Ensinnäkään esitetyn mallin ei ole tarkoituskaan olla ainoa mahdollinen tapa hyödyntää opetusteknologiaa ohjelmoinnin ja tietojenkäsittelyn kursseilla. Toiseksi tyydyttävään oppimiskokemukseen liittyy opiskelijoiden suoriutumisen lisäksi paljon muitakin tekijöitä, jotka tulee huomioida kurssien uudelleensuunnittelussa. Esitetty malli mahdollistaa kuitenkin merkittävästi parempien tulosten saavuttamisen kursseilla ja tarjoaa sellaisena perustan entistä parempaan opetukseen

    Does outside-in teaching improve the learning of object-oriented programming?

    Get PDF
    Object-oriented programming (OOP) is widely used in the software industry and university introductory courses today. Following the structure of most textbooks, such courses frequently are organised starting with the concepts of imperative and structured programming and only later introducing OOP. An alternative approach is to begin directly with OOP following the Outside-In teaching method as proposed by Meyer. Empirical results for the effects of Outside-In teaching on students and lecturers are sparse, however. We describe the conceptual design and empirical evaluation of two OOP introductory courses from different universities based on Outside-In teaching. The evaluation results are compared to those from a third course serving as the control group, which was taught OOP the "traditional" way. We evaluate the initial motivation and knowledge of the participants and the learning outcomes. In addition, we analyse results of the end- term exams and qualitatively analyse the results of interviews with the lecturers and tutors. Regarding the learning outcomes, the results show no signif- icant differences between the Outside-In and the “traditional” teaching method. In general, students found it harder to solve and implement algorithmic problems than to understand object oriented (OO) concepts. Students taught OOP by the Outside-In method, however, were less afraid that they would not pass the exam at the end of term and understood the OO paradigm more quickly. Therefore, the Outside-In method is no silver bullet for teaching OOP regarding the learning outcomes but has positive effects on motivation and interest

    Auto-generation of rich Internet applications from visual mock-ups

    Get PDF
    Capturing and communicating software requirements accurately and quickly is a challenging activity. This needs expertise of people with unique skills. Traditionally this challenge has been compounded by assigning specialist roles for requirements gathering and analysis, design, and implementations. These multiple roles have resulted in information loss mainly due to miscommunication between requirement specialists, designers and implementers. Large enterprises have managed the information loss by using document centric approaches, leading to delays and cost escalations. But documentation centric and multiple role approaches are not suitable for Small to Medium Enterprises (SMEs) because they are vulnerable to market competitions. Moreover, SMEs require effective online applications to provide their service. Hence the motivation for carrying out this research is to explore the possibilities of empowering requirement specialists such as Business Analysts’ (BAs) to take on additional responsibilities of designers and implementers to generate web applications. In addition, SME owners and BAs can communicate better if they perceive the application requirements using a What You See Is What You Get (WYSIWYG) approach. Hence, this research explores the design and development of mock-up-based auto-generating tool to develop SME applications. A tool that auto-generates an application from a mock-up should have the capacity to extract the essential implementation details from the mock-up. Hence a visual mock-up language was created by extending existing research on meta-models of UIs for a class of popular modern web-based business applications called Rich Internet Applications (RIAs). The popularity of RIAs is due to their distinctive client-side processing power with desktop application like responsiveness and look and feel. The mock-ups drawn with the mock-up language should have sufficient level of details to auto-generate RIAs. To support this, the mock-up language includes constructs for specifying a RIA’s mock-up in terms of layouts and the widgets within them. In addition, the language uses annotations on the mock-up to specify the behaviour of the system. In such an approach the only additional effort required of a Business Analyst is to specify the requirements in terms of a mock-up of the expected interfaces of the SME application. Apart from the mock-up language, a tool was designed and developed to auto-generate the desired application from the mock-up. The tool is powered by algorithms to derive the database structure and the client-side and server-side components required for the auto-generated application. The validation of the mock-up language and auto-generating tool was performed by BAs to demonstrate its usability. The measurement and evaluation results indicate that the mock-up language and the auto-generator can be used successfully to help BAs in the development of SME application and thereby reduce delays, errors and cost overruns. The important contributions of this research are: (i) the design of a mock-up language that makes it easy to capture the structure and behaviour of SME web applications. (ii) algorithms for automatic derivation of the expected database schema from a visual mock-up. (iii) algorithms for automatic derivation of the client and server-side application logic. (iv) application of an existing measurement and evaluation process for the usability testing of the mock-up language and the auto-generated application. This research followed the Design Science Research (DSR) method for Information System to guide the IS design and to capture the knowledge created during the design process. DSR is a research method useful in solving wicked problems requiring innovative solutions for incomplete, contradictory or changing requirements that are often difficult to recognize. This research opens new ways of thinking about web application development for future research. Specifically, mock-ups with few easy to understand annotations can be used as powerful active artifacts to capture the structure and behaviour of applications not just of small but also large enterprises. Auto-generating tools can then create fully functional and usable applications holistically from such mock-ups, thereby reducing delays and cost overruns during software engineering
    corecore