Case Studies

Adventures in Pair Programming:  Building Data Literacy in Social Learning Environments

Authors: Annika Johnson, Anastasia Papadopoulou, Stefania Simion

The project piloted a Python workshop on data visualisation, implemented through a supportive pair programming approach, which is widely used in the industry among computer scientists, as well as in computer science education.[2],[5] It offered students the opportunity to work together and learn from others across different year groups and programmes. Programmes facing teaching in large cohort settings can create a higher demand for activities that strengthen our student community. Adopting pair programming in a co-curricular setting allowed us to embed vertical integration and teamwork, increasing the students’ community spirit. 

Moreover, the project increased the students’ employability skills and preparedness for the professional world. Many students compete for spring-weeks and internships during their studies, but not every student is able to secure a placement at the time they want it, which can leaves them dispirited. This project offered students an alternative, unique challenge which they could still use to demonstrate their skill and professional development to future employers. 

The combination of pair programming and authentic data tasks allowed students to practice navigating uncertainty in a supportive environment and develop their own solutions to challenges they will likely encounter in industry. 

During the 2023 spring break we ran a week-long workshop on data visualisations in Python for complete beginners. Although run by staff in the School of Economics, the workshop was open to all students across the university. 28 students participated, with 54% from the School of Economics, 68% international students, and 43% MSc students.

Overall, we had 5 half-day sessions in which students worked in pairs on pre-defined tasks that took them from basic Python introductory commands to producing various data visualisations with different data sets. In the first session we introduced the concept of pair programming, i.e., one person uses the keyboard (the driver) and the other provides direction (the navigator) and encouraged students to work with their partner until the end of the event. Pair programming has been shown to be effective in students learning new programming skills.[3] Moreover, this method, as a collaborative learning process, helped us to enhance the social aspect of the event and students’ connectedness to each other.[1],[4]

For all the coding tasks the students used Google Colaboratory, an online platform, which allowed them to share their work with their partner. We used a hands-on approach minimising our intervention by creating bespoke cheat sheets that helped students to complete several tasks each day. To increase the social and relaxed atmosphere in the classroom we played background music, and we encouraged participants to talk to each other and take breaks when they felt they need to. Also, at the end of each day, they had to answer a short quiz with small prizes (like £10 amazon vouchers and Easter eggs). 

At the end of the third day, we introduced a challenge. For this, we teamed up two pairs (four people in total), and they had to use any dataset they wanted to create 2-3 data visualisations, that would enable them to answer the question: “If Bristol were a country, how would you rank it against other countries?”. On the last day we had an informal poster session, where students shared their outputs with each other and with two guest judges drawn from the research community. Notably, both judges were positively surprised by the students’ outputs, enthusiasm, and the nice and friendly atmosphere of the room. The top three teams won £50 Amazon vouchers or books.

We administered surveys to students throughout the event and overall, the participants’ feedback was very positive. Most students underlined that they enjoyed working in teams, they embraced the social aspect of the event, and the use of prizes (as can be also seen the two figures below). Figure 1 shows a word cloud produced by students’ answers on what they particularly liked throughout the event.

Figure 1

Note: data are based on a sample of 19 students who gave feedback on the last day. Word cloud from answers to the question “What worked well? Is there any part of the whole event that you particularly liked?”

Figure 2 provides some comments about the event from participants, as well as our two undergraduate Research Assistants. The comments focus mainly on the importance of the social atmosphere and the effectiveness of pair programming to enhance collaboration.

Several students posted also about their experience in LinkedIn with their posts having high visibility, contributing towards their employability. 

Figure 2

Note: the green bubbles show feedback from participants, while the purple feedback from our two undergraduate Economics students Research Assistants

We think that the event created interesting avenues for future research, but also extended implementation in different contexts. Our goal is now to scale the event to around 100 students, offering a greater number the opportunity to participate in an authentic activity, and providing them with extremely valuable hard and soft employability skills. There is also further investigation to be done on the effect of our teaching innovations versus traditional means of teaching on student performance and group dynamics when bringing together students from a diverse range of backgrounds and experiences.

References

[1] Ahn, M.Y. and Davis, H.H., 2020. Four domains of students’ sense of belonging to university. Studies in Higher Education, 45(3), pp.622-634.

[2] Bipp, T., Lepper, A. and Schmedding, D., 2008. Pair programming in software development teams–An empirical study of its benefits. Information and Software Technology, 50(3), pp.231-240.

[3] Demir, Ö. and Seferoglu, S.S., 2021. A comparison of solo and pair programming in terms of flow experience, coding quality, and coding achievement. Journal of Educational Computing Research, 58(8), pp.1448-1466.

[4] Sax, L.J., Blaney, J.M., Lehman, K.J., Rodriguez, S.L., George, K.L. and Zavala, C., 2018. Sense of belonging in computing: The role of introductory courses for women and underrepresented minority students. Social Sciences, 7(8), pp.122.

[5] Williams, L. (2001, February). Integrating pair programming into a software development process. In Proceedings 14th Conference on Software Engineering Education and Training. ‘In search of a software engineering profession’ (Cat. No. PR01059) (pp. 27-36). IEEE.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.