Program Overview

Friday May 3, 2019

07:45 - 08:50 Registration and Light Breakfast
(ICT Atrium)
08:50 - 09:00 Welcome and Opening Remarks
(ICT 114)
09:00 - 10:00 Innovation and Best Practice in the Teaching and Learning of CS
Colleen Lewis
(ICT 114)
10:00 - 10:45 Break
(ICT Atrium)
10:45 - 12:00 Paper Session: Novel Instructional Practices
(ICT 114)
Workshop: Electronic Grading
(ICT 116)
12:00 - 13:30  
Lunch
(ICT Atrium)
Phidgets Inc: Take Coding to the Next Level
(12:45 - 1:15, ICT 116)
 
13:30 - 15:15 Paper Session: Software and Hardware Tools
(ICT 114)
Workshop: Dialing up the Active Learning in your Classroom
(ICT 116)
15:15 - 16:00 Break
(ICT Atrium)
16:00 - 17:00 Panel: Are Textbooks Dying?
(ICT 114)
17:15 - 17:45 WCCES AGM
(ICT 114)
18:00 - 20:00 Dinner
(Dining Centre Blue Room)
Doors open at 18:00. Dinner will be served at 18:15.

Saturday May 4, 2019

08:00 - 08:55 Registration and Light Breakfast
(ICT Atrium)
08:55 - 09:00 Welcome Back
(ICT 114)
09:00 - 10:00 Social Interaction and Critical Incidents: Students becoming Computer Scientists at University
Robert McCartney
(ICT 114)
10:00 - 10:45 Break
(ICT Atrium)
10:45 - 12:00 Paper Session: Curriculum Snapshots
(ICT 114)
Spatial Computing in Industry + Classroom
(ICT 116)
12:00 - 13:30 Lunch
(ICT Atrium)
13:30 - 15:00 Paper Session: Short Papers and Nifty Assignments
(ICT 114)
15:00 - 15:15 Closing Remarks
(ICT 114)

Program Details

Friday May 3, 2019

Innovation and Best Practice in the Teaching and Learning of CS
Colleen Lewis
McGregor-Girand Associate Professor of Computer Science, Harvey Mudd College
09:00 - 10:00 (ICT 114)

There is growing demand for computer science (CS) at the college and pre-college levels. Yet the field of CS education, like CS itself, is relatively young. This raises concerns about the quality of instruction available to CS students. What questions do we need to answer about how to make CS interesting and accessible for all students? Education researchers studying older fields like math or reading have identified concepts such as place value and phonics that are fundamental to learning in their respective domains. Rather than starting from scratch, CS educators should look to research in these other fields to advance the teaching and learning of CS. In this talk, I will discuss examples of insights from these other domains and their implications for CS teaching and learning.

Paper Session: Novel Instructional Practices
10:45 - 12:00 (ICT 114)
Session Chair: Charles Hepler, Mount Royal University

Adapting the "Unessay" for Use in Computer Science
John Aycock, Hannah Wright, Jannik Hildebrandt, David Kenny, Nicole Lefebvre, Mark Lin, Maria Mamaclay, Shanel Sayson, Aidan Stewart and Amy Yuen, University of Calgary

The "unessay" is an extremely open-ended form of assignment that has primarily seen use in the humanities. This paper is an experience report discussing how a traditional computer science programming assignment was replaced with a suitably-adapted unessay assignment. We present the assignment specification, assessment criteria, as well as three sample submissions. Importantly, the experience is captured from multiple perspectives: the instructor's, as well as firsthand reflections from the students who created the three submissions.
Link to Paper

Be it Resolved: Debate Makes Learning Computer Science a Lifelong Experience
Alex Aravind, University of Northern British Columbia

In a recent study involving 17,000 post-secondary students in the United States and Puerto Rico, within STEM disciplines, computer science scored relatively low in students' retention rate. Among the students registered in a STEM discipline, less than one half obtained their degree in that discipline (maximum (49%) in engineering). Among the students registered in computer science, only 31% (the minimum within STEM) stayed to the end to get their degree. In another angle, recent surveys found that graduates in computer science are lacking in many areas, including technical abilities, personal skills, and professional qualities. The widespread complaint from many industries, if not all, is that we are not graduating students with the skills they need for their careers. These two observations raise serious concerns about (or at least challenge us to rethink) the way computer science is taught in our universities.

The contribution of this paper is a step in the direction of addressing the concerns described above. We advocate a radical change in the computer science education; it must gradually reduce lecture-dominated passive learning and replace it with suitable active learning techniques. Particularly, we make our case by sharing the experience of incorporating debate along with technical writing in highly technical computer science subjects such as computer architecture, operating systems, and concurrent programming, distributed systems, etc.
Link to Paper

Reforming a Database Course to Address Cognitive Load by Using Worked Examples
Edwin Knorr, University of British Columbia

This paper is an experience report about a shift from traditional lecturing and homework to a partially-flipped model where graded homework was largely eliminated and replaced by more full-length exams. The course in question is a senior database course dealing with internals of relational database management systems. It is a multi-year study. Due to the cognitive load of many of the topics in this course, we shifted to a course delivery model that used an abundance of worked examples, and increased the level of active learning in the classroom. Students were surveyed for their opinion of the changes. Students were skeptical when the change was being considered; however, since then, the students are overwhelming in favor of the revised model. We discuss cognitive load theory and worked examples, and how they contribute to learning in the course. Several analogies between human memory and the storage hierarchy of a computer system are presented.
Link to Paper

Workshop: Electronic Grading
Donald Acton, University of British Columbia and Celina Berg, University of Victoria
10:45 - 12:00 (ICT 116)

As class sizes grow with large enrolments for Computer Science, providing quick and consistent feedback on assessments becomes more and more challenging. Automated approaches to support grading, and grading management, have been improving. There are now a range of options from scanning of hand graded exams to full featured grading management products like Crowdmark and Gradescope. This workshop will compare/highlight some of the advantages, disadvantages and challenges associated with using some of these tools based on the presenters' experiences.

For each of these approaches, presenters will describe the integration of this support into a manual grading workflow process including: preparation, rubric development and editing, grading and grades analysis. Presenters will highlight the features and challenges of each approach in the context of concrete grading examples from both the student and instructor perspectives. The examples used will be drawn from first through fourth year courses with enrolments ranging from 80 to 600 in single and multi-section courses.

This workshop will be interactive and largely hands-on, beginning with a short overview of approaches and culminating with a summary of tradeoffs and lessons learned through the presenters' experiences. Although not a requirement, to get the most out of this workshop attendees should bring a laptop, and wireless device with a camera and email access to be able to fully participate in the planned activities.

Phidgets Inc: Take Coding to the Next Level
Lucas Pacentrilli
Software Engineer and Education Director, Phidgets, Inc.
12:45 - 1:15 (ICT 116)

Phidgets are professional tech tools used by thousands of engineers, researchers and programmers worldwide. In this session, you'll learn about Phidget Inc.'s new educational tools that are being introduced to computer science students across Canada.

Paper Session: Software and Hardware Tools
13:30 - 15:15 (ICT 114)
Session Chair: John Aycock, University of Calgary

Jupyter Notebook in CS1: An Experience Report
Michael Zastre, University of Victoria

Jupyter Notebook is currently used as the programming environment for labs and assignments in a CS1 course at the University of Victoria. Some motivation for this choice is given, and the paper then acts as an experience report with a specific focus on the way the environment helps and hinders teaching and learning of Python 3, specifically for new programmers.
Link to Paper

OATMEAL: Hearty recipes to encourage rigorous testing
William Bird, University of Victoria

The development of testing and debugging skills is an important part of the curriculum of early CS courses. However, it can be difficult to motivate students to develop disciplined and thorough testing protocols for their own code. This article describes a new online tool for displaying assignment testing results to students, and summarizes several experiments in developing programming assignments which encourage rigorous testing by leveraging the spirit of competition.
Link to Paper

The Creation of a Low-cost Raspberry Pi Cluster for Teaching
Kevin Doucet and Jian Zhang, Texas Woman's University

Parallel programming is a computing model in which the computations are run on multiple processors simultaneously. In order to teach or learn parallel computing, there is a need for a computer system on which parallel programs can be executed. One such computing system is cluster computer in which a group of individual computers networked together to run multiple processes concurrently. Providing step-by-step instructions on building a cluster computer using 20 Raspberry Pi 3s, this experience report describes a low-cost cluster for teaching parallel computing in the undergraduate and high-school computing classrooms. The main contribution of this report is the detailed explanation on the software configuration including MPI (Message Passing Interface) when setting up the cluster. The MPI library described in this paper is Open-MPI.
Link to Paper

Spot the Learning: Heatmaps for Learning Java
Leanne Wu, University of Calgary

Heatmaps generated by student input can be used in an exercise to help students understand their progress in learning a new programming language.
Link to Paper

Immediate Feedback Collaborative Code Tracing
Jun Zheng, Sohee Kang and Brian Harrington, University of Toronto

The Immediate-Feedback Collaborative Assessment Tool (IFCAT) is a web-based application originally designed to replace scratch-card based immediate feedback multiple choice quizzes. In this work, we detail IFCAT's code tracing ability, which allows for line-by-line immediate feedback of code tracing questions. This allows for scaffolded questions whereby subsequent questions on a test build upon previous results, without the danger of cascading errors caused my small mistakes. IFCAT also allows for think-pair-share and driver-passenger based collaborative assessment, and can be used on mobile devices for easy classroom integration.
Link to Paper

Workshop: Dialing up the Active Learning in your Classroom
Jennifer Campbell and Diane Horton, University of Toronto
13:30 - 15:15 (ICT 116)

Active learning has been shown to improve outcomes. In this workshop, we will share our experiences with active learning in four core computer science courses from CS1 to third year and with class sizes from 120 to 470. We will discuss fully flipped courses, as well as others that were ``semi-flipped", and why. We will address practical issues such as doing active learning in ill-suited lecture halls, getting student buy-in, deciding what course activities to grade, and using TAs to assist in the classroom. We will provide specific examples of our own active-learning activities, including some that have been very effective, and others that have not. We will also address the challenge of designing the out-of-class activities that prepare students and create time for active learning in class.

Participants will have a chance to participate in some activities from our own classrooms, to share some of their own, and to identify and discuss principles on which we can base decisions such as what course content is best suited to be learned in class vs outside of class, and what topics to prioritize for active learning.

This workshop is suitable for those who want to simply dial up the amount of active learning in their classroom, as well as those interested in investing in a more significant course redesign to a semi or fully flipped format.

Panel: Are Textbooks Dying?
Donald Acton, University of British Columbia, Diana Cukierman, Simon Fraser University and Oluwakemi Ola, University of British Columbia
16:00 - 17:00 (ICT 114)

While the use of traditional textbooks has declined, the proliferation of free digital academic content is changing the academic sphere. The rising cost of conventional textbooks coupled with the cheaper and more diverse digital options has prompted some instructors to drop textbooks altogether. Active learning, blended classrooms, and the use of MOOCs have also changed classroom dynamics so that many schools have opted for pre-lecture materials that include less reading and more watching of short videos that serve as mini-lessons. Do these trends spell the death of textbooks?

As instructors in the computer science domain, we have noticed that most of the courses we teach rely more on digital materials. Digital materials, such as interactive online books, videos, and tools, allow for a more individualized learning experience. Some of these tools allow students to solve problems within them and receive automatic feedback. While the effectiveness of the new teaching materials has been evaluated, there has not been a comprehensive look at how replacing textbooks impacts computing education. This panel will provide the opportunity to discuss and reflect on the changing landscape of educational materials and what that might mean for instructors. In particular, the panelists will discuss and engage with the audience on varying issues related to the decreased use of traditional textbooks including:

Saturday May 4, 2019

Social Interaction and Critical Incidents: Students becoming Computer Scientists at University
Robert McCartney
Associate Professor, University of Connecticut
09:00 - 10:00 (ICT 114)

The experience of a computing student at University involves a number of things: taking classes, doing assignments, interacting with other students, seeking employment, and a lot of other things that influence the student's development toward graduation. Some of these experiences, such as required courses, are shared by all the students; others, like studying abroad or doing an internship at a specific company, are more individual. In any case, the "same" experiences may affect students differently.

In this talk, I will discuss results from a longitudinal study of students studying computer science at the undergraduate level. Through a series of interviews, we observed the development of students throughout their years at University, and have identified factors that influenced the students along the way. Of particular interest were students' social interaction as they learned, the sorts of critical incidents that affected them, and their shifts in identity from novice to graduate.

Paper Session: Curriculum Snapshots
10:45 - 12:00 (ICT 114)

Designing CS1 Programming Course for Mixed-Ability Class
Abdallah Mohamed, University of British Columbia, Okanagan

First year programming-courses attract a diverse crowd of students. In the same course, we often get Computer Science (CS) and non-CS students who bring mixed-abilities and different learning needs to the classroom. Teaching the same material to all of these students present an interesting challenge to the instructor. This paper introduces a successful design of a CS1 programming course at the University of British Columbia - Okanagan. This design incorporated several teaching strategies, such as the partially-flipped classroom model and pair-programming, which were used to teach programming fundamentals by building animations and games using Processing, an open-source language that uses simplified Java syntax in a visually engaging environment. Initial results after applying the new design show improved class average grade, increased pass-rate, and higher student engagement and satisfaction.
Link to Paper

Experiences in Simulating a Software Product Team for a MOOC
Kenny Wong, Morgan Patzelt, Bradley Poulette and Rus Hathaway, University of Alberta

A Massive Open Online Course (MOOC) is a popular way for universities to deliver quality course content to a global audience, but is normally geared toward individual learners. On-campus courses, however, can allow for software projects involving team dynamics and dealing with customers and other stakeholders, but is limited in scale on the number of such instances. How can thousands of MOOC learners each appreciate the challenges of being a product manager working with a software development team? This paper describes a simulated environment and team to mimic these situations for a MOOC learner.
Link to Paper

Streamlining Computer Science Curriculum Development and Assessment using the New ABET Student Outcomes
Steve Hadfield, Troy Weingart, Joel Coffman, David Caswell, Barry Fagin, Traci Sarmiento and Paul Graham, US Air Force Academy

Recent updates to the ABET accreditation body's Criteria for Accrediting Computing Programs provide opportunities for program design and assessment efficiency and effectiveness improvements. An exploration of these opportunities resulted in a re-examination of our Computer Science program design. The resulting changes streamlined the program's management and assessment process while improving its effectiveness in maintaining a robust and relevant program. This paper documents the recent ABET changes and describes how the results of these changes further improved an already successful Computer Science program.
Link to Paper

Spatial Computing in Industry + Classroom
Thomas Lewis
Principal Cloud Advocate Lead for Academic + Spatial Computing, Microsoft
10:45 - 12:00 (ICT 116)

Called by many names such as Augmented Reality, Virtual Reality and Mixed Reality, Spatial Computing is the intersection of our digital world with the real world. How is industry thinking about it and using it today? How do we use it in the classroom? How do we prepare students for the next wave of software and hardware development? In this session, Thomas will discuss how Microsoft is developing spatial computing as the next generation of applications, the ways it is being used, and how it is starting to impact classrooms and the ways we teach students.

Paper Session: Short Papers and Nifty Assignments
13:30 - 15:00 (ICT 114)

A Statistical Analysis of Drop Rates in Introductory Computer Science by Gender and Partial Grade
Jikai Long and Brian Harrington, University of Toronto

University level introductory computer science courses have a notoriously high drop rate. Many students who aim to pursue CS education fail to complete their first semester. This trend holds across a wide variety of institutions, courses, and countries. In this study, we collect data from over 4000 students enrolled in an introductory course over a 5 year period in order to analyze potential factors that affect which students are more likely to drop the course. In particular, this work focuses on gender, international student status, and course performance up to the drop date.

The data for each student includes performance on assignments and term tests as well as weekly exercises which allow us to create a temporal view of students and analyze their partial grade at the time they stopped participating in the course. We find that there are slight differences in the probabilities of dropping for lower performing students by gender, the results are not statistically significant. Furthermore, we find virtually no difference in students who, up to the drop date, are receiving passing marks by either gender or international student status.
Link to Paper

Casting a Wider (Neural) Net: Introducing Data Science and Machine Learning to a Larger Audience
Piper Jackson, Thompson Rivers University

A presentation introducing foundational concepts related to Data Science and Machine learning was given five times over a one year period to audiences with different backgrounds. This report summarizes the successes and failures in delivering this material. Insights about the topic and useful teaching resources are presented.
Link to Paper

A Mixed-Methods Study of Novice Programmer Interaction with Python Error Messages
Rachel D'Souza, Mahima Bhayana, Marzieh Ahmadzadeh and Brian Harrington, University of Toronto

The ability to interpret error messages in order to find and fix bugs is an essential skill for novice programmers. Unfortunately, the technical language of most error messages can hinder the progress of CS1 students and can lead to feelings of confusion and frustration. A potential intervention for CS educators is the use of enhanced error messages that utilise natural-language geared towards novice learners, but the current discourse in CS Education regarding benefits of such messages is inconclusive. In this paper, we describe a planned, semi-controlled experiment running parallel to a CS1 course at the University of Toronto Scarborough. The study aims to build upon existing work in quantifying the effects of enhanced error messages by incorporating additional quantitative metrics, usability surveys, student feedback, and semi-structured interviews. The additional methods serve to measure not only the effects on error recovery, but student satisfaction, sense of frustration and overall attitude towards error messages and debugging.
Link to Paper

Learning-focused TA Training on a Budget
Jacqueline Smith, University of Toronto

Teaching assistants are critical to the student experience, especially in large computer science courses, where they may be the only teaching staff students interact with directly. However, institutional restrictions on TA work, and practical limits on instructor time mean that TA training needs to be cost-effective, maximizing impact on the quality of TA work while minimizing instructor and TA time required.

In this talk, I will share my experience with TA training that aimed to improve the quality of the student experience in our CS1 course, within a limited number of TA contract hours. This training focused on learning, both from the point of view of the students learning the course content, and the TAs learning to teach. While I led this training for TAs in a CS1 course, many components of it could be generalized to other courses, or to general TA training.
Link to Paper

Nifty Assignment: Problem Solving Workshop
Hillary Dawkins, George Chapman-Brown and Judi McCuaig, University of Guelph

Problem solving is a crucial skill for computer science students to master. Most instruction in problem solving either assumes latent uptake (through practice with course materials), or, when explicit, is presented in parallel with new course material (requiring high cognitive overhead). We present an assignment, designed as a one-day workshop, which aims to explicitly teach problem-solving skills using simple programming tasks. Preliminary trials of the workshop show promising student engagement.
Link to Paper
Link to Assignment Materials

Nifty Assignment: Poetry Form Checker
Paul Gries, Jennifer Campbell, Daniel Zingaro and Thomas Fairgrieve, University of Toronto

Limericks, sonnets, haiku, and other forms of poetry each follow prescribed patterns that give the number of lines, the number of syllables on each line, and a rhyme scheme. For example, limericks are five lines long; the first, second, and fifth lines each have eight syllables and rhyme with each other; and the third and fourth lines each have five syllables and rhyme with each other.

The Poetry Form Checker CS1 assignment (http://www.cs.ubc.ca/wccce/Nifty/2019/Poetry/) has students write code that reads poems from files and determines whether they are properly formed, including having the right number of syllables and the proper rhyme scheme for a particular poetry form such as a limerick or a sonnet.

We specify a file format for describing poetry forms, including the number of syllables on each line and the rhyme scheme.

The assignment makes use of the CMU Pronouncing Dictionary (http://www.speech.cs.cmu.edu/cgi-bin/cmudict), which provides word pronunciations using a plain-text format that includes syllabic stress levels.

This assignment is suitable for the last assignment in a CS1 course, and has students manipulate files, dictionaries, lists, and strings.
Link to Paper
Link to Assignment Materials