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:
- The current trends in computing education as it relates to course materials
- The strengths and limitations of using traditional textbooks
- The strengths and limitations of using digital content
- The challenges students face in using the different mediums
- The varying practice across institutions and disciplines
- Student expectations of learning materials
- Faculty preferences
- Suggestions for faculty gravitating towards digital content
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