Reimagining Econometrics: Coding for tomorrow’s workforce
This project aimed to devise a new curriculum and teaching materials for ECON0019 to teach the programming language Python.
11 July 2025
Programming education in the Economics BSc has centred around Stata software for decades. Unfortunately, this language is increasingly obsolete, primarily used by a shrinking number of academic economists. At the same time, modern programming skills are in higher demand than ever from employers. Without these skills taught in the BSc, our graduates face starkly unequal opportunities and outcomes based on prior exposure and their ability to pick up necessary skills outside of the BSc. Since ECON0019 provides the most substantive exposure to programming in the BSc, it provides the ideal opportunity to seed the transition to teaching and incorporating modern programming into the BSc curriculum. Indeed, student feedback for the module has asked for more hands-on training.
The aim of this project was to devise a new curriculum and teaching materials for the ECON0019 Practical sessions to teach Python, the language most widely sought by employers, from the ground up. Having recently completed ECON0019 learned Python themselves (outside of the BSc Economics), the student partners were best placed to help tailor the teaching materials to the level of the typical ECON0019 student. Following outlines provided by staff, the students crafted Python Notebooks that PGTAs can use interactively to lead practical sessions, starting in AY25-26.
What did you set out to do and why was this project important?
We set out to devise a new curriculum and teaching materials for the ECON0019 Practical sessions, teaching the programming language Python from the ground up. The module previously taught the Stata statistical programming language, which is largely obsolete, and used almost exclusively by a shrinking number of academic economists. For most BSc Economics students, this is their most sustained exposure to programming. At the same time, strong programming skills in widely-used languages (especially Python) are in higher demand than ever from employers of our graduates. Our students without prior exposure to programming or the opportunity to develop these skills elsewhere are disadvantaged in the labour market. Student feedback has consistently requested more practical and hands-on training in ECON0019. Incorporating modern programming instruction into the core BSc programme constitutes an important update that is responsive to student feedback and the labour market and will set our BSc offering apart from that of several of our peers.
How did it go?
Despite a tight timeline, the project was very successful. The student partners – having recently completed ECON0019 themselves – brought important perspectives to devising the new syllabus. Having taught themselves Python outside the classroom in the past few years, they are uniquely familiar with the challenges our students will face. They developed teaching materials for our TAs to use in the practical sessions next year. They worked carefully to tailor the materials to the typical student’s level and did not make the same assumptions about student ability that we as academic staff (who learned to code more than a decade ago) would likely have made. In this spirit, they also provided excellent feedback on each other’s work, pointing out leaps in assumed knowledge or tricky concepts. They did a fantastic job, and, given their unique familiarity with the content, these materials are of a higher quality than our academic staff would have produced themselves. Incoming second year students have been asking some of the BSc team about the upcoming changes, so there seems to be excitement already.
What was the outcome of the project? What difference has this made to staff or students?
We prepared a new curriculum and teaching materials for the practical sessions of the module. With these in place, starting in AY25-26 the BSc Economics will provide a comprehensive introduction to programming in Python in year 2. We also launched a survey to assess student satisfaction before the change and collected results. We will not be able to properly gauge the impact until the end of the next AY, and plan to launch a parallel survey then to document the change in student experience. We hope to subsequently see an impact on comments in the NSS and other metrics, for instance employment outcomes. We also believe there will be an impact on the broader curriculum of the BSc Economics, as this project took place amid a programme-wide curriculum review, to which student feedback is central. For example, year 3 modules may introduce more technical material or assessments, since students will now enter with the prerequisite skills.
What was involved in terms of approach, logistics, time or resources?
The logistics of the project were perhaps the greatest challenge. After the grant was awarded, student partners (fitting specific criteria – having previously taken ECON0019 and being proficient in Python) had to be recruited and onboarded into unitemps before work could start. Given that student partners were only onboarded in early April, there was a lot of work to do in a short period of time, with a month lost to assessments in May, and some students mostly offline during the Easter break as well. While we were able to meet in person to kick off the project, towards the end of the year, as students left campus, it became impossible to meet in person, and hard to coordinate virtually across time zones. This meant that a lot of collaboration had to take place via one-on-one meetings or email/document exchange instead. With more time and additional funding, we would also have liked to launch a broader student focus group to gain additional targeted feedback on the new teaching materials, but we were unable to do so.
The project was structured as follows. After consultation with other teaching staff, I developed an outline for each practical session, including detailed steps that the notebooks should cover (almost like the prompts of a problem set) for the students to follow, during the ChangeMakers application process. During our initial meeting, we revised this outline based on the students’ input. Each of the three ChangeMakers student partners chose two practical sessions to develop, with a remaining two introductory sessions handled by a staff partner and PhD student otherwise involved in the project. The students spent two weeks before exams and two weeks after drafting their Python notebooks. I gave them feedback as they went. Over the following week, they exchanged notebooks with a partner to provide feedback, which proved very helpful. In the final week of the project, they revised their notebooks based on the feedback received. At this point, we also collected their reflections ion the project in a shared document, and also reflected “in person” in virtual meeting to conclude the project. While we had budgeted additional time to prepare some “capstone” materials (blog post, etc.) at the end of the project, we ran short of time for this. We devoted the budgeted student hours to finishing the notebooks themselves instead and collected details of the experience to enable development of such additional outputs in the future.
ChangeMakers projects are intended to support students and staff working in partnership. How did this aspect of the project go?
The staff-student partnership was central to this project, involving students ranging from undergraduate to PhD level. The student partners had all both recently completely ECON0019 and taught themselves Python outside of the BSc Economics. As such, they were truly uniquely placed to understand the weaknesses of the current ECON0019 curriculum, our students needs, and the challenges they will face learning programming for the first time. Their focused feedback – in addition to that previously gathered from students over several years – was essential to fine-tuning the new curriculum. The teaching materials they produced – following a format they suggested to maximise interaction and engagement– are set at an appropriate level with helpful hints, for which I am sure future students will be very grateful.
What was your specific role in the project? What did you learn as a result of being involved?
I was the project applicant and leader, and I am one of the lecturers for ECON0019. I learned more about the student experience in my module and just how motivated many of our students have been to learn skills that they felt were missing from the existing BSc curriculum. Working on the curriculum and teaching materials alongside the student partners has helped us as lecturers to better meet our incoming students at their level and understand the challenges of learning a first programming language. My co-lecturers and I have also developed our personal knowledge of Python, since it is not a language we use for our own research; we chose it for the module anyway because we recognised it was the right language for our students given the preferences of potential employers.
What, if any, are your next steps for this project?
We are looking forward to introducing the new curriculum to incoming year 2 students and deploying the new teaching materials starting in September. We will survey students at the end of AY25-26 to measure student satisfaction with the new curriculum, and how it impacts their experience of the module as a whole. We will monitor other surveys and student outcomes for evidence of impact. I am presenting our progress in a department meeting on programming and coding in the BSc next week (July 2025). I also aim to share our experience more broadly in the Department, especially in the context of our broader BSc curriculum review. Once we have gauged student satisfaction with the new curriculum, this change to the curriculum could even be a marketing feature for our BSc programme.
Close
