Skip to content

Commit 8ccff4f

Browse files
authored
Update index.md refined in form
1 parent c7f7bcd commit 8ccff4f

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

content/post/tutorials/index.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,13 @@ Here are the details of the scheduled Zoom meeting:
6666

6767
- {{< spoiler text="Read more" >}}
6868

69-
In his tutorial, Dr. Carvalho presents his perspective on teaching Formal Methods as a rigorous reinterpretation of Software Engineering, moving stepwise from abstract specifications all the way to actual implementations. This approach - based on his more-than-a-decade-long experience with the topic - is backed by a recent [paper](https://dl.acm.org/doi/10.1145/3702231) surveying the role of Formal Methods in Computer Science (CS) education and claiming that "... every computer scientist needs to know Formal Methods..., since the skills and knowledge acquired ... provide the indispensable solid foundation that forms the backbone of CS practice.". To that end, Gustavo takes the students from specifications to automatic code generation, with intermediate correctness proofs, animation techniques and visualisation methods.
69+
In his tutorial, Dr. Carvalho presents his perspective on teaching Formal Methods as a rigorous reinterpretation of Software Engineering, moving stepwise from abstract specifications all the way to actual implementations. This approach - based on his more-than-a-decade-long experience with the topic - is backed by a recent [paper](https://dl.acm.org/doi/10.1145/3702231) surveying the role of Formal Methods in Computer Science (CS) education and claiming that
7070

71-
Initially, he taught a combination of Z and CSP# due to the local curriculum requirement on concurrency. Despite engaging the students with several software platforms (PAT for CSP# concurrent models verification, CZT for typing Z schemas/programs and Z-Eves for proving), the feedback pointed out the weakness of Z-related tools, in addition to the loose connection between the two formalisms. Building on this initial phase, Gustavo continued with teaching a combination of Event-B and CSP~M~, attracting positive feedback on the Event-B related software tools, such as Rodin, ProB and B Motion Studio. The last and current phase consists in teaching only B, due to several developments: the possibility to drop the mandatory concurrency requirement and the recent availability of a B Massive Open Online Course (MOOC). The latter development allowed for changing from a classical teaching format to a flipped classroom, where students are required to follow the MOOC course and then implement in a laboratory the various exercises and projects, with teacher support. The feedback from students changed to an appreciation of the employed software tools (Atelier-B, ProB, B Motion Web and VS Code) together with the integrated nature of the course, since some of the projects involve code generation in C with embedding in various platforms of interest for students.
71+
>... every computer scientist needs to know Formal Methods..., since the skills and knowledge acquired ... provide the indispensable solid foundation that forms the backbone of CS practice
72+
73+
To that end, Gustavo takes the students from specifications to automatic code generation, with intermediate correctness proofs, animation techniques and visualisation methods.
74+
75+
Initially, he taught a combination of Z and CSP# due to the local curriculum requirement on concurrency. Despite engaging the students with several software platforms (PAT for CSP# concurrent models verification, CZT for typing Z schemas/programs and Z-Eves for proving), the feedback pointed out the weakness of Z-related tools, in addition to the loose connection between the two formalisms. Building on this initial phase, Gustavo continued with teaching a combination of Event-B and CSP<sub>M</sub>, attracting positive feedback on the Event-B related software tools, such as Rodin, ProB and B Motion Studio. The last and current phase consists in teaching only B, due to several developments: the possibility to drop the mandatory concurrency requirement and the recent availability of a B Massive Open Online Course (MOOC). The latter development allowed for changing from a classical teaching format to a flipped classroom, where students are required to follow the MOOC course and then implement in a laboratory the various exercises and projects, with teacher support. The feedback from students changed to an appreciation of the employed software tools (Atelier-B, ProB, B Motion Web and VS Code) together with the integrated nature of the course, since some of the projects involve code generation in C with embedding in various platforms of interest for students.
7276

7377
The volume of the presented courses ranges to about 25 students, which is rather impressive, considering the volume of the particular student intakes (50 students starting every semester), the advanced nature of the modules hosting the courses, as well as the optional quality of the course in the most recent curriculum.
7478

0 commit comments

Comments
 (0)