Skip to content

Toggle service links
  1. eSTEeM
  2. Category
  3. Theme
  4. Technologies for STEM learning
Subscribe to RSS - Technologies for STEM learning

Technologies for STEM learning

Pair Programming as a tool to enhance teaching and learning of programming at a distance

Project leader(s): 
Adeola Adeliyi
Faculty: 
STEM
Status: 
Current
Body: 

WHAT PEDAGOGIC ISSUE OR PROBLEM WE ARE ADDRESSING

Pair programming is a key aspect of Extreme Programming (XP), which encourages informal and immediate communication over joint coding work. The technique involves two developers: one in a driver role writes the code, controlling the keyboard and mouse, and the other, the navigator, reviews the code as the driver writes it. There is now a substantial body of evidence in support of improved coding outcomes when pair programming is used in teaching (Ghorashi 2016; Mehmet et al. 2018).

Despite these proven academic benefits for collocated classroom settings, distance and online settings are yet to benefit. The isolation and impoverished learning experience some students report points to an urgent need for tools and methods that support remote pair programming in a distributed educational setting to be developed.

In a traditional instructor-led teaching environment, pair programming is relatively easy to implement. This is more challenging in distance teaching and learning situations. Some of these challenges include: 

  1. Students experiencing isolation and exclusion
  2. Problematic communication due to students having fewer interactive and communication options in a remote setting
  3. Access to code repository

WHAT WE ARE INTENDING TO DO TO ADDRESS THIS ISSUE

To improve teaching programming at a distance, using Pair-Programming as collaborative learning tool, we will:

  1. Carry out extensive literature review on existing academic research on collaborative learning, methods and tools developed to support pair programming (both traditional and remote style) and real time coding in education (both collocated and distance settings) to identify principles of effective pair programming.
  2. Identify and/or develop tools that will support remote pair-programming taking the identified principles of effective pair programming into account.
  3. Review the current Open University teaching and laboratory practices in use for teaching computing related subjects: TM112 – Introduction to computing and information technology 2, TM129 – Technology in practice, M250 – Object-oriented programming in Java, M269 – Algorithms, data structures and computability.
  4. In conjunction with student partners, we will carry out two user studies, which will evaluate:
  1. The effectiveness of collaborative tools.
  2. The effectiveness of the method of pairing, such as voluntary, randomized, knowledge-based, demographic pairing.
  3. Evaluation of students’ experience, feedback, programming skills, and evidence of academic improvement.
  4. Improvement carried out on the methods and tools.

WHAT THE IMPACTS AND USES OF THIS WORK ARE

The evidence-based results will support improved learning outcomes when pair programming techniques are used in teaching programming at a distance.

WHAT THE OVERALL OUTCOMES FOR THE PROJECT ARE

  1. Reduce collaboration obstacles enough to make remote pair programming worthwhile and attractive to students at the Open University.
  2. Contribute to the wider academic research think-tank, the development of collaborative techniques for delivery of teaching programming at a distance.

Adeliyi, A. (2019) project poster (PDF)

Associate Lecturers’ Involvement in Improved Practice in a SXPS288 Labcast Delivery

Project leader(s): 
Venetia Brown
Faculty: 
STEM
Status: 
Current
Body: 

SXPS288 ‘Remote Experiments in Physics and Space’ will be presented in 19J as a re-written module of the previous SXPA288. SXPS288-19J will broadcast live, interactive web-broadcasts (i.e. labcasts) throughout various blocks of the module. There are ten Associate Lecturers (ALs) and approximately 200 students on the module. For the 19J presentation, there will be a new student project and remote experiment in the module that will be supported by labcasts. Recent findings indicate that labcasts in OU STEM modules can have a positive impact on student learning, motivation and engender deeper engagement with the wider OU science community (Thomson and Velasco, 2019). However, overall cohort participation and voluntary staff uptake in optional labcasts events remain relatively low. 

To address these issues, the project will run and evaluate a labcast initiative for ALs to learn more about the new aspects of the module and engage in a SXPS288 labcast. The module team chair has agreed to present this labcast. All ten ALs will be asked to participate. As some ALs are aware of the labcasts and some are not, the project aim would be to give ALs a greater understanding of the practical elements of labcasting and of the student experience to better support students on the module.

The project will investigate ALs experiences and perspectives on labcasting. The impacts of this project will be to listen to the ALs’ voice on their roles, facilitate their professional development and inform future labcast designs. This project is aimed specifically at ALs and will complement a wider PhD study of student experience and participation in labcasts. The findings of both studies will feed into the development of future SXPS288 presentations. Labcasts are also used in other modules across STEM, therefore the findings will  inform understanding and provide recommendations to other module teams in their overall labcast and tuition strategies.

Brown, V. and Cayless, A. (2019) project poster (PDF)

Teaching distributed computing using Raspberry Pi clusters at a distance

Project leader(s): 
Daniel Gooch
Faculty: 
STEM
Status: 
Current
Body: 

Parallel and distributed computing (PDC) is considered a threshold concept for computing [2], forming a key part of the ACM Curriculum Guidelines for Undergraduate Degree Programs in Computer Science [1]. Understanding how PDC works is a significant part of algorithm design, a fundamental part of Computer Science. PDCs now power much of the “cloud” and are therefore of increasing industrial relevance. While not currently covered in the dual-presentation, compulsory C&C level 1 module, TM129 (Technologies in practice), the proposed rewrite for 20J will cover these increasingly important concepts.

Given that we do not regulate the machines that students use when studying with us, to gain practical exposure of PDCs, we must offer a central-service to run PDC programs on. The low cost of Raspberry Pis  has led to an exploration of how PDC can be taught to students using Raspberry Pi clusters (a form of distributed computer, built from multiple computers) [3, 4], given the unfeasible cost of using clusters made from other kinds of computers. We currently do not have a mechanism for providing access to clusters to the 1000 distance students per TM129 presentation.

The Institute of Coding has funded the hardware costs for an initial four clusters. These have been successfully used in initial module team-led lab-casts with a clear interest from students. These lab-casts have demonstrated the student interest in using the clusters, and we plan to move them into the OpenSTEM Lab, allowing us to build activities around the clusters.

We are thus applying for funds to explore the impact the clusters have on TM129 students. We will be making the clusters available as optional activities in the 19J and 20B presentations to assess their suitability, before making them a compulsory part of the assessment from 20J. We will be evaluating these clusters for:

  1. increased engagement and interest of the students due to the novelty of the technology;
  2. that the activities will increase students’ knowledge of PDC; and
  3. that the increased engagement and interest will improve retention.

References

ACM Curriculum Guidelines for Undergraduate Degree Programs in Computer Science https://www.acm.org/binaries/content/assets/education/cs2013_web_final.pdf 

Cousin, G (2006) An introduction to threshold concepts, Planet no. 17.

Cox, Simon J., James T. Cox, Richard P. Boardman, Steven J. Johnston, Mark Scott, and Neil S. O’brien. "Iridis-pi: a low-cost, compact demonstration cluster." Cluster Computing 17(2), 2014.

Doucet, Kevin, and Jian Zhang, 2017. Learning cluster computing by creating a Raspberry Pi cluster. In Proceedings of the SouthEast Conference, pp. 191-194. ACM.

Gooch, D. (2019) project poster (PDF)