EbL_Over_PbL: Empirical Analysis of Industry-Aligned Laboratory Models in Software Engineering Education
Abstract β’ Architecture β’ Scientific Findings β’ Operational Requirements β’ Research Scope β’ Citation
This research artefact operationalises the comparative analysis of Software Engineering pedagogical models, specifically contrasting Experience-based Learning (EbL) within a collaborative laboratory against traditional Project-based Learning (PbL).
The repository provides a systematic pipeline for mining repository metadata to quantify the transition from "academic coding" to professional software engineering responsibility.
Traditional Software Engineering Education (SEE) tends to isolate students from professional realities, creating an "academic island" where evaluations reward final deliverables over the technical nuances and collaborative dynamics of real-world development.
Experiential learning offers a pedagogical bridge out of this isolation, shifting students from passive learners into active technical contributors who internalize professional rigor and long-term sustainability as core values.
This study evaluates a collaborative laboratory model designed as a strategic intermediary between academia and industry, examining how such environments facilitate the transition from conventional academic coding to roles defined by genuine professional responsibility.
Through repository mining, our empirical analysis compares key metrics, including Pull Request granularity and refactoring ratios, across:
- Project-oriented academic courses
- Open-source ecosystems (VSCode and React)
- An open-source platform developed within the laboratory
Our findings demonstrate that embedding experiential learning within an applied research laboratory enables students to engage in real-world projects that unite technical excellence with high-impact social technology.
The repository is structured as a computational pipeline designed to transform raw repository events into publication-ready statistical visualisations.
.
βββ graph # Graph-based analysis and network visualisations
βββ metrics
β βββ data
β β βββ bronze # Raw GraphQL extractions (GitHub/GitLab)
β β βββ silver # Curated and filtered datasets
β βββ notebooks # Analytical layer and figure generation
β β βββ prs_viz_bp_paper.ipynb # Primary analysis notebook
β βββ scripts # Operational extraction/filtering logic
β βββ extract.py # GraphQL API orchestration
β βββ filter.py # Temporal and organisational curation logic
βββ requirements.txt # Dependency specification
βββ README.md
To replicate the analysis, ensure a Python 3.8+ environment is available.
pip install -r requirements.txtThe extraction pipeline requires valid API credentials for:
- GitHub
- GitLab
Configure the credentials as environment variables before executing:
python metrics/scripts/extract.pyExecute the primary notebook to reproduce the statistical figures and metric computations presented in the study:
jupyter notebook metrics/notebooks/prs_viz_bp_paper.ipynbNote:
Static PR datasets corresponding to the paper's analysis time frame are already included in the repository together with the analysis notebook, enabling partial reproducibility without new API extraction steps.
The empirical analysis reveals several critical transitions in student engineering behaviour within the collaborative laboratory model.
Reduced PR granularity indicates a shift toward:
- Small Releases
- Continuous Feedback cycles
- Incremental collaboration practices
This behaviour diverges significantly from large and monolithic academic submissions commonly observed in traditional SEE contexts.
Refactoring density within the laboratory environment suggests an intermediate maturity level situated between:
- Traditional coursework repositories
- High-scale industrial OSS ecosystems
Continuous engagement with unfamiliar codebases promotes:
- Broader architectural understanding
- Governance awareness
- Professional maintenance practices
- Collaborative code ownership
Structured workload distribution within the laboratory model appears to mitigate:
- Deadline-driven development spikes
- Last-minute integration behaviour
- Unsustainable delivery patterns
