5,886 research outputs found

    Overview on agent-based social modelling and the use of formal languages

    Get PDF
    Transdisciplinary Models and Applications investigates a variety of programming languages used in validating and verifying models in order to assist in their eventual implementation. This book will explore different methods of evaluating and formalizing simulation models, enabling computer and industrial engineers, mathematicians, and students working with computer simulations to thoroughly understand the progression from simulation to product, improving the overall effectiveness of modeling systems.Postprint (author's final draft

    An integrated approach to courseware

    Get PDF
    Software engineering is becoming increasingly important as an engineering discipline, and its teaching in universities and other higher education institutions should be of high quality. In this paper we describe a tool (BOSS — the Boss Online Submission System) which aids the education of software engineers. BOSS allows students to submit programming assignments online, and to run black-box tests on their programs prior to submission. Instructors can use BOSS to assist in marking such assignments by allowing submitted programs to be tested against multiple data sets. We describe how BOSS helps in the teaching of specific conceptual aspects of software engineering, and how it addresses some of the practical issues involved in teaching large student numbers in a pedagogically neutral manner

    An Exercise in Invariant-based Programming with Interactive and Automatic Theorem Prover Support

    Full text link
    Invariant-Based Programming (IBP) is a diagram-based correct-by-construction programming methodology in which the program is structured around the invariants, which are additionally formulated before the actual code. Socos is a program construction and verification environment built specifically to support IBP. The front-end to Socos is a graphical diagram editor, allowing the programmer to construct invariant-based programs and check their correctness. The back-end component of Socos, the program checker, computes the verification conditions of the program and tries to prove them automatically. It uses the theorem prover PVS and the SMT solver Yices to discharge as many of the verification conditions as possible without user interaction. In this paper, we first describe the Socos environment from a user and systems level perspective; we then exemplify the IBP workflow by building a verified implementation of heapsort in Socos. The case study highlights the role of both automatic and interactive theorem proving in three sequential stages of the IBP workflow: developing the background theory, formulating the program specification and invariants, and proving the correctness of the final implementation.Comment: In Proceedings THedu'11, arXiv:1202.453

    A Web-Integrated Environment for Component-Based Software Reasoning

    Get PDF
    This thesis presents the Web IDE, a web-integrated environment for component-based software reasoning. The Web IDE is specifically tailored to emphasize the relationships among various components in component-based software engineering (CBSE) and to facilitate reasoning. It allows students to use RESOLVE, a component-based, integrated specification and programming language, to build components and systems, providing real-time feedback that can be used to reason about the correctness of their component implementations. Real-time interaction and relationship focused component presentation reinforces CBSE and reasoning principles in a way not possible with traditional programming exercises and file management systems. The Web IDE has gone through several stages of development, getting feedback from users and adding new functionality at each step. It has kept pace with web browser development by incorporating bowser features, such as the file API and local storage, to provide enhanced functionality to users. Several undergraduate software engineering courses at Clemson and elsewhere have successfully used the Web IDE for both reasoning and team-based component development exercises, demonstrating the robust and useful nature of the Web IDE

    Implementation Analysis Of The Out-Of-School Children Handling Program In Kembangan Village, Bukateja Sub District, Purbalingga District, Central Java Province

    Get PDF
    The Village SDGs program is a national program adopted from the global SDGs to build a progressive and sustainable Indonesia starting from the village. To achieve the success of the 18 Village MDGs, Indonesia has developed 8 programs in strategic areas, namely poverty and hunger management, economy, health, environment, education, gender, networking, and cultural development. In the education sector, UNICEF has carried out a supporting program through the non-school children handling program (ATS) through assistance in handling piloting villages, one of which is in Kembangan Village, Bukateja District, Purbalingga Regency, Central Java. The handling of this program has a clear scheme because it goes through structured stages starting from Socialization, Training, Data Collection, Return, and Assistance. It is hoped that the success of the ATS management program will have a multiplayer effect in improving the quality of human resources, to increase the Human Development Index in the Village. This research is policy research with an evaluation research approach. The analysis uses descriptive analysis by photographing policy potentials and problems, policy agendas, policymakers, policy formulations, as well as policy outputs and impacts. The results of this study indicate that the policy for handling ATS in a structured, programmed, and coordinated manner is a pattern of policy implementation that needs to be continuously improved to obtain optimum results.Keywords: ATS, Unicef, SDGs, HDI

    Design for Change

    Get PDF

    Calculational Proofs in ACL2s

    Full text link
    Teaching college students how to write rigorous proofs is a critical objective in courses that introduce formal reasoning. Over the course of several years, we have developed a mechanically-checkable style of calculational reasoning that we used to teach over a thousand freshman-level undergraduate students how to reason about computation in our "Logic and Computation" class at Northeastern University. We were inspired by Dijkstra, who advocated the use of calculational proofs, writing "calculational proofs are almost always more effective than all informal alternatives, ..., the design of calculational proofs seems much more teachable than the elusive art of discovering an informal proof." Our calculational proof checker is integrated into ACL2s and is available as an Eclipse IDE plugin, via a Web interface, and as a stand-alone tool. It automatically checks proofs for correctness and provides useful feedback. We describe the architecture of the checker, its proof format, its underlying algorithms, its correctness and provide examples using proofs from our undergraduate class and from Dijkstra. We also describe our experiences using the proof checker to teach undergraduates how to formally reason about computation

    Learning to Reason About Code with Assertions: An Exploration with Two Student Populations

    Get PDF
    Code tracing is fundamental to students’ understanding of a program, and symbolic reasoning that entails learning to use assertions with abstract input and output values, as opposed to concrete values, enhances that understanding. Symbolic reasoning teaches students valuable abstraction and logic skills that will serve them well in all aspects of programming and their softwaredevelopment careers.We use lessons integrated into an online educational tool to supplement classroom instruction to help students learn symbolic reasoning. We explore two ways for students to learn about assertions: Writing assertions to capture the behavior of given code and solving Parsons-style problems in which statements are composed to produce behavior specified in assertions. A subsequent assessment tests students’ ability to select multiple assertions given code and to select the appropriate code fragment for given assertions.The same experiment was conducted with two different populations: a large public R1 research institution and a public R2 Hispanic-Serving Institution (HSI). Overall the impacts were more pronounced at the larger institution with a bigger sample size. Students’ assessment scores showed that they could reason symbolically at both institutions. They did better at Parsons-style problems of matching code to assertions at both institutions, though the difference varied by code type. The two populations had different trends in their performance for conditional code questions as they were asked to select from among increasingly formal assertions. Students from the R1 institution had a strong downward trend, while students from the HSI maintained or slightly increased their performance. The analysis also yielded insight into student misconceptions and suggested directions for further research
    • …
    corecore