Proceedings of the 2021 ACM SIGPLAN International Symposium on SPLASH-E最新文献

筛选
英文 中文
A stepper for a functional JavaScript sublanguage 函数式JavaScript子语言的步进程序
Proceedings of the 2021 ACM SIGPLAN International Symposium on SPLASH-E Pub Date : 2021-10-17 DOI: 10.1145/3484272.3484968
M. Henz, Thomas Tan, Zachary Chua, P. Jung, Yee-Jian Tan, Xinyi Zhang, Jingjing Zhao
{"title":"A stepper for a functional JavaScript sublanguage","authors":"M. Henz, Thomas Tan, Zachary Chua, P. Jung, Yee-Jian Tan, Xinyi Zhang, Jingjing Zhao","doi":"10.1145/3484272.3484968","DOIUrl":"https://doi.org/10.1145/3484272.3484968","url":null,"abstract":"The first two chapters of the introductory computer science textbook Structure and Interpretation of Computer Programs, JavaScript Adaptation (SICP JS), use a subset of JavaScript called Source §2. The book introduces the reduction-based “substitution model” as a first mental model for the evaluation of Source §2 programs. To support the learner in adopting this mental model, we built an algebraic stepper—a tool for visualizing the evaluation of Source §2 programs according to the model. As a sublanguage of JavaScript, Source §2 differs from other purely functional programming languages by using a statement-oriented syntax, with statement sequences, return statements, and block-scoped declarations. For the purpose of this tool description, we distill these distinguishing features—along with explicit recursion—into a Source §2 sublanguage that we call Source §0, and focus on a stepper for this language. We formalize the substitution model of Source §0 as a lambda-calculus-style reduction semantics that handles explicit recursion by term graph rewriting and faithfully implements the JavaScript specification, when restricted to that language. Our implementation of the stepper represents term graphs by persistent data structures that maximize sharing and enable random access to all steps. This work presents the first reduction-based semantics for a JavaScript sublanguage and the first algebraic stepper for a language with return statements and block-scoped declarations. The tool supports the learner with step-level explanations, redex highlighting, and function-level skipping and can also be used for teaching the applicative-order-reduction lambda calculus.","PeriodicalId":159099,"journal":{"name":"Proceedings of the 2021 ACM SIGPLAN International Symposium on SPLASH-E","volume":"235 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-10-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122452105","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}
引用次数: 4
The efficacy of online office hours: an experience report 在线办公时间的功效:一份体验报告
Proceedings of the 2021 ACM SIGPLAN International Symposium on SPLASH-E Pub Date : 2021-10-17 DOI: 10.1145/3484272.3484966
Braxton Hall, Noa Heyl, E. Baniassad, M. Allen, Reid Holmes
{"title":"The efficacy of online office hours: an experience report","authors":"Braxton Hall, Noa Heyl, E. Baniassad, M. Allen, Reid Holmes","doi":"10.1145/3484272.3484966","DOIUrl":"https://doi.org/10.1145/3484272.3484966","url":null,"abstract":"To facilitate assisting students while online during the COVID 19 pandemic, we transitioned to online office hours. These were managed by an automated queue which kept track of who was waiting in office hours, and for how long. We combined data about office hour usage with students' project commit and grade history. These data afforded us a unique look at the efficacy of office hours that the usual, casual drop-in style office hours, did not allow. Amongst other findings, we saw that while individual office hours visits did increase student grades, more visits during the term was negatively correlated with the final project outcome.","PeriodicalId":159099,"journal":{"name":"Proceedings of the 2021 ACM SIGPLAN International Symposium on SPLASH-E","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-10-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130389178","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}
引用次数: 2
Machine learning pedagogy to support the research community 支持研究界的机器学习教学法
Proceedings of the 2021 ACM SIGPLAN International Symposium on SPLASH-E Pub Date : 2021-10-17 DOI: 10.1145/3484272.3484964
K. Dick, Daniel G. Kyrollos, J. Green
{"title":"Machine learning pedagogy to support the research community","authors":"K. Dick, Daniel G. Kyrollos, J. Green","doi":"10.1145/3484272.3484964","DOIUrl":"https://doi.org/10.1145/3484272.3484964","url":null,"abstract":"Machine learning methods are increasingly leveraged in disparate domains of research. Herein, we describe our curriculum design to introduce undergraduate students to applied research through a series of course assignments and a competition among peers to inspire other educators. We describe the overall course structure and detail how the assignments were tailored to a selected open research question while developing student understanding of machine learning. We outline the lessons learned from this new undergraduate curriculum design and describe how it may be adapted to similar courses. For the selected COVID19-related course-long problem of predicting which drugs might interact with specific proteins, we leveraged state-of-the-art tools for representing drug and protein sequences. We challenged students to develop unique solutions competitive with a current state-of-the-art model using reproducible Notebooks and cloud-based computing resources with the expectation that top-ranking solutions would be used to predict novel druggable targets within the SARS-CoV-2 proteome to possibly treat COVID19 patients. We motivate this curriculum design based on related competition frameworks that have led to notable research advancements and contributed to machine learning pedagogy. From our experience, the top student solutions were ultimately combined using a stacked classifier to create a publishable solution representing an actual research contribution. We highly recommend introducing undergraduate students to open research applications early in their program to encourage them to consider pursuing a career in research.","PeriodicalId":159099,"journal":{"name":"Proceedings of the 2021 ACM SIGPLAN International Symposium on SPLASH-E","volume":"253 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-10-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134302338","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}
引用次数: 3
Teachable moments in functional audio processing 功能性音频处理中的教学时刻
Proceedings of the 2021 ACM SIGPLAN International Symposium on SPLASH-E Pub Date : 2021-10-17 DOI: 10.1145/3484272.3484967
M. Henz, Shang-Hui Koh, Samyukta Sounderraman
{"title":"Teachable moments in functional audio processing","authors":"M. Henz, Shang-Hui Koh, Samyukta Sounderraman","doi":"10.1145/3484272.3484967","DOIUrl":"https://doi.org/10.1145/3484272.3484967","url":null,"abstract":"The atomic entity of digital audio processing systems is a digital audio signal, i.e. a sequence of sound samples that represent the amplitude of a sound wave at discrete time intervals. Such signals are transformed additively, by combining them into more complex signals, and subtractively, by subjecting them to digital filters. In order to cover digital audio processing in a classroom from first principles, we need to form collections of samples in streams or arrays, and define operations on these collections in accordance with the constraints of digitization. In this work, we pursue an alternative approach, where the atomic entity is a continuous wave function. We present additive synthesis operations, including wave envelopes and musical abstractions in a purely functional setting. The final continuous wave function is digitized in order to make the sound audible. We report our experiences with what we call functional audio processing as an example domain for teaching functional programming to first-year students, where simplicity and conceptual elegance outweighs the inherent limitation to additive synthesis. We describe a sequence of teachable moments that highlight the potential of functional audio processing at an early stage in the learning process, before streams or arrays are introduced.","PeriodicalId":159099,"journal":{"name":"Proceedings of the 2021 ACM SIGPLAN International Symposium on SPLASH-E","volume":"76 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-10-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124885174","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}
引用次数: 2
Ruggedizing CS1 robotics: tools and approaches for online teaching 加固CS1机器人:在线教学的工具和方法
Proceedings of the 2021 ACM SIGPLAN International Symposium on SPLASH-E Pub Date : 2021-10-17 DOI: 10.1145/3484272.3484969
Boyd Anderson, M. Henz, Hao-Wei Tee
{"title":"Ruggedizing CS1 robotics: tools and approaches for online teaching","authors":"Boyd Anderson, M. Henz, Hao-Wei Tee","doi":"10.1145/3484272.3484969","DOIUrl":"https://doi.org/10.1145/3484272.3484969","url":null,"abstract":"First-year students benefit from robotics-based programming exercises by learning how to use sensors to gain information on the (changing) world surrounding the robot, how to model this information using data structures, and how to design algorithms for performing meaningful activities. Robotics-based exercises are naturally experiential and team-based and provide among the most memorable teachable moments of first-year programming courses. We summarize the pedagogical challenges that robotics-based exercises face, even under ideal circumstances, and how a university responded to these challenges. We report on the additional challenges faced in late 2020 at the same university as a result of the COVID pandemic, and how the course staff addressed these challenges using programming language implementation and network tools. The crucial components were (1) a custom-built web-based development environment with collaborative features including a built-in compiler, (2) a portable virtual machine, (3) collaborative editing, (4) open source protocols, and (5) peer-to-peer teleconferencing software. We report on the lessons learnt and how to further improve the resilience of robotics-based programming exercises.","PeriodicalId":159099,"journal":{"name":"Proceedings of the 2021 ACM SIGPLAN International Symposium on SPLASH-E","volume":"54 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-10-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132625698","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}
引用次数: 3
Teaching DevOps: a tale of two universities DevOps教学:两所大学的故事
Proceedings of the 2021 ACM SIGPLAN International Symposium on SPLASH-E Pub Date : 2021-10-17 DOI: 10.1145/3484272.3484962
R. Hobeck, I. Weber, L. Bass, Hasan Yasar
{"title":"Teaching DevOps: a tale of two universities","authors":"R. Hobeck, I. Weber, L. Bass, Hasan Yasar","doi":"10.1145/3484272.3484962","DOIUrl":"https://doi.org/10.1145/3484272.3484962","url":null,"abstract":"DevOps is a set of practices in software engineering that is in high demand by industry. It is a dynamic field which constantly adds new methods and tools. Teaching DevOps prepares today’s computer science students for best-practices in a working environment but challenges university lecturers to provide central concepts while staying up-to-date with current trends. In this paper we report and reflect on our experiences teaching DevOps at two universities (in the USA and Germany) in an inverted classroom format. We describe how we set-up the courses, provide a brief analysis of data we collected, and share our lessons learned.","PeriodicalId":159099,"journal":{"name":"Proceedings of the 2021 ACM SIGPLAN International Symposium on SPLASH-E","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-10-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126931073","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}
引用次数: 6
Shrinking JavaScript for CS1 为CS1收缩JavaScript
Proceedings of the 2021 ACM SIGPLAN International Symposium on SPLASH-E Pub Date : 2021-10-17 DOI: 10.1145/3484272.3484970
Boyd Anderson, M. Henz, Kok-Lim Low, Daryl Tan
{"title":"Shrinking JavaScript for CS1","authors":"Boyd Anderson, M. Henz, Kok-Lim Low, Daryl Tan","doi":"10.1145/3484272.3484970","DOIUrl":"https://doi.org/10.1145/3484272.3484970","url":null,"abstract":"In teaching and learning programming at first-year-university level, simple languages with small feature sets are preferable over industry-strength languages with extensive feature sets, to reduce the learners' cognitive load. At the same time, there is increasing pressure to familiarise students with mainstream languages early in their learning journey, and these languages accumulate features as years go by. In response to these competing requirements, we developed Source, a collection of JavaScript sublanguages with feature sets just expressive enough to introduce first-year computer science students to the elements of computation. These languages are supported by a web-based programming environment custom-built for learning at beginner's level, which provides transpiler, interpreter, virtual machine, and algebraic-stepper-based implementations of the languages, and includes tracing, debugging, visualization, type-inference, and smart-editor features. This paper motivates the choice of JavaScript as starting point and describes the syntax and semantics of the Source languages compared to their parent language, and their implementations in the system. We report our experiences in developing and improving the languages and implementations over a period of three years, teaching a total of 1561 computer science first-year students at a university.","PeriodicalId":159099,"journal":{"name":"Proceedings of the 2021 ACM SIGPLAN International Symposium on SPLASH-E","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-10-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114543185","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}
引用次数: 3
PaCon: a symbolic analysis approach for tactic-oriented clustering of programming submissions PaCon:用于面向策略的编程提交聚类的符号分析方法
Proceedings of the 2021 ACM SIGPLAN International Symposium on SPLASH-E Pub Date : 2021-10-17 DOI: 10.1145/3484272.3484963
Yingjie Fu, Jonathan Osei-Owusu, Angello Astorga, Zirui Neil Zhao, Wei Zhang, Tao Xie
{"title":"PaCon: a symbolic analysis approach for tactic-oriented clustering of programming submissions","authors":"Yingjie Fu, Jonathan Osei-Owusu, Angello Astorga, Zirui Neil Zhao, Wei Zhang, Tao Xie","doi":"10.1145/3484272.3484963","DOIUrl":"https://doi.org/10.1145/3484272.3484963","url":null,"abstract":"Enrollment in programming courses increasingly surges. To maintain the quality of education in programming courses, instructors need ways to understand the performance of students and give feedback accordingly at scale. For example, it is important for instructors to identify different problem-solving ways (named as tactics in this paper) used in programming submissions. However, because there exist many abstraction levels of tactics and high implementation diversity of the same tactic, it is challenging and time-consuming for instructors to manually tackle the task of tactic identification. Toward this task, we propose PaCon, a symbolic analysis approach for clustering functionally correct programming submissions to provide a way of identifying tactics. In particular, PaCon clusters submissions according to path conditions, a semantic feature of programs. Because of the focus on program semantics, PaCon does not struggle with the issue of an excessive number of clusters caused by subtle syntactic differences between submissions. Our experimental results on real-world data sets show that PaCon can produce a reasonable number of clusters each of which effectively groups together those submissions with high syntax diversity while sharing equivalent path-condition-based semantics, providing a promising way toward identifying tactics.","PeriodicalId":159099,"journal":{"name":"Proceedings of the 2021 ACM SIGPLAN International Symposium on SPLASH-E","volume":"11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-10-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127013080","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}
引用次数: 2
“You have said too much”: Java-like verbosity anti-patterns in Python codebases “你说得太多了”:Python代码库中类似java的冗长反模式
Proceedings of the 2021 ACM SIGPLAN International Symposium on SPLASH-E Pub Date : 2021-10-17 DOI: 10.1145/3484272.3484960
Yuzhi Ma, E. Tilevich
{"title":"“You have said too much”: Java-like verbosity anti-patterns in Python codebases","authors":"Yuzhi Ma, E. Tilevich","doi":"10.1145/3484272.3484960","DOIUrl":"https://doi.org/10.1145/3484272.3484960","url":null,"abstract":"As a popular language for teaching introductory programming, Java can profoundly influence beginner programmers with its coding style and idioms. Despite its many advantages, the paradigmatic coding style in Java is often described as verbose. As a result, when writing code in more concise languages, such programmers tend to emulate the familiar Java coding idioms, thus neglecting to take advantage of the more succinct counterparts in those languages. As a result of such verbosity, not only the overall code quality suffers, but the verbose non-idiomatic patterns also render code hard to understand and maintain. In this paper, we study the incidences of Java-like verbosity as they occur in Python codebases. We present a collection of Java-Like Verbosity Anti-patterns and our pilot study of their presence in representative open-source Python codebases. We discuss our findings as a call for action to computing educators, particularly those who work with introductory students. We need novel pedagogical interventions that encourage budding programmers to write concise idiomatic code in any language.","PeriodicalId":159099,"journal":{"name":"Proceedings of the 2021 ACM SIGPLAN International Symposium on SPLASH-E","volume":"76 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-10-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124986476","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}
引用次数: 1
The common coder’s scratch programming idioms and their impact on project remixing 常见的编程习惯及其对项目混音的影响
Proceedings of the 2021 ACM SIGPLAN International Symposium on SPLASH-E Pub Date : 2021-10-17 DOI: 10.1145/3484272.3484959
Xingyu Long, Peeratham Techapalokul, E. Tilevich
{"title":"The common coder’s scratch programming idioms and their impact on project remixing","authors":"Xingyu Long, Peeratham Techapalokul, E. Tilevich","doi":"10.1145/3484272.3484959","DOIUrl":"https://doi.org/10.1145/3484272.3484959","url":null,"abstract":"As Scratch has become one of the most popular educational programming languages, understanding its common programming idioms can benefit both computing educators and learners. This understanding can fine-tune the curricular development to help learners master the fundamentals of writing idiomatic code in their programming pursuits. Unfortunately, the research community's understanding of what constitutes idiomatic Scratch code has been limited. To help bridge this knowledge gap, we systematically identified idioms as based on canonical source code, presented in widely available educational materials. We implemented a tool that automatically detects these idioms to assess their prevalence within a large dataset of over 70K Scratch projects in different experience backgrounds and project categories. Since communal learning and the practice of remixing are one of the cornerstones of the Scratch programming community, we studied the relationship between common programming idioms and remixes. Having analyzed the original projects and their remixes, we observed that different idioms may associate with dissimilar types of code changes. Code changes in remixes are desirable, as they require a meaningful programming effort that spurs the learning process. The ability to substantially change a project in its remixes hinges on the project's code being easy to understand and modify. Our findings suggest that the presence of certain common idioms can indeed positively impact the degree of code changes in remixes. Our findings can help form a foundation of what comprises common Scratch programming idioms, thus benefiting both introductory computing education and Scratch programming tools.","PeriodicalId":159099,"journal":{"name":"Proceedings of the 2021 ACM SIGPLAN International Symposium on SPLASH-E","volume":"84 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-10-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130818344","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}
引用次数: 0
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
相关产品
×
本文献相关产品
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信