Abstracts

Both Lighting Talk and Poster

Various definitions of computational thinking (CT) have been developed and applied to educational settings, and most of those definitions acknowledge that CT refers to a person’s ability to solve problems by drawing on computer science concepts and tools. In our framework, we apply six components (syntax, data, representation, algorithm, efficiency, and transfer) to describe CT as revealed in problem solving. One challenge of using the construct of CT in educational research is how to assess it as it can be applied in a variety of contexts including everyday practices and multiple aspects of CT may work together in solving the same problem. Popular forms of assessment (paper-and-pencil test or an online multiple-choice test) fall short of capturing students’ complex problem solving processes. To address the challenge, we developed an online assessment with multiple types of items that are able to record student actions in solving given problems with timestamps, which offers the possibility of mining process data during and after. We applied this assessment as the pre/posttest for a week-long robotics curriculum for 130 5th graders. By using extracted measurements based on our framework components and applying certain supervised and unsupervised machine learning algorithms as well as visualizations, we identified, in our preliminary analyses, several interesting patterns on how students leverage their CT skills in solving given problems. For example, students adopted various paths in reaching similar or the same answer; they could be clustered into groups such as minimum trial, random trial and error, definite trial and error, and efficient solvers. Different switching patterns among certain CT components could predict the success rate in solving a problem. For instance, the frequency of going back and forth between alternative representations (sketch and code) in one item could differentiate successful solvers from poor performers.

Resigning the Coursework of a Software Engineering ClassXuguang Chen, Saint Martin’s University

CSC446 Software Engineering: Analysis and Design is an introduction course for undergraduate students (especially senior students), offered in the Department of Computer Science, Saint Martin’s University (SMU). Its coursework is redesigned and the new design will be used in Fall 2017. Because the size of a class in SMU is usually small, it is difficult to quickly evaluate the effectiveness of the new design. Thus, the author is actively seeking collaborators who also can use the coursework designed for CSC446 in his or her software engineering class.

Similar to software engineering courses offered in other universities, CSC446 included one term project, several assignments, one midterm exam, and one final exam. The project was designed by the instructor, simulating the operations and functions of a real-world system (e.g., simulating an online library system or an online store). Based on the feedback from the students and author’s experience, such a design has several problems as described on the poster. So, CSC446 was revised, in which, other than finishing a series of mini assignments and quizzes, the students simultaneously work on two projects for different purposes from the beginning of the semester.

In the new design, each topic covered in class is delivered to the students in three steps. Firstly, the instructor explains the topic with examples. The students then understand/review the topic through quizzes in class and practice its applications in assignments, and finally apply it to their projects. One project comes from the instructor’s research area, but tailored for the class. It helps students acquire research experience and better understand skills and techniques needed for developing a real-world software. The other is directly selected from industry, but tailored by the instructor and owners. The students can accumulate experience of developing a real-world software in an industrial development environment through this project.

Identifying the Needs of the CS Ed Community in the USLeigh Ann DeLyser, CSNYC/CSforAllJumee Song, CSNYC/CSforAll

Public support for CS education has caused a surge in the number of schools and informal education programs that are offering CS classes, and as a result there are more students learning CS now than five years ago. As more districts adopt CS education, we risk widening existing gaps in access and opportunity for our students, particularly from underrepresented groups. In September of 2016, CSNYC launched the CSforAll Consortium, to be a national-level leadership organization to ensure that equity and inclusion remain top priorities within CS education implementation.

In order to better understand the needs of the CS education community, the CSforAll Consortium conducted a needs assessment of the early consortium membership. The needs assessment was conducted in two phases, an open ended question on the consortium membership form, and a series of structured interviews with focus groups from the consortium membership. Data was collected from 326 member forms and 150 members participated in focus groups.

Each open ended question response was reviewed and assigned a category label. Categories were derived by a content analysis method to be described in the poster/presentation. The categories from the open ended questions were used to inform structured interview questions for the membership. Interview notes and videos were analyzed and new categories were derived based upon a similar content analysis method.

To connect the program of study to the ICER community, the presentation will share the results of the analysis through discussion of the categories and alignment with ICER community themes and research. In the poster session, the poster will engage the ICER community in reflection of the data and provide opportunities for the community to provide insight and feedback.

The field is having difficulty spreading computer science (CS) education because of a shortage of teachers with CS background. With our five-year, NSF-funded grant, we are studying how high school teachers develop the knowledge needed for effective CS teaching through participation in the professional development (PD) program TEALS. TEALS is an on-the-job PD program that pairs high school teachers with technology industry volunteers to co-teach introductory CS courses. As part of our study, we are asking: How can we measure the CS teaching knowledge educators develop through this program?

Pedagogical content knowledge (PCK) describes the knowledge of student understanding and teaching strategies educators draw upon for effective instruction [1]. Our work explores how we can measure computer science PCK among experienced teachers new to the discipline. We have created the CS PCK instrument to assess teachers’ PCK related to three topics commonly covered in introductory courses: algorithms, variables, and control structures.

We administered the CS PCK instrument at the beginning of the school year to 80 teachers and volunteers participating in TEALS and we are currently collecting data from an end-of-year administration.

We will present our instrument design, coding process (which involves a comparison of existing PCK codes from the literature and codes we developed ourselves), and preliminary results from both administrations of the instrument. Based on the responses analyzed so far, some prompts elicited primarily CS content knowledge while others elicited statements that lie on the boundary between general pedagogical knowledge and pedagogical content knowledge specific to CS. We would like to solicit feedback from the ICER community around our instrument design and coding schemes.

Our project, Integrated STEM and Computing Learning in Formal and Informal Settings for Kindergarten to Grade 2, is an NSF-funded research effort to better understand the development of Computational Thinking (CT) in young learners. The project is part of the larger STEM+C initiative to blend computational thinking with STEM education and computer science for all. The end goal is to evaluate our existing PictureSTEM curriculum for it potential to develop CT concepts for K-2 learners, and refine the curriculum to increase its potential for developing these competencies. The project is also developing and researching informal learning experiences like museum exhibits used to introduce CT and engineering to children and their families. Assessments of learners’ growth of CT are being developed for our research on student learning.. This includes designing and testing formal and informal learning activities that use technology to support thinking which can increase learners’ affinity for using technology to solve problems and spark interest in pursuing STEM and computer science careers. Our multidisciplinary team includes a wide variety of research interests and approaches, including qualitative observations and video case studies following students between learning environments as well as quantitative assessments of the effectiveness of learning materials. We are observing learners in the classroom, at museums, and at home to understand their developmental trajectory in learning about STEM and CT topics. In addition we conduct extensive professional development for teachers who will be adding STEM and CT topics to their existing Math, Science and Literary content using our curricular resources.

One of the challenges in working with such young learners is finding the appropriate content for the learner’s developmental level. We hope to expose all children and develop interest in CT and STEM, yet also form knowledge and skills that will aid in later learning. We plan to use a lightning talk and poster to provide new insights into developing CT in young learners and be a catalyst for discussion of our current research and find partners for future opportunities.

Towards a Tool for Understanding Pathways of Learning in MakerspacesJohanna Okerlund, University of North Carolina at CharlotteDavid Wilson, University of North Carolina at CharlotteCeline Latulipe, University of North Carolina at Charlotte

We investigate pathways of learning that happen in digital fabrication spaces. Often branded as Fab Labs, Makerspaces, or Hackerspaces, these are open-ended sites for making, sharing, and collaborating. While each space is different, they largely share common values: democratizing access to tools for making, sharing skills and perspectives, and general enthusiasm for all types of making.

The philosophy of these spaces aligns with pedagogical theories such as constructionism [2]. They potentially provide unique learning opportunities related to Computer Science in particular due both to the computation behind the digital fabrication tools as well as the potential to design novel computer interaction. However, other than a promise, we do not have a language with which to talk about the learning and growing that happens or a systematic way to understand the experiences of different types of people in these spaces.

We present a preliminary set of categories of learning that we plan to use as the basis of a framework to study Makerspaces. The categories draw upon pedagogical theories and documented frameworks others have used to discuss open-ended making environments and activities [i.e. 1, 3, 4]. The categories focus not only on skills and processes learned, but also on identity development, exposure to different perspectives, and self-efficacy. We also present details on the means for collecting data, especially through journals, interviews, and observation.

Over the past decade, there is an increased demand for students to have hands-on labs in cybersecurity area to practice real-world problems in order enhance their online learning and thus get a better position for their future job hunting [1]. ThoTh Lab is developed to meet this demand for computing educators and institutions who wants the ultimate flexible applied-learning option for their students. Since operation began in 2012, ThoTh Lab been used by over 1400 undergraduate and graduate students for cybersecurity classes’ labs in several universities in the United States.

Unlike physical labs that need to be built by each institutions, and simulated labs offered by many publishers, we provide a virtual, yet real, teaching and learning environment using cloud computing technology. ThoTh Lab works as cloud resource management system that provides a fully web-based user interface for fast development and deployment of computer-based hands-on project running environment, which includes virtualized computers, their interconnections, and operating system environment including software on each virtualized computer. With customizable and personalized learning capability, Thoth Lab is also able to provide personalized lab-based learning materials according to students’ learning style and past lab performance.

Other than an online learning platform, ThoTh Lab is also developed and educational research in mind. During students’ lab session, the system keeps logging and assess students’ activities [2] and collected survey result to give real-time feedback and suggestions to both students and instructors, while also provided rich data for future analysis for research purpose.

Lightning Talk only

Ignorance is Not Bliss: Investing in Professional Development Models for Computing EducationThea Charles, Siegel Family Endowment

Curricula has been one of the most utilized change agents within education for over a century. However, curriculum reform has resulted in little lasting impact on the systems they aimed to improve. Curriculum based reform often leaves one important variable out of the equation – teachers. Teachers are considered by many to be the most influential factor in educational change1. Because of their influence, it would stand to reason that investments in professional development for teachers has the potential to affect true change2. Through efforts such as CSforAll, computing education has seen a significant increase in the need for teacher professional development3. What are teacher professional development initiatives that take into account – and are responsive to – the practical knowledge of teachers, the needs of students and the cultures of varying learning environments4? What are truly effective teacher professional development models that philanthropy can and should invest in?

“That’s Something I Never Expected to Deal With In A Science Class”: Teachers’ Perspectives on Integrating ComputingKristin A. Searle, Utah State UniversityColby Tofel-Grehl, Utah State UniversityVicki Allan, Utah State University

Worldwide, increased attention is being paid to engaging youth in computational thinking, but significant obstacles remain. In the United States, school district principals and superintendents cite two major obstacles to implementing computer science education: a lack of qualified teachers and a need to focus on test-related subjects [1]. One proposed solution is to integrate computing into existing STEM subjects, especially math and science. Such an approach also has the benefit of exposing students to more authentic practice in many STEM fields through the integration of computing, as highlighted in the Next Generation Science Standards. In this lightning talk and poster, we report on the experiences of 38 K-12 teachers from three states in the Intermountain West who participated in a one-week professional development about how to integrate computational thinking into science classes through the use of electronic textiles materials to learn about energy. Unlike recent work focusing on CS-focused professional development [2], this work focuses on science teachers who will integrate computing into their existing, standards-based curriculum. Data sources include pre- and post-tests of teachers’ science content knowledge around circuits and electricity, affective survey data about teachers’ beliefs about teaching technology (Tpack survey), transcripts of video recorded professional development sessions, field notes, photographs of teacher work, documentation of teachers’ attempts to comment and modify code, and reflective interviews with 10 teachers. Here, we draw primarily from teachers’ reflective interviews to better understand their experiences (successes and challenges) learning to integrate computing and science content. We reflect on how to alter the professional development model to address some of the issues raised by a focus on teachers’ perspectives.

The recent expansion of computer science (CS) education in the United States has lead to an explosion of professional development (PD) for teachers. This professional development has taken many forms, and even been conducted by several members of the ICER community. New York City has a 10-year initiative named CS4All to provide professional development to over 4,700 teachers to support the expansion of computer science into every public school in New York City. New York City’s CS4All initiative relies both on department created professional development workshops, as well as workshops by third party providers to meet the scale demanded.

In the summer of 2016, teachers participating in a PD opportunity provided feedback regarding the 15 workshops they attended. Although the workshops represented 14 different implementations of CS and spanned grades K-12, there were themes that emerged from the evaluation surveys when teachers were asked for suggestions and feedback after the workshop. In this lightning talk I will share the common themes, and describe an initiative that resulted in 3 workshops for PD providers. The lightning talk will include a description of the workshops, the topics that were voted on by the PD community, and the overall evaluation of the workshops by the PD providers who attended. It is the hope that this lightning talk will encourage the ICER community to think not only about improving resources for teachers, but also for the emerging community supporting teachers.

Poster only

Educating engineers in systems thinking and systems design thinking requires an approach to teaching them the purpose to achieve competence rather than to become specialized subject matter expert. Computational thinking approach applies algorithmic ways in the learning process of decomposing, pattern matching and effectively designing the complex engineering systems. Such an approach is proposed in this short paper. Rather than solving a whole engineering problem, students will learn how to effectively decompose a larger problem, identify meaningful patterns, and concur solutions of subproblems recursively towards systems thinking and design thinking applied in a system. In addition triangles of thinking in engineering education will be discussed.

This study examined 12 preservice teachers’ understanding of computational thinking while planning and implementing a computational thinking activity for 5th grade students. The preservice teachers were enrolled in an add-on computer education license that would certify them to teach computer courses in addition to their primary major area (11 elementary education majors, 1 secondary social studies education major). The preservice teachers were asked to develop a 2-hours instructional project for 5th grade students to build on the computational thinking concepts learned during the “Hour of Code” activity. Data was collected from preservice teachers’ initial proposals, two blog posts, video recordings of in-class discussions, instructional materials, final papers and a long-term blog post from 3 months after the intervention. Results showcased that the process of developing and implementing computational thinking instruction influenced preservice teachers’ understanding of computational thinking. The preservice teachers were able to provide basic definitions of computational thinking as a problem solving strategy and emphasized that learning computational thinking does not a require a computer. On the other hand, some preservice teachers had misconceptions about computational thinking, such as defining computational thinking as equal to algorithm design and suggesting trial-error as an approach to computational problem solving. We provide recommendations for teacher educators to use more directed activities to counteract potential misconceptions about computational thinking.

Mining Stack Overflow to Formulate a Question Asking Template: Asking Questions that are Most Likely to Be AnsweredAybuke G. Turker, University of Wisconsin, MadisonMatthew Berland University of Wisconsin, Madison

Better questions engender better answers, and, in computer programming, it can be quite hard to ask good questions. As computer science education grows, the number of students grows, and the number of questions grows. When it becomes difficult to answer every students’ technical questions in one-on-one settings, students often consult online Q&A sites (such as Stack Overflow) to ask questions. However, not all the questions get the same attention and not all the questions get answered. Stack Overflow ("SO") itself tries to help its users to ask “good question” to improve their chances of getting an answer [1]. This prompts the question: what is the "good question" and how do we teach our students to ask questions that will be helpfully answered?

In this study, we investigate the largest programming-focused Q&A site, SO, in order to better understand how to ask good questions. We analyzed 1000 questions (500 top-rated, 500 down-rated) on SO. Along with several quantitative analyses of correlations between rankings and words, we are performing qualitative data analysis on the questions. Our quantitative analysis looked at the frequencies and co-occurrences of words in 1000 questions between two groups (grouped by "up votes," a marker of "value" on SO): the 500 top-rated and the 500 "top downgraded" questions. This contrast suggested common, distinctive patterns between groups.

Our initial findings showed more phrases in common in good questions group. This suggests that bad questions do not follow as clear a pattern. On the poster, we will present example data about common words and phrases. Our next step will be formulating a template for asking good questions, then we will run an experiment to see if students using the template received more upvotes.

The lower rate of student retention in computer science (CS) education is often associated with considerable dropout and failure rates in introductory programming courses during the freshmen year. Research findings demonstrate that teaching computational thinking (CT) and problem-solving skills before or alongside traditional programming yielded significant improvements in student performance. There are also a large body of evidence supporting the idea that most students nowadays are visual learners who learn programming concept better through web-based visual and interactive environment instead of learning from traditional black board lecturing styles. Being motivated, this work focuses of our instructional approach of teaching an introductory programming course “COSC 111: Introduction to Computer Science I” in Python by integrating CT skill alongside programming by identifying key concepts and incorporating visual and interactive learning in classroom through using a flowchart-based programming environment and using a web-based interactive eBook. The potential of visualization and code simulation with instant feedbacks (students can read, edit, and run programs in dynamic flow-charts and within the pages of the eBook inside the browser) seems to be effective in aiding the understanding of CT processes and problem-solving skills of novice programmers. We also created an assessment built around CT concepts to gauge the ability of incoming students and measure the progress at the end of a semester. The course instruction in the Spring 2017 semester (3 sections of total 60 students) produces both quantitative and qualitative data from formative assessment and summative data about the experience in classes. Thus far the analysis of collected data demonstrate the statistical significance (based on t-test and Pearson’s correlation coefficient test) of the improvement between pre-and post-instructional approaches. This is a continuous and ongoing process and our instructional approach would have a significant impact to retain students in CS major.

CS0 as a General University Requirement Course: Who’s Enrolling?Gina L. Sprint, Gonzaga UniversityShira L. Broschat, Washington State University

Introductory CS education has received a copious amount of attention in recent years, particularly from efforts such as the White House’s CS for All Initiative and the Hour of Code. Because only 25% of high school’s offer CS courses (Information Technology and Innovation Foundation, 2016), often college students enroll in CS courses with little to no programming experience. Consequently, the need for a CS0 course taught at a slower pace using a more beginner-friendly programming language is growing. Students enrolling in CS0 represent a variety of programming experience levels and majors. To more successfully recruit students to CS0 and retain students as CS majors, it is important to know who are the students enrolling in CS0 and why. We present preliminary research aimed at answering such questions and providing insights on the effects of student enrollment when CS0 is offered as a general university requirement course. For the first time at Washington State University, CS0 is being offered as a University COmmon REquirement (UCORE) course satisfying the quantitative reasoning category. This transition offers a unique opportunity to research the motivations behind students’ decisions to enroll in CS0 and to track non-CS majors’ interests in CS. We present preliminary results of our investigation of CS0 students who completed an online survey (N=87) regarding topics such as reasons for enrollment and the effects of offering CS0 as a UCORE course. The poster displays our findings via aggregated student responses presented with statistics and plots; individual student testimonials sorted by student characteristics/programming experience; and colorful graphics designed to advertise CS0 and its recent transition to a UCORE course. The results and analyses presented on the poster offer insights into the types of students enrolling in CS0 to help educators recruit students of all majors into CS0 and retain them as CS majors.

Recent surveys [1] suggest that a large group of people in non-engineering roles (e.g., marketing, sales, design, management) try to learning programming on-the-job, even though they are not required to write any code. Termed as “conversational programmers”, these people are motivated to learn programming not necessarily to build artifacts or to solve computation problems, but to improve their participation in technical conversations and/or to enhance their perceived marketability. Although prior work has shown that this population exists in the context of a large technology company, several questions remain unanswered about potential conversational programmers in other settings and how and why they may actually want to learn programming.

In our research, we are investigating the prevalence of conversational programmers in a variety of different sectors and examining how and why they use different programming learning resources. We have conducted semi-structured interviews with 23 conversational programmers who have recently made attempts to learn programming on their own and who come from a variety of non-CS backgrounds and job roles (e.g., entrepreneur, HR coordinator, product manager, event manager, marketing assistant, designer, archivist). Using a grounded theory analysis approach, we are synthesizing key findings from the interviews to better understand the motivations of these diverse conversational programmers, the challenges they face in technical conversations, how learning programming helps (or does not help) their work, and their perceptions of advantages and disadvantages of using different learning resources (e.g., online tutorials, courses, videos, forums) vs. relying on colleagues or experts.

The overall goal of our research is to shed light on the unique learning needs of conversational programmers and how they differ from artifact-creation needs of other novice programmers and end-user developers.

Learning effective program design remains a nontrivial goal for novice programmers in introductory computing courses. While different courses may use different programming languages and problem domains, the underlying program-design skills are fairly common, and include selecting appropriate language constructs, composing code fragments for multiple problem tasks, and checking whether the resulting program satisfies the original problem constraints. How to Design Programs (HTDP) is an introductory computing curriculum that has been adopted in higher education institutions and some K-12 programs. While it fosters similar skills as other curricula, HTDP uses a unique pedagogy for teaching these skills using a multi-step process of program design; how students learn with HTDP remains largely unexplored in CSEd research.

We report on the first phase of a project that explores the evolution of students’ design skills in a two-course introductory sequence, as framed by their learning context (HTDP). We interviewed and conducted think-alouds with students at certain points during the course of their CS1 and through to CS2. An analysis of the CS1 data yielded a multi-strand SOLO-based framework for multiple, interrelated program design skills and the progressions of these skills, alongside several factors that are not amenable to a SOLO progression.

Research on collaborative learning, as described in studies based on learning and cognitive sciences, has shown that the acquisition of new knowledge depends greatly on how explanations of the knowledge are provided to their collaborative partners. On the other hand, there is an emerging field in Intelligent Tutoring Systems (ITS) that focuses on investigating the use of conversational agents in facilitating learners in an educational environment. This study focuses on peer learners’ ability of working together or collaborating on a concept-explanation task. We have also investigated how a Pedagogical Conversational Agent (PCA), whose role is to intervene in the learners’ conversations, can help facilitate their explanatory activities. In our previous research work, we studied different types of PCA facilitations that can influence the comprehensive performance of learners. Among others, some such facilitations can be achieving affective feedbacks [1], using multiple PCAs [2], and incorporating a PCA’s gaze gestures [3]. Currently, we are investigating how the use of these PCAs can influence learners’ communication efficiencies, through the incorporation of gaze synchronizations using eye-tracking devices.

A pilot test of survey questionnaire was completed by 39 undergraduate and graduate students. They were enrolled in two advanced-level Computer Science courses (Cloud Computing and Computer Network Security) in 2016 Fall semester at Arizona State University, and used ThoTh lab as virtual hands-on lab to complete course projects. ThoTh lab has been deployed to support Computer Science classes lab sections and is actively used by over 1400 undergraduate and graduate students since 2012.

The regression model of pilot test data (N = 39, r-squared = 0.22) reveals that the stronger students are motivated to use virtual hands-on lab, the higher learning outcome (course GPA) students might hold (p< 0.05). A negative association was found between students’ cognitive beliefs on using virtual hands-on lab and their learning outcome (p< 0.01). In future study, more students’ data will be collected to refine this structural model.

This material is based upon work supported by the National Science Foundation under Grant No. DGE-1723440.

Taxonomy of Students Code Issues in Object Oriented Programming ExerciseAmir Kirsh, Acadamic College of Tal-Aviv Yaffo

We analyze students’ exercise submissions in a second year Object Oriented programming course. Our aim is to identify the coding bugs and quality issues in order to have a better focus on the subjects that should be emphasized in class. The findings suggest that students on average understand the main principles of Object Oriented Programming and how to apply them, however they still have bad programming habits that affect their code quality. Most of these habits should have been dealt with in their first year of studies. In the talk we will present some typical examples of poorly written code and further research plans.

Students’ engagement behavior leads them to learn by increasing positive motivation during learning process[1]. Engaged students are more likely to spend more study time, and obtain better academic performance[2]. This study is to explore how students’ engagement behavior affect their learning performance in virtual hands-on lab. Engagement behavior is identified as time students investigate in educational activities that are empirically link to learning outcome[3, 4].

We collected data from 109 students in an advanced level Computer Science course in 2016 Fall semester at Arizona State University. All course projects were completed in virtual hands-on lab –ThoTh lab, which has been deployed to support Computer Science classes lab sessions and is actively used by over 1400 undergraduate and graduate students since 2012.

Data analysis results reveal that: the more time students spend on reading lab instructional material, the more likely students work longer time on lab task (r = 0.629, p < 0.01); the longer time students work on lab task, the better learning performance they might hold (r = 0.248, p < 0.01).

This material is based upon work supported by the National Science Foundation under Grant No. DGE-1723440.

Development, Application and Evaluation of Activity-Based Learning (ABL) Design Patterns in CS EducationNasrin Dehbozorgi, University of North Carolina at CharlotteMary Lou Maher, University of North Carolina at CharlotteMohsen Dorodchi, University of North Carolina at Charlotte

Active learning is encouraged in CS education to go beyond lecture-based learning to include hands on and social learning in the classroom. The challenges and issues in designing activities and forming teams are addressed by solutions that are context-dependent and are based on the personal experience of the instructor. In our research, we adopt pedagogical design patterns as a model for generalizing problems and solutions in active learning with a rationale to bridge empirical experience with research-based evidence.

This poster provides an overview of the development, application and evaluation of Activity-Based Learning (ABL) design patterns in team-based active learning settings. A multidimensional model has been developed as a comprehensive framework for the design patterns. We performed two evaluative exercises to identify and evaluate the use of our design patterns. At our first Connected Learner Summer Institute in May 2016, we held a workshop to discuss and apply our design pattern model to individual faculty experiences with active learning. In the following 2 semesters, these patterns were adapted and applied by instructors. We refined the resulting patterns into 10 ABL design patterns. We developed a concept map to show how the problems and solutions in the ABL design patterns are related to each other. The concept map also serves as a tool to navigate dynamically through different pathways in applying the ABL design patterns. At our second Connected Learner Summer Institute in May 2017 we distributed the design patterns to a new broader group of faculty engaged in active learning instruction and asked them to identify the patterns they have used. The results of this data collection will be presented visually in the poster.

Using the Sphero SPRK+ Robot to Motivate and Facilitate 21st Century Learning for K-5 StudentsMarissa Hadfield, Academy School District 20, Colorado Springs

Marissa Hadfield, Academy School District 20, Colorado SpringsDarlene McPherson, Academy School District 20Shelly Morris, Academy School District 20Victory Molina, Academy School District 20Steve Hadfield, US Air Force Academy

K-5 students learn more efficiently and effectively when their learning is motivated with an obvious practical purpose and a fun, engaging medium. In this effort, programming the Sphero SPRK+ robot provides both purpose and enjoyment to achieve a team-based, cross-disciplinary learning activity focused on the 21st Century Skills of collaboration, invention, technology literacy, self-direction, and critical thinking/reasoning. Specifically, small groups of K-5 students are asked to write a story using skills taught through their writing curriculum and then program the SPRK+ robot to act out their story across a ten lesson curriculum. The first two lessons are spent critically reading a number of stories with particular attention given to how the author develops and expresses their story using the elements of fictional writing. The next three lessons are spent writing their story as a team. The teacher uses the Socratic Method to challenge the students to deeper levels of thinking and creative invention using the incentive of programming the SPRK+ to motivate their engagement. The Write Now, Right Now curriculum (http://www.writenow-rightnow.com/) guides the reading and writing phases. With lessons six and seven, the children begin to learn how to program the Sphero SPRK+ robot via a series of small challenge tasks where they learn not only programming, but also physics; having to deal with distance equals speed times time, friction, and linear/angular momentum. Students spend the remaining lessons programming the SPRK+ to act out their story. The incremental development strategy employed for this phase focuses on team-based collaboration, trial and error problem solving, and critical thinking/reasoning skills. Qualitative assessment via pre- and post-surveys revealed across-the-board motivational improvements including enjoyment of collaboration (+23.6%), being challenged (+47.4%), and using math to tell stories (+52.4%). Motivation for programming robots went from 90% to 100%. Mikkelson Foundation and ISSAC Corporation grants funded this research.

Using Bloom’s Revised Taxonomy to Support Data-Driven Reflective LearningKyla BouldinStephen MacNeil, University of North Carolina at CharlotteCeline Latulipe

Computer Science courses build on the fundamental knowledge taught in prior classes. Therefore, it is imperative for students to have a deep understanding of the information taught in introductory courses. Currently, educators use Bloom’s Taxonomy as a guide to create learning outcomes and assignments that target higher-order thinking to ensure that students are not just memorizing but learning holistically. However, there are often discrepancies between teacher expectations and students’ actual learning experiences.

Bloom’s Taxonomy has also been used to guide student reflection and assessment. Our work leverages an interactive web-based matrix based on Bloom’s Revised Taxonomy. In the matrix, rows correspond to the types of knowledge and columns correspond to cognitive processes which cues students to reflect on multiple aspects of the activity. After each learning activity, students indicate which cognitive processes and knowledge aspects they used during the activity by filling in the matrix.

The tool is designed to scaffold student reflection and to document students’ reflective processes, but it can also be leveraged in several other ways. A heatmap view aggregates students’ responses to show a wisdom-of-the-crowds view of perceived cognition and metacognition. The heatmap may allow students to reflect on their own perceptions in the context of other students’ perceptions. Finally, instructors can use the heatmap to explore gaps between their intentions for a learning activity and students’ perceived experiences.

We have completed the implementation of this tool and are beginning to use the tool in classroom settings to see whether and how students might use such a tool for reflection. The aggregated heatmap may provide an alternative perspective for reflection based on how others in the class interpreted the learning activity. Our tool may also help us understand the variations in student meta-cognition.

Toward Understanding the Importance of Student Goals in Pair ProgrammingMehmet Celepkolu, University of FloridaKristy Elizabeth Boyer, University of Florida

Collaboration is increasingly central to computer science practice and learning. Among collaborative paradigms, pair programming has demonstrated many benefits. However, there is evidence that when students hold the goal of completing their collaborative work quickly, an imbalance between partners can arise, which eventually leads to patterns of marginalization [1]. An important open question is what facets of motivation are most influential in pair programming, and how CS learning experiences should be adapted accordingly.

This poster investigates the research question, “How can we adapt pair programming based on students’ goals for a particular learning activity?”. We conducted a study with 250 CS1 students in which we asked students to indicate their goal for that day: finishing as quickly as possible (speed) or learning as much as possible during that lab period (mastery). Half of the students were paired by matching goal, and the other half were paired randomly. We hypothesized that matching by partners’ goals would yield significant benefits in terms of learning and satisfaction. The results of quantitative comparison and a preliminary video analysis confirm that a student’s goal on a given day is important, but the evidence only confirms our hypothesis for students with a mastery goal. Through this poster, we hope to gain feedback from the ICER community on future studies that can help to further elucidate the value of adapting to student goals for the purpose of fostering equitable pair programming.

A Video Game to Teach DatabasesMario A.M. Guimaraes, Saint Martin’s University

This project describes the re-design of an existing software [1]. Database Coursewares [1-2] are typically ordered very much like traditional textbooks. Each module represents a different topic (Database Design, SQL, Transactions, Database Security) taught independently and focused on visualization (passive learning). Furthermore, they execute code and animation at the student’s pace, display different views of code/data, and associate familiar/simple code with unfamiliar/complex code.

This video game environment presents topics and challenges in a project base style. In level 1, the player is given many decisions to make as he/she moves through Obtaining Requirements, Constructing E-R Diagrams, Creating Logical Schema, Creating Tables, and Inserting/Updating/Querying Data. In level 2, the client generates a scope creep where the player needs to add more tables, alter columns of existing tables and add integrity constraints. In level 3, the database is under attack and the player has to apply Database Security techniques. In level 4, the player creates a stock market Data Warehouse by extracting data from yahoo finance.

Video Games have great potential to improve learning. Players enjoy several pedagogical features such as learning within a familiar context, problems well ordered from easy to complex, consequence of failure lowered by ability to re-play, performance viewed at all times, decision making with immediate consequences, and assessment an component (score). The project combines database courseware and video games, providing students with decision making at each phase.

How Kids Code Together: An Exploration of Dialogue between Elementary StudentsJennifer Tsan, North Carolina State UniversityKristy Elizabeth Boyer, University of FloridaCollin F. Lynch, North Carolina State University

Collaboration is an essential part of professional computer science practice and is an important part of computer science education. Many studies have shown that supporting upper-level students in pair programming helps their learning process. Previous research has suggested that children are capable of successful collaborations [2]; however, little is known about how to best support collaborative computer science learning at the elementary-school level. Recent studies have suggested important challenges such as inequity that may arise [1]. In this work, we investigate how elementary students approach pair programming and how can we better support them.

We have collected data over one year from a 5th grade computer science elective class. We collected videos of pair programming interactions, screen recordings of the students’ programming process, and the students’ completed programming artifacts. We are using the videos and screen recordings to examine the balance of dialogue and programming actions between students in a pair. We have annotated the following student actions: requesting to switch roles; switching roles; making, accepting, or rejecting suggestions; and asking for help.

Based on preliminary analysis, the ways in which students make suggestions appear to be particularly important. We are investigating the ways in which children’s suggestions are incorporated into the collaborative task, as well as the balance of talk time, driving time, and dialogue and programming actions. Through this poster presentation of initial results, we would like to solicit feedback from the community as we investigate and promote collaborative computer science learning in elementary school.

[1] Colleen Lewis and Niral Shah. 2015. How Equity and Inequity Can Emerge in Pair Programming. In Proceedings of the eleventh annual International Conference on International Computing Education Research. ACM, New York, NY, USA, 41-50.
[2] Stephanie D. Teasley. 1995. The Role of Talk in Children’s Peer Collaborations. Developmental Psychology. 31.2, 207.

Examining Expressions of Uncertainty in Dialogue during Remote Pair ProgrammingFernando J. Rodríguez, University of FloridaKristy Elizabeth Boyer, University of Florida

Collaborative paradigms such as pair programming have shown many benefits to student engagement, retention, and learning in computer science. The dialogue that partners exchange is highly influential on outcomes, but the ways in which dialogue supports (or fails to support) learning are not yet fully understood [1]. Of particular interest are expressions of uncertainty, because properly detecting and adapting to uncertainty can improve learning [2].

This study examines how expressing and resolving uncertainty unfolds during remote pair programming, a context that is increasingly prevalent in today’s learning environments. We collected textual dialogues from 27 pairs of undergraduate students collaborating remotely to complete a block-based programming task. We computed the probability of driver uncertainty being preceded or followed by other types of events. Events in which drivers expressed uncertainty as a response to their partners’ uncertainty or as an elaboration to their own questions were associated with higher scores on the given task. These events appear to correspond to clear communication between partners. In contrast, events in which driver uncertainty was followed by a partner’s question or unsnapping a code block were associated with lower task score. These events appear to correspond to leaving uncertainty unchecked. We hope this poster will inspire conversations within the ICER community on how to improve student collaboration during problem solving, and what more can we learn about computer science learning through dialogue analysis.

Understanding Novice Programmers Perceptions of their First Programming ExperienceYerika Jimenez, University of FloridaChristina Gardner-McCune, University of FloridaSara Lichtenstein, University of Florida

As novice programmers learn CS in block-based programming environments they need to understand the components of these environments, how to apply programming concepts, and how to create artifacts. As a result, students can feel overwhelmed while learning to program. These experiences can potentially lead to negative perceptions of CS and their abilities. Thus, we were interested in understanding students’ experiences as they are learning to program for the first time. We measured students’ perceived level of concentration, critical thinking, frustration, and task difficulty as they create their first program.

This lightning talk and poster present result from a preliminary study with 13 non-CS major students. In this study, students learned four CS concepts (initiation, sequencing, iterations, and sensing) from watching brief videos and then creating a Dancing Ballerina Animation in Scratch. The program was broken down into five tasks designed to help the students create a ballerina performance. Each of the tasks built upon the previously completed task and allowed students to demonstrate their understanding of the concepts as they created the animation.

Our results show that students’ perceptions of their concentration, critical thinking, frustration, and task difficulty shifted significantly on tasks 2 and 5. One possible reason for the increased levels of concentration and critical thinking is the nature of programming required for Task 2 and Task 5. Task 2 required students to apply the CS concepts they learned and to use their creativity to create the dance sequence. Task 5 required students to coordinate the ballerina’s dance sequence, music, and re-initializing the animation when they green flag was clicked. We found that as the tasks became more challenging to solve, successful students’ levels increased as they completed these tasks. While unsuccessful student’s levels started high but decreased over time due to challenges they encountered in the interface.