Mohammed F. Farghally, Kyu Han Koh, Hossameldin Shahin, C. Shaffer
{"title":"Evaluating the Effectiveness of Algorithm Analysis Visualizations","authors":"Mohammed F. Farghally, Kyu Han Koh, Hossameldin Shahin, C. Shaffer","doi":"10.1145/3017680.3017698","DOIUrl":"https://doi.org/10.1145/3017680.3017698","url":null,"abstract":"Algorithm Visualizations (AVs) have been used for years as an interactive method to convey data structures and algorithms concepts. However, AVs have traditionally focused on illustrating the mechanics of how an algorithm works. We have developed visualizations that we name Algorithm Analysis Visualizations (AAVs), that focus on conveying algorithm analysis concepts. We present our findings from an initial evaluation study of the effectiveness of AAVs when applied to a semester long Data Structures course. AAVs were evaluated in terms of student engagement, student satisfaction, and student performance. Results indicate that the intervention group students spent significantly more time with the AAVs than did the control group students who used primarily textual content. Students gave positive feedback regarding the usefulness of the AAVs in illustrating algorithm analysis concepts. Students from the intervention group had better performance on the algorithm analysis part of the final exam than did control group students.","PeriodicalId":344382,"journal":{"name":"Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education","volume":"11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-03-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133306434","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}
T. Camp, Emmanuel Schanzer, J. Goode, O. Astrachan, E. Campos
{"title":"CSPd Week: A Scalable Model for Preparing Teachers for CS for All","authors":"T. Camp, Emmanuel Schanzer, J. Goode, O. Astrachan, E. Campos","doi":"10.1145/3017680.3017681","DOIUrl":"https://doi.org/10.1145/3017680.3017681","url":null,"abstract":"Professional development (PD) has long been recognized as one of the key ingredients in K-12 CS Education, particularly when addressing the problem of underserved communities. Over the last decade, significant work has been done to create professional development and curricular offerings that are research based, with a proven track record. Bootstrap, Exploring Computer Science and AP CS Principles represent these types of programs. Each of these programs has developed high-quality PD for educators and have been recognized by the White House as exemplar courses. However, economies of scale make it difficult to expand to the vast number of small school districts around the country, including some of the most isolated and underserved areas such as rural communities and Native American reservations. This panel will discuss an alternative model - \"CSPdWeek\" -- a national event aimed at providing best-in-class PD to teachers across the country. The inaugural CSPdWeek took place in July, 2016 at Colorado School of Mines, and provided a week-long residential experience for teachers attending one of three teacher-focused professional development programs. Over 240 classroom teachers attended CSPdWeek, making this professional development the single largest cross-curricular effort in preparing U.S. teachers to teach computing as part of the \"CS for All\" movement. This panel will focus on why this year's CSPdWeek was such a success and what was behind social media testimonies from teachers who talked about being part of an educational movement.","PeriodicalId":344382,"journal":{"name":"Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education","volume":"36 3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-03-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132723675","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":"Mixed-initiative Personal Assistants","authors":"J. Buck, Saverio Perugini","doi":"10.1145/3017680.3022455","DOIUrl":"https://doi.org/10.1145/3017680.3022455","url":null,"abstract":"Specification and implementation of flexible human-computer dialogs is challenging because of the complexity involved in rendering the dialog responsive to a vast number of varied paths through which users might desire to complete the dialog. To address this problem, we developed a toolkit for modeling and implementing task-based, mixed-initiative dialogs based on metaphors from lambda calculus. Our toolkit can automatically operationalize a dialog that involves multiple prompts and/or sub-dialogs, given a high-level dialog specification of it. Our current research entails incorporating the use of natural language to make the flexibility in communicating user utterances commensurate with that in dialog completion paths.","PeriodicalId":344382,"journal":{"name":"Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-03-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131415300","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":"Making Noise: Using Sound-Art to Explore Technological Fluency","authors":"E. Brunvand, Nina McCurdy","doi":"10.1145/3017680.3017714","DOIUrl":"https://doi.org/10.1145/3017680.3017714","url":null,"abstract":"We describe our experience designing and delivering a general education technological fluency course that frames the discussion of computer science and engineering technology (electronics and programming) in the context of sound-art: art that uses sound as its medium. This course is aimed at undergraduate students from a wide variety of backgrounds and is designed to fit into the ``Intellectual Explorations'' area of a general undergraduate program. The goal is to introduce computer engineering and computational principles to non-CS students through an exploration of sound-art, experimental and electronic music, noise-making circuits, hardware hacking, and circuit bending.","PeriodicalId":344382,"journal":{"name":"Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-03-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115913769","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":"Seeking Evidence for Basing the CS Theory Course on Non-decision Problems (Abstract Only)","authors":"J. MacCormick","doi":"10.1145/3017680.3022388","DOIUrl":"https://doi.org/10.1145/3017680.3022388","url":null,"abstract":"Computational and complexity theory are core components of the computer science curriculum, and in the vast majority of cases they are taught using decision problems as the main paradigm. For experienced practitioners, decision problems are the best tool. But for undergraduates encountering the material for the first time, non-decision problems (such as optimization problems and search problems) may be preferable. This lightning talk will give a brief pointer to some new technical definitions and pedagogical strategies that have been used successfully for teaching the theory course using non-decision problems as the central concept. For example, instead of the familiar complexity classes P and NP, we can define analogous classes of non-decision problems, Poly and NPoly. The key question behind this lightning talk is to ask whether the new definitions and strategies are actually beneficial. Anecdotal evidence and certain theories of learning suggest the new approach should result in superior learning outcomes for students. We are seeking ideas, feedback, and collaborators interested in investigating this hypothesis and obtaining stronger evidence for it. To summarize, our central question is: how can we investigate whether students gain a superior grasp of computational and complexity theory when they are taught primarily using non-decision problems?","PeriodicalId":344382,"journal":{"name":"Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-03-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117016567","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 Web-Based IDE for Teaching with Any Language (Abstract Only)","authors":"D. Malan, Nikolai Onken, Daniel Armendariz","doi":"10.1145/3017680.3017839","DOIUrl":"https://doi.org/10.1145/3017680.3017839","url":null,"abstract":"This workshop introduces participants to CS50 IDE (cs50.io), a web-based integrated development environment based on Amazon's Cloud9 (c9.io). Not only does the IDE enable students to work on programming projects within a browser, without need for local downloads or installations, it also provides students with an integrated terminal window and full sudo privileges. Underneath the hood is a Docker \"container\" that allows students to experiment with the underlying Ubuntu Linux OS, installing and configuring software at will, adapting it to their particular projects' needs. The IDE supports any compiler, interpreter, or other software that can be installed via a Linux command-line, while the IDE itself provides a fully-featured text editor for text files and source code that reside on the underlying instance. The Cloud9 GUI is fully extensible through a plugin system and is leveraged by CS50 IDE to provide additional functionality for students. Among the additional features implemented through this mechanism are a GUI-based file submission system, an optional \"less comfortable\" mode that simplifies the GUI to provide a scaffolded experience for students new to programming, and a GUI front end for the GNU Project Debugger, a CLI debugger for many languages, including C. This workshop will highlight useful features of the IDE in the context of classrooms (including the collaborative nature of a workspace to allow pair programming or provide alternative one-on-one instruction), provide tips for writing or adapting assignments based on its architecture, and introduce developing plugins for full customization.","PeriodicalId":344382,"journal":{"name":"Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education","volume":"21 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-03-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117181770","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}
Christian Murphy, K. Buffardi, J. Dehlinger, Lynn Lambert, N. Veilleux
{"title":"Community Engagement with Free and Open Source Software","authors":"Christian Murphy, K. Buffardi, J. Dehlinger, Lynn Lambert, N. Veilleux","doi":"10.1145/3017680.3017682","DOIUrl":"https://doi.org/10.1145/3017680.3017682","url":null,"abstract":"A common refrain from Senior Exit Surveys and Alumni Surveys is the desire to work on \"real-world,\" \"practical\" and \"hands-on\" projects using industry-ready tools and development environments. To assuage this, institutions have moved towards adopting Free and Open Source Software (FOSS) as an avenue to provide meaningful, applied learning interventions to students. Through these experiences, students benefit from engagement with various communities including: the community of contributors to the FOSS project; the community of local software developers; the community of citizens who reside in the local area; the community of students at their institution and others; and, the community of people impacted by the FOSS project. These engagements motivate students, enhance their communication and technical skills, allow them to grow and become more confident, help them form professional networks, and provide the \"real-world\" projects they seek. In this panel, we will discuss our experiences in engaging students with five different types of communities as part of incorporating FOSS into our courses, focusing on how other educators can provide the same benefits to their students as well. In order to satisfy the time constraints of the panel, the last two authors will present together.","PeriodicalId":344382,"journal":{"name":"Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education","volume":"39 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-03-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124051445","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":"Infrastructure for Continuous Assessment of Retained Relevant Knowledge","authors":"Kathleen Timmerman, T. Doom","doi":"10.1145/3095781.3017738","DOIUrl":"https://doi.org/10.1145/3095781.3017738","url":null,"abstract":"An important part of maintaining and continuously improving programs is assessing student objectives to evaluate the impact of change. This paper reviews an infrastructure that was designed to give continuous periodic direct measurements of retained relevant knowledge throughout a computer science and computer engineering baccalaureate curriculum. This infrastructure is designed to give immediate feedback to students and instructors as well as long-term assessment of program health. Additionally, due to the continuous nature of the assessment, its deployment is designed to avoid undue burden in deployment.","PeriodicalId":344382,"journal":{"name":"Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education","volume":"66 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-03-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125844950","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}
F. Martin, Samantha W. Michalka, Harry Zhu, Jere Boudelle
{"title":"Using AppVis to Build Data-rich Apps with MIT App Inventor (Abstract Only)","authors":"F. Martin, Samantha W. Michalka, Harry Zhu, Jere Boudelle","doi":"10.1145/3017680.3017827","DOIUrl":"https://doi.org/10.1145/3017680.3017827","url":null,"abstract":"MIT App Inventor is widely used to introduce students to programming and building mobile apps. In this workshop, we will introduce AppVis, an extension to App Inventor that allows users to create apps that publish data to iSENSE (isenseproject.org), a web-based system for collaborating with data and visualizations. Using AppVis, apps can also retrieve data from iSENSE and display visualizations in the app. This workshop will provide a hands-on introduction to App Inventor, AppVis, and iSENSE. You will build our demo apps, including jump counter, survey, and map-marking. We will have conversations about how to introduce AppVis to your non-majors courses, intro-CS courses, and interdisciplinary teaching. Prior experience with App Inventor is helpful, but not necessary.","PeriodicalId":344382,"journal":{"name":"Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education","volume":"205 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-03-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124605772","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":"Elegit: Git Learning Tool for Students (Abstract Only)","authors":"Eric Walker, Julia Connelly, D. Musicant","doi":"10.1145/3017680.3022380","DOIUrl":"https://doi.org/10.1145/3017680.3022380","url":null,"abstract":"Version control systems are crucial tools for computer scientists, and the need for students to be fluent in them is well-recognized. However, Git and other version control systems (VCSs) are difficult to learn and use. Elegit is a new Git client that we created to help students learn how Git works while using it. Our approach is different from other GUI Git clients in that our key goals are not only to help students successfully use Git, but equally importantly to help students learn about how Git works in its own native way. We preserve standard Git terminology wherever possible, and place a high priority on not modifying the standard Git model. Simultaneously, we strive to make Elegit easy for beginners to use. This demo provides a brief tutorial on using Elegit, discussion on the process of designing the tool to do this, evaluation of the effectiveness of the tool, and improvements made based on this evaluation and our own learning of Git while developing the application. Information about Elegit can be found at http://elegit.org. This work is supported by a SIGCSE Special Projects Grant, and by Carleton College.","PeriodicalId":344382,"journal":{"name":"Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education","volume":"185 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-03-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124695590","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}