Introductory courses on formal foundations of computer science – including basic courses on theoretical computer science (regular and context-free languages, computability theory, and complexity theory) as well as on logic in computer science (propositional and first-order logic, modeling, and algorithms for evaluation and satisfaction of formulas) – are a cornerstone of computer science curricula, yet many students struggle with their often-theoretical contents. The recent influx of students in computer science, as well as the shift towards the inclusion of more online-based teaching, increase the need for advanced teaching support systems that aid both students and instructors.
This Dagstuhl Seminar intends to foster discussion between researchers in computing education, builders of teaching support systems for formal foundations of computer science, as well as instructors of these foundations with the goal of facilitating more robust research and development of such systems.
From the perspective of instructors, teaching support systems should cover contents broadly; provide helpful feedback and instructions for students; enable instructors to assess student progress; and ideally provide empirically established support for achieving the desired learning outcomes. Building such systems therefore requires expertise from both computing education (including teaching support systems and human-computer interaction) and from formal foundations (including instruction and application of formal methods).
Important prerequisites for designing efficient teaching support systems include understanding concepts and misconceptions of the field, how students learn, and how they acquire intended competences. Evaluating such systems is a difficult challenge and analyzing the data provided by (even prototypical) teaching support systems is a good source for fostering our understanding, for instance it can help researchers and educators identify misconceptions.
At the same time, covering broad material of formal foundations is an inherently hard task. For instance, providing even the simplest feedback can be either intractable or infeasible for many topics in formal foundations. Thus, covering theoretical foundations of CS in teaching support systems requires deep knowledge of the methods, and often also creativity to circumvent or solve theoretical challenges.
Combining the expertise of computing education with expertise in formal foundations as well as expertise with system design is thus essential for designing advanced teaching support systems for formal foundations. Towards this aim, our seminar has several specific goals:
- Shaping a community:
- Bring together key members of these different communities, with an eye towards people who are open-minded and receptive to the perspective of the other.
- Create tutorial sessions to educate participants on the existing knowledge, as well as methods, of each side.
- Identifying research challenges:
- Identify data sets which would be helpful in computer science education research and can be delivered by teaching support systems.
- Identify good evaluation scenarios for teaching support systems.
- Identify algorithmic and formal challenges in the design of teaching support systems.
- Networking for sustained impact:
- Establish a regular workshop on teaching support systems in formal foundations which is attractive for both communities.
- Formal Languages and Automata Theory
- Human-Computer Interaction
- Logic in Computer Science
- Computing education research
- Formal foundations of computer science
- Intelligent tutoring systems
- User studies
- user modeling and adaptive personalization
- Artificial intelligence in education
- educational data mining