{"title":"评估新手工程师学习和使用过渡系统为软件系统建模的难度","authors":"Mrityunjay Kumar, Venkatesh Choppella","doi":"10.1145/3627217.3627223","DOIUrl":null,"url":null,"abstract":"Modern software products are complex systems and are better comprehended when engineers can think of the software as a system. Systems Science suggests that learning about a complex system is aided by modeling. It stands to reason that if we can help novice engineers model the software products as systems, it should improve their comprehension. One way of learning through modeling is to use Transition Systems to build models that we proposed in a previous paper. This requires the engineers to learn the vocabulary of Transition Systems and a way to use it to model software systems. The question arises: is it difficult to learn and use transition systems vocabulary? We hypothesize that it is not, because its vocabulary is small, and it builds on the concepts learned in other courses like Theory of Computation and Discrete Mathematics - finite-state machines and set theory. To test this hypothesis, we designed a short intervention (one lecture and one project) in a software engineering course for two cohorts of students from two different environments. We taught them basic concepts of Transition Systems and how systems can be modelled using its vocabulary and evaluated their performance on a modeling project. We also administered a survey to evaluate their perception of the topic. Both the cohorts scored well on the project and reported agreement with ease of learning and use of Transition Systems when surveyed. Based on the knowledge demonstrated and the survey feedback, we conclude that it is not difficult for them to learn the vocabulary of Transition Systems and its use. This result gives confidence to start designing longer intervention to promote use of systems modeling and study their effectiveness with large software systems.","PeriodicalId":508655,"journal":{"name":"Proceedings of the 16th Annual ACM India Compute Conference","volume":"44 5","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2023-12-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Evaluating the difficulty for novice engineers in learning and using Transition Systems for modeling software systems\",\"authors\":\"Mrityunjay Kumar, Venkatesh Choppella\",\"doi\":\"10.1145/3627217.3627223\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Modern software products are complex systems and are better comprehended when engineers can think of the software as a system. Systems Science suggests that learning about a complex system is aided by modeling. It stands to reason that if we can help novice engineers model the software products as systems, it should improve their comprehension. One way of learning through modeling is to use Transition Systems to build models that we proposed in a previous paper. This requires the engineers to learn the vocabulary of Transition Systems and a way to use it to model software systems. The question arises: is it difficult to learn and use transition systems vocabulary? We hypothesize that it is not, because its vocabulary is small, and it builds on the concepts learned in other courses like Theory of Computation and Discrete Mathematics - finite-state machines and set theory. To test this hypothesis, we designed a short intervention (one lecture and one project) in a software engineering course for two cohorts of students from two different environments. We taught them basic concepts of Transition Systems and how systems can be modelled using its vocabulary and evaluated their performance on a modeling project. We also administered a survey to evaluate their perception of the topic. Both the cohorts scored well on the project and reported agreement with ease of learning and use of Transition Systems when surveyed. Based on the knowledge demonstrated and the survey feedback, we conclude that it is not difficult for them to learn the vocabulary of Transition Systems and its use. This result gives confidence to start designing longer intervention to promote use of systems modeling and study their effectiveness with large software systems.\",\"PeriodicalId\":508655,\"journal\":{\"name\":\"Proceedings of the 16th Annual ACM India Compute Conference\",\"volume\":\"44 5\",\"pages\":\"\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2023-12-09\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings of the 16th Annual ACM India Compute Conference\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/3627217.3627223\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 16th Annual ACM India Compute Conference","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3627217.3627223","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Evaluating the difficulty for novice engineers in learning and using Transition Systems for modeling software systems
Modern software products are complex systems and are better comprehended when engineers can think of the software as a system. Systems Science suggests that learning about a complex system is aided by modeling. It stands to reason that if we can help novice engineers model the software products as systems, it should improve their comprehension. One way of learning through modeling is to use Transition Systems to build models that we proposed in a previous paper. This requires the engineers to learn the vocabulary of Transition Systems and a way to use it to model software systems. The question arises: is it difficult to learn and use transition systems vocabulary? We hypothesize that it is not, because its vocabulary is small, and it builds on the concepts learned in other courses like Theory of Computation and Discrete Mathematics - finite-state machines and set theory. To test this hypothesis, we designed a short intervention (one lecture and one project) in a software engineering course for two cohorts of students from two different environments. We taught them basic concepts of Transition Systems and how systems can be modelled using its vocabulary and evaluated their performance on a modeling project. We also administered a survey to evaluate their perception of the topic. Both the cohorts scored well on the project and reported agreement with ease of learning and use of Transition Systems when surveyed. Based on the knowledge demonstrated and the survey feedback, we conclude that it is not difficult for them to learn the vocabulary of Transition Systems and its use. This result gives confidence to start designing longer intervention to promote use of systems modeling and study their effectiveness with large software systems.