T. Way, M. Papalaskari, L. Cassel, P. Matuszek, Carol Weiss, Yamini Praveena Tella
Recognizing that the changing nature of science and its reliance on massive amounts of data has led to the integral use of machine learning approaches in just about every discipline, we present the results of a multi-year research effort entitled "Broader and Earlier Access to Machine Learning." For this project, we explored teaching strategies for introducing machine learning topics to non-technical students in discipline-relevant ways, culminating in a large collection of ready-to-use learning modules suitable for use in a wide variety of academic fields. We present a roadmap to our online repository of module materials, a detailed walk-thru of the contents of an example module, ideas and approaches for incorporating modules into a class or assisting non-technical colleagues in doing the same, and a summary of results of using these modules in course settings.
{"title":"Machine Learning Modules for All Disciplines","authors":"T. Way, M. Papalaskari, L. Cassel, P. Matuszek, Carol Weiss, Yamini Praveena Tella","doi":"10.1145/3059009.3072979","DOIUrl":"https://doi.org/10.1145/3059009.3072979","url":null,"abstract":"Recognizing that the changing nature of science and its reliance on massive amounts of data has led to the integral use of machine learning approaches in just about every discipline, we present the results of a multi-year research effort entitled \"Broader and Earlier Access to Machine Learning.\" For this project, we explored teaching strategies for introducing machine learning topics to non-technical students in discipline-relevant ways, culminating in a large collection of ready-to-use learning modules suitable for use in a wide variety of academic fields. We present a roadmap to our online repository of module materials, a detailed walk-thru of the contents of an example module, ideas and approaches for incorporating modules into a class or assisting non-technical colleagues in doing the same, and a summary of results of using these modules in course settings.","PeriodicalId":174429,"journal":{"name":"Proceedings of the 2017 ACM Conference on Innovation and Technology in Computer Science Education","volume":"20 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-06-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124626321","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}
Some modules in computing degrees have problems with the wide variation in students' prior experiences and risk losing good students who are bored with the initial elementary topics. One possible solution is to specify in detail what the student should be capable of at the end of the module and allow them to decide how to arrange their studies. This study compares the accuracy of student self-assessments of capability against the learning outcomes on a binary Yes/No scale with their exam performance. Predicted marks from their responses were found to have a weak correlation to the student performance. Higher level learning outcomes and responses by female students generated lower reliability scores.
{"title":"Self-Assess Competency as Yes/No: A Preliminary Study","authors":"M. Hutchison","doi":"10.1145/3059009.3073003","DOIUrl":"https://doi.org/10.1145/3059009.3073003","url":null,"abstract":"Some modules in computing degrees have problems with the wide variation in students' prior experiences and risk losing good students who are bored with the initial elementary topics. One possible solution is to specify in detail what the student should be capable of at the end of the module and allow them to decide how to arrange their studies. This study compares the accuracy of student self-assessments of capability against the learning outcomes on a binary Yes/No scale with their exam performance. Predicted marks from their responses were found to have a weak correlation to the student performance. Higher level learning outcomes and responses by female students generated lower reliability scores.","PeriodicalId":174429,"journal":{"name":"Proceedings of the 2017 ACM Conference on Innovation and Technology in Computer Science Education","volume":"55 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-06-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114497948","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}
We wanted to introduce peer reviews for the final report in a course on Software Testing. The students had however experienced issues with peer reviews in a previous course which made this a challenge. To get a better understanding of the situation, we distributed a pre-questionnaire to the students. 48 of the 83 students provided their expectations on peer reviews. To deal with some of the perceived issues, we developed a peer review tool where we introduce anonymity, grading of reviews, teacher interventions, as well as let students score and comment on the reviews they receive. In total, 67 reports were submitted by 83 students and 325 reviews were completed. The post-questionnaire was answered by 48 students (not necessarily the same respondents as for the pre-questionnaire as both were collected anonymously). While 27 of the students expected incorrect feedback only 13 students agreed to have got incorrect feedback in the post-questionnaire. The students reported that they found the feedback from their peers more valuable (+15%) than expected, and 88% of the students reported that they learned from doing peer reviews. Overall, we find that the students' attitudes towards peer reviews have improved.
{"title":"How Tool Support and Peer Scoring Improved Our Students' Attitudes Toward Peer Reviews","authors":"Daniel Toll, Anna Wingkvist","doi":"10.1145/3059009.3059059","DOIUrl":"https://doi.org/10.1145/3059009.3059059","url":null,"abstract":"We wanted to introduce peer reviews for the final report in a course on Software Testing. The students had however experienced issues with peer reviews in a previous course which made this a challenge. To get a better understanding of the situation, we distributed a pre-questionnaire to the students. 48 of the 83 students provided their expectations on peer reviews. To deal with some of the perceived issues, we developed a peer review tool where we introduce anonymity, grading of reviews, teacher interventions, as well as let students score and comment on the reviews they receive. In total, 67 reports were submitted by 83 students and 325 reviews were completed. The post-questionnaire was answered by 48 students (not necessarily the same respondents as for the pre-questionnaire as both were collected anonymously). While 27 of the students expected incorrect feedback only 13 students agreed to have got incorrect feedback in the post-questionnaire. The students reported that they found the feedback from their peers more valuable (+15%) than expected, and 88% of the students reported that they learned from doing peer reviews. Overall, we find that the students' attitudes towards peer reviews have improved.","PeriodicalId":174429,"journal":{"name":"Proceedings of the 2017 ACM Conference on Innovation and Technology in Computer Science Education","volume":"98 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-06-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125567412","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}
J. Börstler, H. Störrle, Daniel Toll, Jelle van Assema, Rodrigo Duran, Sara Hooshangi, J. Jeuring, H. Keuning, Carsten Kleiner, Bonnie K. MacKellar
Code quality is a key issue in software development. The ability to develop software of high quality is therefore a key learning goal of computing programs. However, there are no universally accepted measures to assess the quality of code and current standards are consideredweak. Furthermore, there are many facets to code quality. Defining and explaining the concept of code quality is therefore a challenge faced by many educators. In this working group, we investigate the perceptions of code quality of students, teachers, and professional programmers. In particular, we are interested in the differences in views of code quality by students, educators, and professional programmers and which quality aspects they consider as more or less important. Furthermore, we are interested in which sources of information on code quality and its assessment are used by these groups. Eventually, this will help us to develop resources that can be used to broaden students' views on software quality.
{"title":"\"I know it when I see it\": Perceptions of Code Quality","authors":"J. Börstler, H. Störrle, Daniel Toll, Jelle van Assema, Rodrigo Duran, Sara Hooshangi, J. Jeuring, H. Keuning, Carsten Kleiner, Bonnie K. MacKellar","doi":"10.1145/3059009.3081328","DOIUrl":"https://doi.org/10.1145/3059009.3081328","url":null,"abstract":"Code quality is a key issue in software development. The ability to develop software of high quality is therefore a key learning goal of computing programs. However, there are no universally accepted measures to assess the quality of code and current standards are consideredweak. Furthermore, there are many facets to code quality. Defining and explaining the concept of code quality is therefore a challenge faced by many educators. In this working group, we investigate the perceptions of code quality of students, teachers, and professional programmers. In particular, we are interested in the differences in views of code quality by students, educators, and professional programmers and which quality aspects they consider as more or less important. Furthermore, we are interested in which sources of information on code quality and its assessment are used by these groups. Eventually, this will help us to develop resources that can be used to broaden students' views on software quality.","PeriodicalId":174429,"journal":{"name":"Proceedings of the 2017 ACM Conference on Innovation and Technology in Computer Science Education","volume":"236 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-06-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126043866","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}
Growing public demand for computer science (CS) education in K-12 schools requires an increase in well-qualified and well-supported computing teachers. To alleviate the lack of K-12 computing teachers, CS education researchers have focused on hosting professional development workshops to prepare in-service teachers from other disciplines to teach introductory level computing courses. In addition to the curriculum knowledge and pedagogical content knowledge taught in the professional development workshops, these new teachers need support in computer science subject matter knowledge throughout the school year. In particular, these new teachers find it difficult to grade programs and labs. This research study uses two variations of the Delphi Method to create learning-oriented rubrics for Computer Science Principles teachers using the Beauty and Joy of Computing curriculum. To perform this study we implemented (1) a heavy-weight, heterogeneous wide-net Delphi, and (2) a lower-weight, homogeneous Delphi composed of master teachers. These methods resulted in the creation of two systematically- and rigorously-created rubrics that produce consistent grading and very similar inter-rater reliabilities.
{"title":"Application of the Delphi Method in Computer Science Principles Rubric Creation","authors":"Veronica Catété, T. Barnes","doi":"10.1145/3059009.3059042","DOIUrl":"https://doi.org/10.1145/3059009.3059042","url":null,"abstract":"Growing public demand for computer science (CS) education in K-12 schools requires an increase in well-qualified and well-supported computing teachers. To alleviate the lack of K-12 computing teachers, CS education researchers have focused on hosting professional development workshops to prepare in-service teachers from other disciplines to teach introductory level computing courses. In addition to the curriculum knowledge and pedagogical content knowledge taught in the professional development workshops, these new teachers need support in computer science subject matter knowledge throughout the school year. In particular, these new teachers find it difficult to grade programs and labs. This research study uses two variations of the Delphi Method to create learning-oriented rubrics for Computer Science Principles teachers using the Beauty and Joy of Computing curriculum. To perform this study we implemented (1) a heavy-weight, heterogeneous wide-net Delphi, and (2) a lower-weight, homogeneous Delphi composed of master teachers. These methods resulted in the creation of two systematically- and rigorously-created rubrics that produce consistent grading and very similar inter-rater reliabilities.","PeriodicalId":174429,"journal":{"name":"Proceedings of the 2017 ACM Conference on Innovation and Technology in Computer Science Education","volume":"8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-06-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131309164","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}
L. Thomas, Carol Zander, Chris W. Loftus, Anna Eckerdal
We replicate a study and extend previous research that examined graduating students' achievement and understanding when asked to "produce a design". In this paper, we examine software designs produced by students at an earlier stage in their undergraduate studies -- the midpoint. We were looking for characteristics of the development of skill at software design as students progress through the curriculum. These students did about as well as graduating students from the same institution in terms of the quality of their software designs, although they failed to produce as many complete designs. In addition to attributes uncovered in previous research, a new design attribute was noticed -- meaningful links between static components. We raise the question of where GUI designs fit in the area of software design. We were also looking for evidence that mastering software design is a Threshold [8] that could be seen in development in this earlier cohort. There was some evidence for this, and the identified design attributes provide an indication of the sub-skills that need to be mastered. The paper concludes with some implications for the teaching of software design.
{"title":"Student Software Designs at the Undergraduate Midpoint","authors":"L. Thomas, Carol Zander, Chris W. Loftus, Anna Eckerdal","doi":"10.1145/3059009.3059016","DOIUrl":"https://doi.org/10.1145/3059009.3059016","url":null,"abstract":"We replicate a study and extend previous research that examined graduating students' achievement and understanding when asked to \"produce a design\". In this paper, we examine software designs produced by students at an earlier stage in their undergraduate studies -- the midpoint. We were looking for characteristics of the development of skill at software design as students progress through the curriculum. These students did about as well as graduating students from the same institution in terms of the quality of their software designs, although they failed to produce as many complete designs. In addition to attributes uncovered in previous research, a new design attribute was noticed -- meaningful links between static components. We raise the question of where GUI designs fit in the area of software design. We were also looking for evidence that mastering software design is a Threshold [8] that could be seen in development in this earlier cohort. There was some evidence for this, and the identified design attributes provide an indication of the sub-skills that need to be mastered. The paper concludes with some implications for the teaching of software design.","PeriodicalId":174429,"journal":{"name":"Proceedings of the 2017 ACM Conference on Innovation and Technology in Computer Science Education","volume":"52 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-06-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131654960","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}
Students learning Structured Query Language (SQL) at higher education often involves solving problems on paper, often viewed as a sub-optimal and non-interactive method in facilitating the learning of SQL, as witnessed first-hand. This poster will summarize an alternative learning method in the form of an interactive web application which was developed to not suffer from the shortcomings seen in paper-based learning. The application presents each user a personalized set of dynamically constructed problems each focusing on a certain aspect of SQL standard, to which the user can attempt to solve receiving detailed feedback for incorrect attempts.
{"title":"testSQL: Learn SQL the Interactive Way","authors":"Joshua License","doi":"10.1145/3059009.3072991","DOIUrl":"https://doi.org/10.1145/3059009.3072991","url":null,"abstract":"Students learning Structured Query Language (SQL) at higher education often involves solving problems on paper, often viewed as a sub-optimal and non-interactive method in facilitating the learning of SQL, as witnessed first-hand. This poster will summarize an alternative learning method in the form of an interactive web application which was developed to not suffer from the shortcomings seen in paper-based learning. The application presents each user a personalized set of dynamically constructed problems each focusing on a certain aspect of SQL standard, to which the user can attempt to solve receiving detailed feedback for incorrect attempts.","PeriodicalId":174429,"journal":{"name":"Proceedings of the 2017 ACM Conference on Innovation and Technology in Computer Science Education","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-06-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133273116","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}
Visualizing algorithms, such as drawings, slideshow presentations, animations, videos, and software tools, is a key concept to enhance and support student learning. A typical visualization of an algorithm show the data and then perform computation on the data. For instance, a standard visualization of a standard binary search on an array shows an array of sorted numbers and then illustrate the action of the algorithm in a step-by-step fashion. However, this approach does not fully capture the computational environment from the perspective of the algorithm. Specifically, the algorithm does not "see" the full sorted array, but only the single position that it accesses during each step of the computation. To fix this discrepancy we introduce the emph{immersive principle} that states that at any point in time, the displayed information should closely match the information accessed by the algorithm. We give several examples of immersive visualizations of basic algorithms and data structures, discuss methods for implementing it, and briefly evaluate it.
{"title":"Immersive Algorithms: Better Visualization with Less Information","authors":"P. Bille, I. L. Gørtz","doi":"10.1145/3059009.3072972","DOIUrl":"https://doi.org/10.1145/3059009.3072972","url":null,"abstract":"Visualizing algorithms, such as drawings, slideshow presentations, animations, videos, and software tools, is a key concept to enhance and support student learning. A typical visualization of an algorithm show the data and then perform computation on the data. For instance, a standard visualization of a standard binary search on an array shows an array of sorted numbers and then illustrate the action of the algorithm in a step-by-step fashion. However, this approach does not fully capture the computational environment from the perspective of the algorithm. Specifically, the algorithm does not \"see\" the full sorted array, but only the single position that it accesses during each step of the computation. To fix this discrepancy we introduce the emph{immersive principle} that states that at any point in time, the displayed information should closely match the information accessed by the algorithm. We give several examples of immersive visualizations of basic algorithms and data structures, discuss methods for implementing it, and briefly evaluate it.","PeriodicalId":174429,"journal":{"name":"Proceedings of the 2017 ACM Conference on Innovation and Technology in Computer Science Education","volume":"96 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-06-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115436159","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}
This article discusses an emerging phenomenon of streaming programming to a live audience who in turn can interact with the streamer. In essence, this means broadcasting the programming environment and typically a web camera feed of the streamer to viewers. Streaming programming bears many similarities with live-streaming playing of video games, which has become extremely popular among gamers over the recent years. In fact, streaming programming often use the same web services as streaming gaming, and the audiences overlap. In this article, we describe this novel approach to programming and situate it in the broader context of computer science education. To gain a deeper insight into this phenomena, we analyzed viewer discussions during a particular programming stream broadcasted during a game programming competition. Finally, we discuss the benefits this approach could offer to computer science education.
{"title":"Programming as a Performance: Live-streaming and Its Implications for Computer Science Education","authors":"Lassi Haaranen","doi":"10.1145/3059009.3059035","DOIUrl":"https://doi.org/10.1145/3059009.3059035","url":null,"abstract":"This article discusses an emerging phenomenon of streaming programming to a live audience who in turn can interact with the streamer. In essence, this means broadcasting the programming environment and typically a web camera feed of the streamer to viewers. Streaming programming bears many similarities with live-streaming playing of video games, which has become extremely popular among gamers over the recent years. In fact, streaming programming often use the same web services as streaming gaming, and the audiences overlap. In this article, we describe this novel approach to programming and situate it in the broader context of computer science education. To gain a deeper insight into this phenomena, we analyzed viewer discussions during a particular programming stream broadcasted during a game programming competition. Finally, we discuss the benefits this approach could offer to computer science education.","PeriodicalId":174429,"journal":{"name":"Proceedings of the 2017 ACM Conference on Innovation and Technology in Computer Science Education","volume":"178 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-06-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115343904","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}
This poster presents a plan for a first-semester freshman computing course based on Open Organization principles using humanitarian organizations as the context. The goal of the course is to instill engagement with learning in students from the beginning of their academic careers when they are psychologically invested in their learning and more likely to internalize the learning. The anticipated outcome is students who are motivated, engaged, and able to handle the rapid rate of computing change in today's society.
{"title":"A Course Based on Open Organization Principles","authors":"H. Ellis, G. Hislop","doi":"10.1145/3059009.3072998","DOIUrl":"https://doi.org/10.1145/3059009.3072998","url":null,"abstract":"This poster presents a plan for a first-semester freshman computing course based on Open Organization principles using humanitarian organizations as the context. The goal of the course is to instill engagement with learning in students from the beginning of their academic careers when they are psychologically invested in their learning and more likely to internalize the learning. The anticipated outcome is students who are motivated, engaged, and able to handle the rapid rate of computing change in today's society.","PeriodicalId":174429,"journal":{"name":"Proceedings of the 2017 ACM Conference on Innovation and Technology in Computer Science Education","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-06-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115261841","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}