17,108 research outputs found

    Introductory programming: a systematic literature review

    Get PDF
    As computing becomes a mainstream discipline embedded in the school curriculum and acts as an enabler for an increasing range of academic disciplines in higher education, the literature on introductory programming is growing. Although there have been several reviews that focus on specific aspects of introductory programming, there has been no broad overview of the literature exploring recent trends across the breadth of introductory programming. This paper is the report of an ITiCSE working group that conducted a systematic review in order to gain an overview of the introductory programming literature. Partitioning the literature into papers addressing the student, teaching, the curriculum, and assessment, we explore trends, highlight advances in knowledge over the past 15 years, and indicate possible directions for future research

    Towards a Theory of Software Development Expertise

    Full text link
    Software development includes diverse tasks such as implementing new features, analyzing requirements, and fixing bugs. Being an expert in those tasks requires a certain set of skills, knowledge, and experience. Several studies investigated individual aspects of software development expertise, but what is missing is a comprehensive theory. We present a first conceptual theory of software development expertise that is grounded in data from a mixed-methods survey with 335 software developers and in literature on expertise and expert performance. Our theory currently focuses on programming, but already provides valuable insights for researchers, developers, and employers. The theory describes important properties of software development expertise and which factors foster or hinder its formation, including how developers' performance may decline over time. Moreover, our quantitative results show that developers' expertise self-assessments are context-dependent and that experience is not necessarily related to expertise.Comment: 14 pages, 5 figures, 26th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE 2018), ACM, 201

    Applying a User-centred Approach to Interactive Visualization Design

    Get PDF
    Analysing users in their context of work and finding out how and why they use different information resources is essential to provide interactive visualisation systems that match their goals and needs. Designers should actively involve the intended users throughout the whole process. This chapter presents a user-centered approach for the design of interactive visualisation systems. We describe three phases of the iterative visualisation design process: the early envisioning phase, the global specification hase, and the detailed specification phase. The whole design cycle is repeated until some criterion of success is reached. We discuss different techniques for the analysis of users, their tasks and domain. Subsequently, the design of prototypes and evaluation methods in visualisation practice are presented. Finally, we discuss the practical challenges in design and evaluation of collaborative visualisation environments. Our own case studies and those of others are used throughout the whole chapter to illustrate various approaches

    Mediating Cognitive Transformation with VR 3D Sketching during Conceptual Architectural Design Process

    Get PDF
    Communications for information synchronization during the conceptual design phase require designers to employ more intuitive digital design tools. This paper presents findings of a feasibility study for using VR 3D sketching interface in order to replace current non-intuitive CAD tools. We used a sequential mixed method research methodology including a qualitative case study and a cognitive-based quantitative protocol analysis experiment. Foremost, the case study research was conducted in order to understand how novice designers make intuitive decisions. The case study documented the failure of conventional sketching methods in articulating complicated design ideas and shortcomings of current CAD tools in intuitive ideation. The case study’s findings then became the theoretical foundations for testing the feasibility of using VR 3D sketching interface during design. The latter phase of study evaluated the designers’ spatial cognition and collaboration at six different levels: “physical-actions”, “perceptualac ons”, “functional-actions”, “conceptual-actions”, “cognitive synchronizations”, and “gestures”. The results and confirmed hypotheses showed that the utilized tangible 3D sketching interface improved novice designers’ cognitive and collaborative design activities. In summary this paper presents the influences of current external representation tools on designers’ cognition and collaboration as well as providing the necessary theoretical foundations for implementing VR 3D sketching interface. It contributes towards transforming conceptual architectural design phase from analogue to digital by proposing a new VR design interface. The paper proposes this transformation to fill in the existing gap between analogue conceptual architectural design process and remaining digital engineering parts of building design process hence expediting digital design process

    Reconfigurability Function Deployment in Software Development

    Get PDF
    In the forthcoming highly dynamic and complex business environment high-speed and cost-effective development of software applications for targeting a precise, unique and momentary set of requirements (no more-no less) associated to a customized business case will bring sig-nificant benefits both for producers and users. This requires a life cycle change-oriented ap-proach in software development. In this respect, designing software with intrinsic evolutionary resources for reconfiguration represents the sound approach. A methodology for concurrent deployment of reconfigurability characteristics in software applications is introduced in this paper. Its potential is exemplified in a case study dealing with web-based software tools to support systematic product innovation projects.Reconfigurability, Software Development, Innovation, TRIZ, RAD

    An evolving approach to learning in problem solving and program development : the distributed learning model

    Get PDF
    Technological advances are paving the way for improvements in many sectors of society. The US education system needs to undergo a transformation of existing pedagogical methods to maximize utilization of new technologies. Traditional education has primarily been teacher driven, lectured-based in one location. Advances in technology are challenging existing paradigms by developing tools and educational environments that reach diverse learning styles and surpass the boundaries of current teaching methods. Distributed learning is an emerging paradigm today that has promise to contribute significantly to learning and improve overall academic success. This research first explores various systems that provide different modes of learning. The problem domain of this research is the difficulty novice programmers\u27 face when learning to program. This paper proposes how distributed learning can be used in a teaching environment to enrich learning and the impacts for the given problem domain
    corecore