Dr Ruth Hoffmann, University of St Andrews
Composable Constraint Models for Permutation Patterns and their enumeration
Permutation pattern research started off as investigating which sequences of numbers can be sorted by using a stack. This has now extended into many fields such as using permutations which contain or avoid certain types of patterns when investigating for example Mahonian statistics. Constraint programming is a way of solving combinatorial problems by taking variables, the values they can take and constraints which involve the variables. It then searches for one (all, or the optimal) solution (variable, value assignments) which does not violate the constraints. We will explore different permutation patterns, properties and statistics. While giving you the many definitions we will see how each translates into a constraint model. Having these many models means that we can now easily mix and match them into useful tools to help solve or help investigate permutation problems computationally.
Prof Steve Linton, University of St Andrews
Three trips around the “virtuous circle”: theory, algorithms, software and experiments
My thesis in this talk is that there can be a powerful synergy between the study of mathematical and combinatorial structures in the abstract; the theoretical study of algorithms for computing with those structures and their complexity; the development of flexible and usable software implementations of those algorithms; and the gathering of experimental data using that software, which can fuel new conjectures and lead to new mathematical results, completing the circle.
I will illustrate this thesis with examples from three areas:
- permutation groups
- transformation monoids
- token-passing networks and pattern classes of permutations
Prof David Manlove, University of Glasgow
Models and Algorithms for the Kidney Exchange Problem
A patient who requires a kidney transplant, and who has a willing but incompatible donor, may be able to ‘swap’ his or her donor with that of another patient, who is in a similar situation, in a cyclic fashion. Altruistic donors can also trigger “chains” of transplants involving multiple recipients together with their willing but incompatible donors. Kidney exchange programmes (KEPs) organise the systemic detection of optimal sets of cycles and chains based on their pools of donors and recipients. There are many examples of KEPs around the world, including the UK Living Kidney Sharing Scheme (UKLKSS). In this talk I will describe integer programming models and algorithms that can be used to solve the underlying optimisation problem involved in a KEP. This includes the algorithms developed at Glasgow that have been used by NHS Blood and Transplant for the UKLKSS since 2008.
Prof Faron Moller, Swansea University
Technocamps: Transforming Digital Education Throughout Wales
By 2000, it became evident that, in Wales, interest in, knowledge of, and capacity for computing was not keeping pace with the transformational rise of the digital society and economy. Technocamps, the pan-Wales school and community outreach unit established at Swansea University but with a hub in every university in Wales, has throughout this time researched, championed and delivered change in national curricula, qualifications, delivery and professional development in order to foster a sustainable digital skills pipeline in Wales. In this presentation, we highlight the activities and impact of Technocamps, showcasing its wider impact on computing education, practitioners, schools, and learners in Wales, especially with the introduction of the new Curriculum for Wales in September 2022, with its major reform of computer science and cross-curricular digital competencies.
Dr Syed Waqar Nabi, University of Glasgow
Navigating Pedagogies: Teaching Theory-Heavy Courses to Software Engineering Student
The landscape of teaching pedagogies is a rich one, and not always easy to navigate. While there has been a shift towards student-centered, “constructivist” approaches to teaching, the more traditional teacher-centred approaches like direct-instruction are still prevalent, more so in theory-heavy courses.
For this talk, I will use theory-heavy courses I teach to Software Engineering Graduate Apprenticeship students as conduits for exploring this pedagogy landscape, discussing experiences with using a number of teaching instruments along the way. This will lead to the specific pedagogy that I have been converging on (but not able to practice as much as I’d like to) called “Competency-Based Education” (CBE), similar to what’s called “mastery learning”. Based on the outcome of a working group on CBE that I was part of, I will go a bit more into what CBE is, how it relates to some other pedagogies, how we can draw inspiration from other teaching domains, and what it might mean to use it for computing education.
Finally, I will connect this discussion to theory-heavy computing science courses in general, and share some thoughts on how (or if) CBE can work for such courses. This part of my talk is very much work-in-progress, and I have quite a few open questions here myself. I would love to hear questions, comments, and ideas in this regard from the audience.