2023 ASEE Annual Conference & Exposition

Board 59: WIP: Lab Container: An environment to manage a student’s time to complete programming labs while providing effective feedback from course staff

Presented at Computers in Education Division (COED) Poster Session

In most programming courses, instructors create lab assignments for students by providing some starting code and an automated testing tool. This is sufficient for smaller labs, however, this method often leads to students over-allocating time to complete the assignments. Students tend to study less on non-programming courses and skip more lectures when trying to make coding lab deadlines, causing them to fall behind on those courses. Getting help mid-assignment can reduce a student’s working time, but coding implementations and methods vary greatly from student to student, making it time-consuming for instructors to read and understand the existing code before providing feedback. Furthermore, instructors are often forced to use a student’s autograder mark as the primary metric to assess a student’s conceptual understanding, missing out on key information on how a student approached the assignment, an important element of engineering.

This project introduces a flexible software tool that provides a container for each student to implement their lab, where all necessary tools to complete the programming labs are provided within the container. Example of tools include compilers and libraries, which are configured by the course staff. The purpose of this container is to allow students to access the resources on a regular and incremental basis. Consequently, the lab assignments are completed gradually rather than in one sitting. In addition, this tool enables the course staff to keep track of the students’ works in order to quickly provide feedback to help the students finish their labs in a timely manner. It also provides instructors with information about the students’ work, such as time spent, version history, and contribution from each team member. Lab Container includes support for collaboration, and for ongoing assessment and progress tracking by course staff. The backend of Lab Container is based on a microservice architecture to make it scalable and reliable, and a frontend written in React so that the application is user friendly.

Lab Container is being tested on a group of students in an intermediate programming course. This course consists of one project worked on by a team of three students, where Lab Container would be effective in saving time for the students. There is also a control group where students complete the course without the help of Lab Container. Both groups are surveyed and the results are compared to measure the effectiveness of Lab Container.

Authors
  1. Mr. Yu Sheng Pan University of Toronto [biography]
  2. Mr. Aniruddha Redkar University of Toronto [biography]
  3. Sowrov Talukder University of Toronto [biography]
  4. Mr. Parth Sindhu University of Toronto
  5. Dr. Hamid S. Timorabadi University of Toronto [biography]
Download paper (1.43 MB)

Are you a researcher? Would you like to cite this paper? Visit the ASEE document repository at peer.asee.org for more tools and easy citations.