{"title":"Solvelets","authors":"Amruth N. Kumar","doi":"10.1145/3502718.3524811","DOIUrl":null,"url":null,"abstract":"We developed a suite of tutors called solvelets to help students learn the process of programming. They are based on the hypothesis that problem-solving is asking the right questions in the right sequence. The tutors use a series of questions to step the student through all three stages of program development: algorithm formulation, program design and writing code. So, the tutors help students start from a problem statement and end with a complete and correct program for the problem. At each intermediate step, the tutors provide immediate feedback at multiple progressively specific levels until they bottom out with the correct answer. So, the proficiency of a student is determined not by whether the student solves the problem correctly, but by the number of attempts the student takes to complete each step: the more the attempts, the less proficient the student. The tutors reify the steps for writing each control statement and scaffold the student through writing it one step at a time. We describe the tutors and the process of programming scaffolded by them. The tutors are currently available for C++ and Java and cover expressions, selection statements and logic-controlled loops. They are available for free for educational use at solvelets.org.","PeriodicalId":424418,"journal":{"name":"Proceedings of the 27th ACM Conference on on Innovation and Technology in Computer Science Education Vol. 1","volume":"2 4","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-07-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Solvelets\",\"authors\":\"Amruth N. Kumar\",\"doi\":\"10.1145/3502718.3524811\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"We developed a suite of tutors called solvelets to help students learn the process of programming. They are based on the hypothesis that problem-solving is asking the right questions in the right sequence. The tutors use a series of questions to step the student through all three stages of program development: algorithm formulation, program design and writing code. So, the tutors help students start from a problem statement and end with a complete and correct program for the problem. At each intermediate step, the tutors provide immediate feedback at multiple progressively specific levels until they bottom out with the correct answer. So, the proficiency of a student is determined not by whether the student solves the problem correctly, but by the number of attempts the student takes to complete each step: the more the attempts, the less proficient the student. The tutors reify the steps for writing each control statement and scaffold the student through writing it one step at a time. We describe the tutors and the process of programming scaffolded by them. The tutors are currently available for C++ and Java and cover expressions, selection statements and logic-controlled loops. They are available for free for educational use at solvelets.org.\",\"PeriodicalId\":424418,\"journal\":{\"name\":\"Proceedings of the 27th ACM Conference on on Innovation and Technology in Computer Science Education Vol. 1\",\"volume\":\"2 4\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2022-07-07\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings of the 27th ACM Conference on on Innovation and Technology in Computer Science Education Vol. 1\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/3502718.3524811\",\"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 27th ACM Conference on on Innovation and Technology in Computer Science Education Vol. 1","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3502718.3524811","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
We developed a suite of tutors called solvelets to help students learn the process of programming. They are based on the hypothesis that problem-solving is asking the right questions in the right sequence. The tutors use a series of questions to step the student through all three stages of program development: algorithm formulation, program design and writing code. So, the tutors help students start from a problem statement and end with a complete and correct program for the problem. At each intermediate step, the tutors provide immediate feedback at multiple progressively specific levels until they bottom out with the correct answer. So, the proficiency of a student is determined not by whether the student solves the problem correctly, but by the number of attempts the student takes to complete each step: the more the attempts, the less proficient the student. The tutors reify the steps for writing each control statement and scaffold the student through writing it one step at a time. We describe the tutors and the process of programming scaffolded by them. The tutors are currently available for C++ and Java and cover expressions, selection statements and logic-controlled loops. They are available for free for educational use at solvelets.org.