{"title":"A Two-Course Sequence of Real Projects for Real Customers","authors":"Christian Murphy, Swapneel Sheth, Sydney Morton","doi":"10.1145/3017680.3017742","DOIUrl":"https://doi.org/10.1145/3017680.3017742","url":null,"abstract":"Since 2012, over 1,100 students at our institution have participated in software engineering courses in which they had the opportunity to partake in \"real projects for real customers.\" Unlike typical one-semester courses or yearlong capstones, our approach is unique in that we offer a two-course sequence in which one group of students develops the initial implementation in the first course and different students maintain and improve the code in the second. This paper presents our experiences in teaching these courses and serves as a blueprint for other educators who wish to create similar interventions for their students over a two-course sequence. In addition to describing our motivation and the structure of the courses, we discuss how we address issues of scale by using students as Project Managers and the benefits of doing so. We also present empirical evidence that the projects help students feel more confident working in groups, using the agile development process, and working with a real-world customer.","PeriodicalId":344382,"journal":{"name":"Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education","volume":"339 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":"122542240","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":"CodeBox64: A Tactile Input Modality for Block Programming (Abstract Only)","authors":"M. Paulk, Amber Wagner","doi":"10.1145/3017680.3022429","DOIUrl":"https://doi.org/10.1145/3017680.3022429","url":null,"abstract":"Many K-12 and university classrooms are now using block programming languages (e.g., Scratch, App Inventor, Code.org) to help students learn how to program. These block programming languages are popular because of their simplicity and \"tinkerability\" allowing novice users to create a project within minutes of first being exposed to the language. Unfortunately, these languages are highly dependent on the mouse and keyboard making them nearly inaccessible for those users with visual or motor impairments. This poster presents CodeBox64, a simplified input modality that is able to program block programming languages in a more tactile approach; it is a Tactile Input Modality (TIM). Because of the simplicity of CodeBox64, it allows visually impaired students to navigate the buttons and knobs with ease. CodeBox64 consists of four navigational buttons (i.e., up, down, left, right), a back button, and an enter button. It also contains an RFID sensor board that allows the user to use physical Lego blocks to execute commands of a block language. While CodeBox64 was originally developed to work with a custom, Blockly language, JamBlocks, it has the potential to work with other block languages. CodeBox64 demonstrates one possible methodology for enabling block languages to be accessible to those users with visual impairments.","PeriodicalId":344382,"journal":{"name":"Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education","volume":"117 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":"122975390","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}
Farzana Rahman, Suzanne J. Matthews, K. Shaw, A. Danyluk
{"title":"Can we really do it?: Conducting Significant Computer Science Research in Primarily Undergraduate Institutions (PUIs) (Abstract Only)","authors":"Farzana Rahman, Suzanne J. Matthews, K. Shaw, A. Danyluk","doi":"10.1145/3017680.3022347","DOIUrl":"https://doi.org/10.1145/3017680.3022347","url":null,"abstract":"Undergraduate research is a critical component of high-quality education in any discipline, including Computer Science (CS). Over the past few years, there has been a dramatic increase in CS undergraduate research activities at colleges and universities, and predominantly undergraduate institutions (PUIs) have an important role to play. Not every university has abundant resources to devote to research, and teaching-focused institutions may face the greatest challenges in this respect. Faculty at PUIs, for example, may face funding and infrastructure challenges and may find themselves stretched thin due to especially high teaching and service expectations. A frequently asked question by new faculty at these institutions is: Is it really possible to conduct meaningful research in such a fast-paced discipline as CS, while juggling a very high teaching and service load? Not only is the answer to this question \"Yes!\" but there are advantages to conducting research at a non-research institution. Faculty here has access to some of the brightest young minds who will potentially be future graduate students in research-intensive universities. They may have the freedom to do research that is too risky for graduate students. They can work on projects they are interested in, rather than those they know must work. With good time management techniques and careful selection of collaborators and student researchers, faculty here really can conduct important CS research. Thus, the focus of this BOF is to share methods that are helpful in conducting significant and meaningful CS research in a primarily undergraduate or teaching institution.","PeriodicalId":344382,"journal":{"name":"Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education","volume":"340 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":"123057948","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":"CS1: Computation & Cognition -- An Evidence-Based Course to Broaden Participation (Abstract Only)","authors":"Clifton Kussmaul","doi":"10.1145/3017680.3022402","DOIUrl":"https://doi.org/10.1145/3017680.3022402","url":null,"abstract":"This poster describes a new CS1 course on Computation & Cognition (C&C), targeted at students in psychology, neuroscience, and biology. In C&C, students learn to create and use software to imitate, model, or study processes in the brain. Topics include software development, control structures, data types, and testing, as well as key ideas in experimental design, stimulus presentation, searching, natural language processing, genetic algorithms, and neural networks. Thus, C&C enriches student understanding of content in their majors, and develops programming and computational skills in a relevant context, which should enhance subsequent research projects and career outcomes. C&C was developed with support from a 2015 Google CS Engagement grant, and incorporates research-based practices that improve student learning and help broaden participation in computing. In particular, C&C uses Process Oriented Guided Inquiry Learning (POGIL) (http://pogil.org), in which student teams work on classroom activities that are specifically designed to guide them to construct their own understanding of key concepts, and to develop process skills such as communication, critical thinking, problem solving, and teamwork. C&C also uses PsychoPy (http://psychopy.org), a FOSS tool to run psychology experiments with two interfaces -- the Builder GUI to design experiments, and the Coder IDE to write Python code. The first offering of C&C was small (3 female, 3 male) with strong ratings for the course overall, and for increasing student interest in the subject matter. In the future, we hope to add experimental paradigms and techniques, and engage more students from diverse backgrounds.","PeriodicalId":344382,"journal":{"name":"Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education","volume":"61 4","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-03-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114092753","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. Fitzpatrick, Á. Lédeczi, G. Narasimham, Lee Lafferty, Réal Labrie, Paul T. Mielke, Aatish Kumar, Katherine A. Brady
{"title":"Lessons Learned in the Design and Delivery of an Introductory Programming MOOC","authors":"J. Fitzpatrick, Á. Lédeczi, G. Narasimham, Lee Lafferty, Réal Labrie, Paul T. Mielke, Aatish Kumar, Katherine A. Brady","doi":"10.1145/3017680.3017730","DOIUrl":"https://doi.org/10.1145/3017680.3017730","url":null,"abstract":"This paper describes the design and delivery of a highly successful MOOC that uses MATLAB to teach introductory computer programming to a wide audience. The decisions behind the curriculum and assessment strategy are detailed, and the results are evaluated based on three sessions of the course that saw 80,000 active students, two million lecture views and 100,000 auto-graded programming assignment sets during the three sessions delivered in 2015.","PeriodicalId":344382,"journal":{"name":"Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education","volume":"9 6","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-03-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114122046","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}
Sierra Magnotta, Anushikha Sharma, Jingya Wu, Darakhshan J. Mir
{"title":"Creative Computing and Society: When Undergraduates Design a Curriculum for an Introductory Computing Course","authors":"Sierra Magnotta, Anushikha Sharma, Jingya Wu, Darakhshan J. Mir","doi":"10.1145/3017680.3022459","DOIUrl":"https://doi.org/10.1145/3017680.3022459","url":null,"abstract":"Understanding of computing skills and concepts is no longer viewed as optional, but is knowledge that is required to progress in several fields outside of computer science, even outside STEM fields. Despite the need for this knowledge, non-STEM majors' participation in computing courses is still lacking. This is especially true for women and other minority groups. In our work, our main motivation was creating a course at our institution, Bucknell University to make computer science more accessible to non-STEM majors on our campus. We adopted an approach of situating course design in the experiences and perspectives of undergraduate students themselves. To achieve this, the course curriculum and materials were mainly designed and created by three undergraduate students, all below the junior level, who connected course topics to a wide variety of topics outside computing. This project is based on the precept that students from varied disciplinary backgrounds and intermediate computing knowledge can provide a unique lens to articulate the needs of their fellow students. In order to serve the purpose of emphasizing creativity and society, we chose a sketch based programming language, namely p5.js (a JavaScript library which brings Processing to the web), which gives students the possibility and flexibility to create projects that are directly relevant to their own interests, while gaining a basic conceptual understanding of Computer Science","PeriodicalId":344382,"journal":{"name":"Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education","volume":"28 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":"121371154","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":"Visions of Computer Science Education: Unpacking Arguments for and Projected Impacts of CS4All Initiatives","authors":"Sara Vogel, Rafi Santo, Dixie Ching","doi":"10.1145/3017680.3017755","DOIUrl":"https://doi.org/10.1145/3017680.3017755","url":null,"abstract":"As momentum grows to expand K12 Computer Science (CS) education, associated public narratives often assume core questions about why CS should be taught to all students have been sufficiently answered. Having clarity around the core purposes that varied stakeholders are envisioning is critical to ensuring the coherence of CS4All initiatives. This study presents a framework examining the range of arguments for and projected impacts of CS education programs. Based on data drawn from a researcher- facilitated participatory knowledge building process involving 26 CS education stakeholders who articulated 161 arguments, we identify seven areas of impact present in arguments for universal CS education: (1) economic and workforce development, (2) equity and social justice, (3) competencies and literacies, (4) citizenship and civic life, (5) scientific, technological and social innovation, (6) school improvement and reform and (7) fun, fulfillment and personal agency. Findings show that individual arguments and visions for CS education often reference multiple impact areas. We intend for this framework to support reflection by CS education stakeholders to consider how their current initiatives index different ideologies about what CS4All projects are meant to achieve.","PeriodicalId":344382,"journal":{"name":"Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education","volume":"20 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":"121555402","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}
Deja Jackson, Cindi Simmons, K. Zelaya, E. Pantoja, Amber Wagner
{"title":"Hopper's Fables: A Mathematical Storytelling Adventure (Abstract Only)","authors":"Deja Jackson, Cindi Simmons, K. Zelaya, E. Pantoja, Amber Wagner","doi":"10.1145/3017680.3022430","DOIUrl":"https://doi.org/10.1145/3017680.3022430","url":null,"abstract":"Block Programming languages (e.g., Scratch, Blockly) are widely used in teaching students within K-12 classrooms and in some universities with hopes of introducing programming concepts to beginner students. The use of block programming languages in classrooms is an effort in encouraging students' interest in computer programming by utilizing Papert's \"low floor\" and \"high ceiling\" metaphor. The Hour of Code is one example demonstrating the impact block languages have in education; however, there are not many languages offering an emphasis on advancing skills in mathematics or reading while focusing on the need of students with learning disabilities. This poster describes our creation of a block language using Blockly's API. Our block language, Hopper's Fables, named after Admiral Grace Hopper, is a storytelling language based on completing interactive mathematical problems in an effort to engage students while going through the story. It is the intent of Hopper's Fables to aid elementary students with learning disabilities through enhancing their math and literacy skills, while simultaneously building the student's digital fluency and developing their computational thinking skills. Hopper's Fables is based on research of related work, which allowed for the creation of an evaluation rubric. Analyzing the characteristics of existing languages allowed Hopper's Fables to come to life. By combining Papert's \"low floor\" and \"high ceiling\" philosophy with educational foundations, Hopper's Fables will provide students with an appropriate and enchanting learning environment.","PeriodicalId":344382,"journal":{"name":"Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education","volume":"92 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":"116565137","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":"On the (Mis) Understanding of the \"this\" Reference","authors":"Noa Ragonis, Ronit Shmallo","doi":"10.1145/3017680.3017715","DOIUrl":"https://doi.org/10.1145/3017680.3017715","url":null,"abstract":"The paper presents research conducted with high school (HS) students (N=86) learning object-oriented programming (OOP) and computer science HS teachers (N=48). The focus was on students' and teachers' understanding of the this reference. Proper conceptualization of this indicates an understanding of objects in general and of the current object, and it involves various aspects of programming variants. Students' preferences as to the use of the this reference were also examined. Findings revealed a lack of understanding of both the implication and the implementation of this; only 45% of the students expressed understanding of when we must use this; only 60% expressed understanding of when not to use this, and only 24% expressed clear understanding in their definition of this. Even correct answers do not necessarily indicate conceptual understanding, rather a repetition of definitions or programming habits, or a reliance on operative aspects of the implementation. The teachers expressed a considerable lack of clarity in accurately characterizing the correctness of students' answers.","PeriodicalId":344382,"journal":{"name":"Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education","volume":"158 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":"122583431","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}
H. A. Neyem, Juan Diaz-Mosquera, J. Munoz-Gama, Jaime C. Navón
{"title":"Understanding Student Interactions in Capstone Courses to Improve Learning Experiences","authors":"H. A. Neyem, Juan Diaz-Mosquera, J. Munoz-Gama, Jaime C. Navón","doi":"10.1145/3017680.3017716","DOIUrl":"https://doi.org/10.1145/3017680.3017716","url":null,"abstract":"Project-based courses can provide valuable learning experiences for computing majors as well as for faculty and community partners. However, proper coordination between students, stakeholders and the academic team is very difficult to achieve. We present an integral study consisting of a twofold approach. First, we propose a proven capstone course framework implementation in conjunction with an educational software tool to support and ensure proper fulfillment of most academic and engineering needs. Second, we propose an approach for mining process data from the information generated by this tool as a way of understanding these courses and improving software engineering education. Moreover, we propose visualizations, metrics and algorithms using Process Mining to provide an insight into practices and procedures followed during various phases of a software development life cycle. We mine the event logs produced by the educational software tool and derive aspects such as cooperative behaviors in a team, component and student entropy, process compliance and verification. The proposed visualizations and metrics (learning analytics) provide a multi-faceted view to the academic team serving as a tool for feedback on development process and quality by students","PeriodicalId":344382,"journal":{"name":"Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education","volume":"160 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":"122933932","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}