{"title":"Obstacles when teaching functional programming","authors":"Y. Motara","doi":"10.1145/3442481.3442510","DOIUrl":"https://doi.org/10.1145/3442481.3442510","url":null,"abstract":"This work describes a course in typed functional programming, the obstacles that are often encountered during the teaching of this course, and solutions which have been devised for those obstacles.","PeriodicalId":262503,"journal":{"name":"Proceedings of the 9th Computer Science Education Research Conference","volume":"46 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-10-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134083937","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
A. Fehnker, A. Mader, Arthur Rump, M. Rutgers, Lotte Steenmeijer, C. Witteveen
{"title":"Atelier","authors":"A. Fehnker, A. Mader, Arthur Rump, M. Rutgers, Lotte Steenmeijer, C. Witteveen","doi":"10.1163/2352-0248_edn_a0275000","DOIUrl":"https://doi.org/10.1163/2352-0248_edn_a0275000","url":null,"abstract":"","PeriodicalId":262503,"journal":{"name":"Proceedings of the 9th Computer Science Education Research Conference","volume":"83 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-10-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124770991","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Adjusting to the new normal: perspectives from an introductory programming sequence course","authors":"Fahmida Hamid, F. Rashid","doi":"10.1145/3442481.3442509","DOIUrl":"https://doi.org/10.1145/3442481.3442509","url":null,"abstract":"Neither comprehension nor learning can take place in an atmosphere of anxiety (Rose Kennedy, American philanthropist). With the emergence of the COVID-19 pandemic faculties and students faced great challenges and anxiety. Despite so many uncontrollable issues, as educators, we had to gain control over some of them; hence, we aimed to make the learning process as stress-free as possible. In this paper, we share the recent experience of remodeling an intermediate-level programming language course during the global pandemic. The outcomes, by the end of Spring 2020, in terms of achieving course objectives and students' learning experiences, are encouraging. Our goal is to share and accumulate the ideas among the community so that future educators may use the experience as a baseline.","PeriodicalId":262503,"journal":{"name":"Proceedings of the 9th Computer Science Education Research Conference","volume":"56 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-10-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133952154","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"How to make while loops iterative: an introduction for first-year CS students","authors":"M. Morazán","doi":"10.1145/3442481.3442504","DOIUrl":"https://doi.org/10.1145/3442481.3442504","url":null,"abstract":"The design of while loops is among the hardest lessons for beginners in programming. Their design is difficult because students must do more than solve a problem. They must also, for example, correctly sequence mutations, define loop invariants, and avoid infinite loops. Another difficulty students face is making while loops iterative. This issue is commonly ignored in programming textbooks for beginners despite being relevant to future courses such as Computer Architecture, Programming Languages, and Algorithms. The difficulty with making while loops iterative revolves around the elimination of delayed operations. This requires introducing beginners to the concept of control. This article presents a novel transformation recipe for beginners to make while loops iterative. The transformation recipe guides students on how to accumulate control information on a stack to eliminate delayed operations in the body of loops. In addition, this article presents descriptive statistics obtained from students on the maiden voyage of the new design recipe. The empirical data suggests that students feel that writing iterative while loops is hard, but enlightening. In addition, the empirical data suggests that students have a very favorable opinion about designing while loops.","PeriodicalId":262503,"journal":{"name":"Proceedings of the 9th Computer Science Education Research Conference","volume":"86 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-10-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124415014","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Utilizing slack as a communication platform in a flexible learning trajectory course: supporting the learning process","authors":"Majid Rouhani","doi":"10.1145/3442481.3442503","DOIUrl":"https://doi.org/10.1145/3442481.3442503","url":null,"abstract":"Online and flexible programming courses for in-service teachers with varied level of programming knowledge, interests, and different application need might, on the one hand, be challenging. On the other hand, this flexibility might provide convenience and promote learning. With the advancement of technology and the change of habits for the use of the traditional communication platform, educators need to explore practical ways to communicate. This paper presents the results of an investigation into Slack's use as a communication platform to enhance collaborative learning and online activities. We use messages from Slack channels and survey data used in the course to investigate the effectiveness of the communication process between students, instructors, and learning assistants and to what extent students believe the tool supports reaching their goals. The most common form of online collaboration was the need for clarifications, a deeper understanding of course topics, assessments, and sharing their programming knowledge. Teachers worked towards achieving their goals through collaborative development of programming skills by asking questions and sharing competence. A smaller number of teachers were involved in contribution, which was then used by the majority. This paper summarizes the author's findings on Slack's use as a communication platform in an online flexible learning trajectory course.","PeriodicalId":262503,"journal":{"name":"Proceedings of the 9th Computer Science Education Research Conference","volume":"83 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-10-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127843549","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"A sports day for programming","authors":"A. Fehnker","doi":"10.1145/3442481.3442507","DOIUrl":"https://doi.org/10.1145/3442481.3442507","url":null,"abstract":"This paper introduces a sports day for programming, a one-day workshop, that includes ideation, design, implementation, peer review, and a Eurovision style finale. It is a summative assessment introduced to an introductory programming course for the degree Creative Technology. While the course includes both formative and summative assessment in tutorials as is common programming courses, both students and teaching team felt that students lacked programming experience to be properly prepared for their final project. Rather than adding another assessment or projects, we developed the sports day. The term sports day stresses the competitive element, the team aspect, and also that it includes different disciplines, namely ideation, design, implementation, code review and presentation. This paper explains how this setup was developed to suit the educational philosophy of the degree, how it is implemented, and reports on experiences and evaluations of this annual event.","PeriodicalId":262503,"journal":{"name":"Proceedings of the 9th Computer Science Education Research Conference","volume":"21 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-10-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133023833","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Design and delivery of cloud computing syllabus for computing undergraduates","authors":"S. Nazir, James H. Paterson, Brian Hainey","doi":"10.1145/3442481.3442508","DOIUrl":"https://doi.org/10.1145/3442481.3442508","url":null,"abstract":"Cloud computing is a highly disruptive paradigm transforming the way we interact with technologies. Cloud platforms and services have become the predominant choice for any real-world storage and computation intensive applications such as Internet of Things (IoT), Big Data and Artificial Intelligence (AI), making it a must-have skill for undergraduates across many disciplines. Cloud technology, services and applications are evolving rapidly and it is challenging to design an academic syllabus that encompasses a comprehensive and up-to-date body of knowledge in an engaging way. This paper describes our approach to designing a new module to provide a broad overview of Cloud Computing and practical skills in developing solutions using services offered by a cloud platform, in this case Amazon Web Services (AWS) for Computing undergraduate students at Glasgow Caledonian University (GCU), UK. We describe the rationale for the syllabus design and outline the lectures, practical activities and assessments that were developed. The practicals were designed to be executed on the AWS platform as bite-sized tasks providing hands-on learning to reinforce prior lecture content. The first syllabus delivery at GCU shows that the students performed well, found the content engaging and easy to assimilate, and had a fulfilling learning experience. The issues involved in using `live' cloud platforms for teaching are also evaluated.","PeriodicalId":262503,"journal":{"name":"Proceedings of the 9th Computer Science Education Research Conference","volume":"17 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-09-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115699337","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}