The fast increase in complexity of technical artifacts, in particular of software systems exposes human society to increased risks. The immediate consequences of software failures range from small nuisances (blocked smartphone, laptop shut down, virus attacks), to big nuisances (failure of an online submission system just before the deadline, chaos in an airport due to failure of luggage handling system, breakdown of the electrical power for a whole region), to important loss of value (loss of a space rocket, after-sale replacement of millions of defect devices), and even to fatalities (failure of an antirocket military system, train or airplane crash). One of the main reasons for the more and more frequent failures of software systems (and in general of more complex systems including software) is the insufficient qualification of software professionals in Computational Logic and in Automated Reasoning, which makes them avoid the use of formal methods in the software production and verification process. In our experience, there exists a big gap between the learning offer from universities and the requests on the labour market. (Computational Logic is an interdisciplinary field at the intersection of Computer Science and Mathematics which studies the use of Mathematical Logic in computer algorithms and applications. Automated Reasoning is a topic in Computational Logic which studies methods and algorithms for reasoning in an [almost] mechanized way.) The development of reliable software systems is based on formal specification (what the system should do), formal implementation (how is the system realized), and formal verification (does the system what it should). For a proper realization of specifications, implementations, and of their verification, the software professional needs to apply Computational Logic knowledge and methods in order to construct and study the appropriate models, to find the necessary algorithms, and to refine their implementation until programs are produced; and needs to apply techniques from Automated Reasoning in order to test and verify the algorithms and the programs, possibly using specialized software tools. The main objective of the project is to improve the education of Computer Science students in fields related to Computational Logic, by creating innovative and advanced learning material that uses Automated Reasoning and by training a large number of academic staff in using this in a modern way. Consequently, this will increase the knowledge and skills of Computer Science graduates in Computational Logic, and this will have a positive impact on the safety and reliability of software. Thus indirectly the project objectives include the effects of increased software reliability: virus elimination, online safety, better detection of negative online phenomena (fake news, cyberbullying, etc.), and other. This goal will be achieved by the following activities: A1: ARC Book production as intellectual output containing the novel learning material (to address problems from real life, based on novel principles of problem based learning, and relevant to the labour market, to include current and future research directions, to develop advanced software tools and to make use of them), A2: Training of academic staff in teaching using the book, by 5 Training Events, A3: Training of students using the learning material, at the partner institutions (in approximative 21 courses over 4 semesters, more than 5000 students) and at ARC Summer School (20 students), A4: Evaluation of the learning material using the experience from the student courses and from the ARC Summer School, A5: Dissemination by the International Symposium on ARC (multiplier event), the ARC Page on the WWW, and the ARC Interest Group, A6: Management by the ARC Project Management Team and auxiliary personnel. Because of all these elements of innovation stated above and because experts in the field will develop the ARC book and the necessary tools, this project will revolutionize the process of teaching Computational Logic topics. Also, since the material will be open source and largely disseminated, we expect to have a significant national and international impact. Since Timisoara will be the capital of culture in 2021 and some of the activities of the project will be integrated in this event, our project will contribute to attract more academic staff to this event and will contribute to increase the visibility of the Erasmus+ activities for the general European public.
The project ARC aims to support joint development of innovative principles, practices and tools for using Automated Reasoning techniques in teaching various Computer Science subjects to lifelong students, joint development of motivational and innovative material which addresses real life problems, relevant to the labour market, linked to research directions. Objectives: - training of 45 teachers in software development for a period of 24 months, - creating the context of interaction and exchange of good practices (in new and innovative pedagogical skills, including multidisciplinary approaches, new curriculum design) of 45 teachers with experts in the field for a period of 24 months, - providing a wider variety of courses to lifelong learning students, - linking education with research and innovation, - designing and developing learning-outcomes curricula that meet the learning needs of students and also being relevant to the labour market, - giving access to licensed professional software for more than 1000 students and 20 teachers from now on, - acquiring competences for 45 teachers in software development for a period of 24 months, - increasing the visibility of the Erasmus+ activities for the general European public.
The main reason why we applied for this project is the fast increase in complexity of technical artifacts, in particular of software systems which exposes human society to increased risks. The immediate consequences of software failures range from small nuisances, to big nuisances, to important loss of value, and even to fatalities. One of the main reasons for the more and more frequent failures of software systems is the insufficient qualification of software professionals in Computational Logic and in Automated Reasoning, which makes them avoid the use of formal methods in the software production and verification process. In our experience, there exists a big gap between the learning offer from universities and the requests on the labour market. For a proper realization of specifications, implementations, and of software verification, the software professional needs to apply Computational Logic knowledge and methods in order to construct and study the appropriate models, to find the necessary algorithms, and to refine their implementation until programs are produced; and needs to apply techniques from Automated Reasoning in order to test and verify the algorithms and the programs, possibly using specialized software tools.