From a Cyber Attack to Python for Accounting: A Personal Journey in Digital Capability
by Dr Michael Guo, University of the West of Scotland
Can Python be learned effectively in accounting education by those without a coding background? This reflective account describes how I began learning Python and how this experience reshaped my approach to research and accounting education. The starting point was a cyberattack at my university that reduced access to core systems and research software, including SPSS. As someone working in quantitative research, this disruption affected my workflow and required me to find another way to continue my work. The experience also prompted me to reconsider my reliance on predefined software tools and opened a new path towards learning Python.
From Challenge to Learning Python
At the time, I was working with co-authors on a paper that required data analysis and we were approaching a submission deadline. Online forums suggested Python as an alternative, although I had no previous coding experience. I began learning basic Python syntax and libraries, often using large language models to help explain the code. The most frequent prompt used was “Please explain the code to me like I’m a 10-year-old”. Using this approach, the analysis was completed and the paper was eventually published. Over time, I came to see Python not simply as an alternative to SPSS, but as a way to design analytical workflows through coding. This shift later influenced how I approached the teaching of accounting and finance students.
Implications for Teaching Accounting
For me, as someone teaching accounting and finance, this marked a turning point. Python offered a way to automate repetitive tasks, work locally with sensitive data, and build analytical workflows. I continued developing my skills and later designed a module titled ‘Python for Accounting’, which is now delivered at my university. This is the second year of the module, and student response has been positive.
An overview of the module is provided here for reference: https://drmichaelguo.github.io/python-for-accounting-info-site/
The module focuses on foundational coding skills and practical application. Students create small projects, record short demonstration videos, upload them to YouTube, and link them to their Google site. The site can be linked in a CV to demonstrate skills to potential employers. I also incorporate mind mapping as a way for students to organise ideas and structure learning. The projects produced by students show how accounting students without prior coding experience can develop confidence in coding when the learning design is accessible and purposeful.
Furthermore, the principles of project-based learning (PBL) (Al-Kamzari & Alias, 2025) are embedded within the module design. I consider this approach extremely important for non-technical learners (e.g. accounting students) to learn coding skills. In each lab, students learn Python syntax by building small working projects, such as a mortgage calculator or a guessing number game. For the assessment, students develop open projects in which they identify pain points in their work or life and create solutions using Python. This approach focuses on problem identification, solution development, and practical coding.
Reflections
Reflecting on this journey, three points stand out. First, unplanned disruptions can create space for learning that would not otherwise occur. The cyber attack becomes a catalyst for change. This aligns with the idea, often attributed to Steve Jobs, that connections between experiences are often only clear when looking back.
Second, learning Python changed the way I think about teaching technical skills to non-technical learners. Initially, I assumed coding would be difficult for accounting students without a coding background. However, through teaching the module, I found that students developed confidence when coding tasks were linked to practical problems and supported through small projects. Breaking problems into manageable steps, using visual approaches such as mind mapping, and encouraging experimentation helped students engage with coding more effectively.
Finally, this experience also changed my approach to learning. Rather than aiming to master every technical detail before applying Python, I learned through experimentation, problem-solving, and small practice-related projects. This process shaped the design of the module itself. Students are encouraged to learn by building small projects, learning from errors and mistakes, and refining their solutions. In this sense, learning Python not only changed the tools I use, but also reshaped how I think about learning, teaching, and skill development in accounting education.
Continue the conversation: https://www.linkedin.com/in/dr-michael-guo-b1390227/
Email: xin.guo@uws.ac.uk