We have developed an MSc-level module on Formal Methods for Software Engineering with exercises on applying SAT solvers, SMT solvers, Alloy, and nuXmv. In the first iteration of the module, assignments were submitted ...
详细信息
ISBN:
(纸本)9783031713781;9783031713798
We have developed an MSc-level module on Formal Methods for Software Engineering with exercises on applying SAT solvers, SMT solvers, Alloy, and nuXmv. In the first iteration of the module, assignments were submitted as documents and archive files. Here, we report on our experience of moving the exercises to github classroom and automating the feedback process through test cases. The main challenges we encountered were related to supporting free-response tasks and designing test cases that allow for multiple solutions, provide incremental feedback, and do not encode a solution. We present our setup of exercise repositories, test cases, and feedback report generation. We detail our approach in addressing the challenges of migrating from worksheets to github classroom and report on survey-based student feedback.
Teaching C++ programming to noncomputer science majors comes with the burden of setting up an integrated development environment, a struggle for most students. Therefore, we present the open source tool, C(++)Explorer...
详细信息
Teaching C++ programming to noncomputer science majors comes with the burden of setting up an integrated development environment, a struggle for most students. Therefore, we present the open source tool, C(++)Explorer, a JupyterHub deployment for interactively developing C++ code. Students can connect to the server without installing anything, and, almost instantly, they can begin to engage with code using the notebooks. Another aspect of code development is remote communication with coworkers or the community. To develop this skill, we use github classroom to provide feedback on the assignments and practice remote communication. C(++)Explorer was used in the fall of 2019 and 2020 to teach parallel computation to mathematics students. At the end of the class, we gather students' feedback. This data will be used to continue improving the course. In addition, we present a Telegram(R) bot for the communication with the server using smart phones or tablets. However, this tool was not used in the course and will be explored in future teaching.
The decision as to whether or not, and how, to use a Version Control System (VCS) in teaching is complex to make. There are a number of use cases for how a VCS can be used in teaching, there are several VCSs, each VCS...
详细信息
ISBN:
(纸本)9781450396431
The decision as to whether or not, and how, to use a Version Control System (VCS) in teaching is complex to make. There are a number of use cases for how a VCS can be used in teaching, there are several VCSs, each VCS has a variety of options for how to access them, each has a number of third-party support systems, and all combinations have different benefits, costs, and challenges. At University of Auckland, we have made significant use of Git and related systems (especially github and github classroom). In this paper, we offer the lessons we have learned from our collective experience. While we by no means cover all of the possibilities, we hope that instructors considering the use of VCSs, in particular Git, will find the lessons we have learned helpful in making their decisions regarding how to use VCS in teaching.
A new flexible open-source software toolkit to assist in the marking of programming assignments is presented. This toolkit automates the process of validating, building, and testing assignment submissions in addition ...
详细信息
ISBN:
(纸本)9781538607008
A new flexible open-source software toolkit to assist in the marking of programming assignments is presented. This toolkit automates the process of validating, building, and testing assignment submissions in addition to generating reports summarizing the results of building and testing student code. By using this toolkit (especially in conjunction with a tool like github classroom), the amount of effort required for assignment marking can be greatly reduced. The toolkit is programming-language neutral (i.e., does not mandate the use of a particular language) and provides a high degree of flexibility by allowing various operations to be customized via user-provided programs, which may be written in a scripting language of the user's choice.
暂无评论