For information and updates relating to COVID-19 and UBC’s response, visit covid19.ubc.ca.

Faculty in focus: Celina Berg on teaching Computer Science language to ESL students

­­UBC Vantage College's own Computer Science Tenure Track Instructor, Celina Berg, discusses the challenges of teaching the unique language of Computer Science to English Second Language students.

How long have you been working with Vantage College and what inspired you to join?

For as long as I can remember, I have always been energized by working with people to understand and learn new things.  Over and over in my life I ended up in teaching roles, whether it was as a peer-tutor in high school, organizing study groups during my undergrad and TAing and teaching in grad school. After completing my PhD, an opportunity arose to not just teach at UBC but also to contribute with research in teaching practices within computer science education — I knew I had found a special opportunity on my path of life-long learning through teaching.

Can you summarise your approach to teaching Computer Science at Vantage?

At Vantage College, I teach introductory programing to both engineering (APSC 160) and science students (CPSC 110).  While these courses are very different in terms of the programming language and delivery, the common challenge for students is to take a potentially ambiguous problem and to design a program that both solves the problem and is comprehensible.

These two Vantage courses are tightly tied to their direct-entry equivalents, but they're also connected to a two-hour-a-week language course (VANT 140) — one hour of lecture run by an English language instructor, one hour of tutorial run by me.  The goal of VANT 140 is to support students in both their learning of the course content and their mastery of the English language.

Over the past two years I have worked with English language instructors, Neil Leveridge and Fatimah Mahmood on VANT 140, experimenting with different delivery approaches ranging from tightly coupled curriculum across the lecture/tutorial hour, to largely disconnected.  

In the tightly tied delivery modes we instituted a cycle where, students work on an exercise in the tutorial hour and subsequently present their solutions with feedback from the language instructor in the lecture hour.

In the more disconnected approach, I attempted to copy the cycle of the tightly coupled model within the one hour tutorial.  Half of the time in the tutorial was allocated to group or individual problem solving, and the other half to students or groups articulating their outcomes with feedback from both instructors and other students.

Somewhere in between the two aforementioned approaches, in the tutorial hour students worked from problem to coded solution with instructor or TA support, whereas in the lecture hour students were given problems but were asked to work towards a solution articulated in English through a list of steps or ­a flowchart.

What motivated your approach?

Vantage College and specifically the VANT 140 course, provides the opportunity to integrate English language learning in the context of specific course material, making the learning of both relevant to the learner. In many science courses, the component requiring English language support was readily apparent, like writing up lab reports, learning vocabulary, consuming information from a textbook, and comprehending multiple-choice questions. However, I found this much more challenging to identify in an introductory programming course.

In an introductory programming course, students are learning yet another language – a programming language.  As with learning any second language, a student does not start out thinking in that language, they think in their native language and translate to the new language.  Often students learning to program attempt to skip this step of thinking and reasoning out a solution in their native language before translating it to code, making hard problems difficult to solve as they get lost in the details of the new language.  This issue is not limited to English language learners, but is definitely amplified.

We model a process for problem-solving in lectures for the equivalent direct-entry courses, CPSC 110 and APSC 160, but both English language learners and English first language students often skip this step when problems are simple, then struggle as problems become more complex. The idea with the VANT 140 exercises is to force students to come up with an explicit intermediary representation of their problem-solving step before beginning a code implementation.  The goal was to strengthen both their English language and problem solving skills.

What outcomes have surprised you?

Based on TAs and observations, across both courses I have begun to identify the types of exercises that have high engagement for students, and those that have a positive impact on students’ understanding of course concepts.  

We found students to be most engaged and participatory in debating the quality of a given solution, or when working toward their own coded solution.  Students were keen to give opinions and feedback to their classmates presenting a solution to the given exercise.  This discussion not only solidified concepts for all participants in the negotiation, but exercised their English-speaking skills.  The engagement and focus for students when working on a given problem appeared to be driven by the satisfaction of completing a coded solution. They also enjoyed working through a problem with the ability to get hints from TAs if they got stuck.

Additionally, we found students gain problem solving skills during the debates described above, as well as from the interactions in small group problem solving activities. Again, both of these require some negotiation to an agreed solution.  One TA’s observation was, “The best learning moments were when multiple students were having heated debates about the best answer to a question.”

We also found that when students were forced to articulate the strategies they were using for problem solving, it helped TAs to pinpoint misconceptions and reaffirm good strategies. Students that were able to articulate their solution to a problem either through pictures, or natural English language, were also able to work through a coded solution.

What challenges have you encountered with these strategies?

The really interesting part of the observations by TAs was the conflict between the successful outcomes and the challenges that were encountered.  While as I mentioned above, the best outcomes were in exercises that involved some form of debate and negotiation, but one of the biggest challenges was getting students to listen attentively to another student’s explanation.

The biggest challenge was with exercises in which students were asked to explain how they would solve a problem in natural language, or to articulate the strategies they employ when they would get stuck working through a problem. While they were motivated to work towards a final code solution, they saw these intermediary design and problem solving steps as difficult and time-consuming. One TA reflected, “Trying to ask abstract questions (the answers to which would be complex or ambiguous even in your native language, such as coding process) felt like drawing blood from a stone oftentimes.”

They also saw this type of exercise as inhibiting them from completing the code solution before the end of tutorial even when this level of completion was not the intent. It was often difficult for TAs to circumvent the students’ desire to jump straight to writing code.  In fact, even the TAs as novice instructors and undergraduates themselves, found it uncomfortable to leave a student without seeing them through a final solution.  One TA saying “I hated having them leave class without providing them with a thorough explanation of the solution.”

What are your next steps?

In future offerings, I hope to establish better ways to motivate or reinforce the benefits of the intermediary design step in natural English before translation to code. In this case I hope to work closely with the English language instructor in the development and deployment of these exercises across the VANT 140 components.

In what ways could your approach benefit the greater UBC community and beyond?

The size of the classes I teach in Vantage range from 40-90 students, whereas the direct-entry courses range from 200-300 students. CSPC 110 is taught in an active-learning environment and the students are open to interaction, which has allowed me to adapt exercises from the VANT 140 coursework to scale to larger direct-entry lectures. I leverage clickers followed by class discussion to engage students in the debate and negotiation style of learning, which showed success in VANT 140 exercises.

What defines Vantage for you?

For me, Vantage represents diversity, both culturally and in terms of learning styles.  It is a place where we as educators have the ability to improve our understanding of what learning means for students coming from diverse backgrounds and forces us to think about ways to expand our curriculum to engage more than just one type of student.