5 research outputs found

    Algorithms for Contractibility of Compressed Curves on 3-Manifold Boundaries

    Get PDF
    In this paper we prove that the problem of deciding contractibility of an arbitrary closed curve on the boundary of a 3-manifold is in NP. We emphasize that the manifold and the curve are both inputs to the problem. Moreover, our algorithm also works if the curve is given as a compressed word. Previously, such an algorithm was known for simple (non-compressed) curves, and, in very limited cases, for curves with self-intersections. Furthermore, our algorithm is fixed-parameter tractable in the complexity of the input 3-manifold. As part of our proof, we obtain new polynomial-time algorithms for compressed curves on surfaces, which we believe are of independent interest. We provide a polynomial-time algorithm which, given an orientable surface and a compressed loop on the surface, computes a canonical form for the loop as a compressed word. In particular, contractibility of compressed curves on surfaces can be decided in polynomial time; prior published work considered only constant genus surfaces. More generally, we solve the following normal subgroup membership problem in polynomial time: given an arbitrary orientable surface, a compressed closed curve ?, and a collection of disjoint normal curves ?, there is a polynomial-time algorithm to decide if ? lies in the normal subgroup generated by components of ? in the fundamental group of the surface after attaching the curves to a basepoint

    Implementando o Gitflow para Gerencia de Configuração em um Projeto de Desenvolvimento de Software Ágil: Um Relato de Experiência

    Get PDF
    In software engineering, Software Configuration Management is a set of support activities that allows for the orderly absorption of changes inherent to software development. For that, organization models for code versioning like Gitflow have been proposed. In Gitflow, two fixed branches (master and develop) are used to store the project history and be the starting point for changes. Despite the popularity of Gitflow for being considered a simple workflow, there are few: (a) reports of its use in practice and / or (b) documentation on how to deploy it in a real environment. This paper presents the process of adapting Gitflow and creating rules for its application in a real software development project. This adaptation took into account the opinions of managers and developers of a team of approximately 30 people within an agile Scrum life cycle. As a result, definitions and documents were generated to keep track of development, in addition to defining the necessary steps for its application considering the development process adopted by the team

    Teaching informatics to novices: big ideas and the necessity of optimal guidance

    Get PDF
    This thesis reports on the two main areas of our research: introductory programming as the traditional way of accessing informatics and cultural teaching informatics through unconventional pathways. The research on introductory programming aims to overcome challenges in traditional programming education, thus increasing participation in informatics. Improving access to informatics enables individuals to pursue more and better professional opportunities and contribute to informatics advancements. We aimed to balance active, student-centered activities and provide optimal support to novices at their level. Inspired by Productive Failure and exploring the concept of notional machine, our work focused on developing Necessity Learning Design, a design to help novices tackle new programming concepts. Using this design, we implemented a learning sequence to introduce arrays and evaluated it in a real high-school context. The subsequent chapters discuss our experiences teaching CS1 in a remote-only scenario during the COVID-19 pandemic and our collaborative effort with primary school teachers to develop a learning module for teaching iteration using a visual programming environment. The research on teaching informatics principles through unconventional pathways, such as cryptography, aims to introduce informatics to a broader audience, particularly younger individuals that are less technical and professional-oriented. It emphasizes the importance of understanding informatics's cultural and scientific aspects to focus on the informatics societal value and its principles for active citizenship. After reflecting on computational thinking and inspired by the big ideas of science and informatics, we describe our hands-on approach to teaching cryptography in high school, which leverages its key scientific elements to emphasize its social aspects. Additionally, we present an activity for teaching public-key cryptography using graphs to explore fundamental concepts and methods in informatics and mathematics and their interdisciplinarity. In broadening the understanding of informatics, these research initiatives also aim to foster motivation and prime for more professional learning of informatics
    corecore