COM7114

Programming for Business

Module Reflection  ยท  MSc Computer Science (Conversion)  ยท  Author: Orville Fernandes

What I Brought In

I came into this module with professional experience building and deploying web applications. At Blockware Nation I had worked with Python, Docker, CI/CD pipelines, and cloud infrastructure on Vultr. I was already comfortable with version control, backend development, and production deployment. I was not expecting to be challenged by this module, but I was expecting a module called Programming for Business to engage meaningfully with programming.

The Module

The first three weeks were dedicated to HTML and CSS, complete with practical sessions on both. Week six was an entire lecture and practical on Bubble, a no-code drag-and-drop website builder. Week seven introduced ASP.NET Razor Pages. Week eight was a lecture on GitHub and version control. In one of the final modules of a Masters-level Computer Science degree, a full session was used to introduce source control โ€“ something that arguably should be taught in the early days of any programme where students are expected to write code. The fact that it arrived in week eight says something honest about how much coding this programme had actually involved up to that point.

The learning outcomes, meanwhile, ask for a database-powered web application built to professional standards. That is a reasonable thing to assess. What the module taught is better described as web design fundamentals than programming for business. The two do not map onto each other, and students are left to bridge that gap entirely on their own.

I stopped attending the practical sessions. Sitting through HTML and CSS exercises at Masters level, on a module titled Programming for Business, was not a productive use of my time. The Bubble session in particular was difficult to reconcile with the module's identity. Bubble is a tool specifically designed so that people do not have to program. Dedicating a full week of a programming module to it, at postgraduate level, is a strange choice that I do not think stands up to scrutiny.

The Coursework

Despite all of that, the coursework was good. The brief asked for a live, database-powered web application that automates a real business process, and that is exactly what we built. My teammate and I extended the Pay and Display machine management database I had designed in COM7112, building a Python Flask frontend connected to a MySQL database backend. The application is deployed on Google Cloud Platform, with the frontend running on Cloud Run and the database hosted on a VM instance. The prototype is accessible here, and the GitHub repository is available here.

We handled environment configuration, cloud networking, application routing, and a live database with properly enforced constraints and role-based access. The brief asked us to evaluate usability, maintainability, scalability, and security, and we did so with an application that actually needed to consider all of those things (Sommerville, 2016; OWASP, 2021). The full project is showcased separately here.

Critical Reflection

The fundamental problem with COM7114 is that it has no clear identity. The name says programming. The learning outcomes ask for a database-powered web application. But the teaching presents Bubble as a legitimate path to meeting those outcomes. This means a student could, in theory, pass a module called Programming for Business without writing a single line of code. That is not a minor inconsistency; it reflects a module that has not decided what it actually wants students to learn.

Students without a prior programming background would have finished this module having been taught HTML, CSS, and Bubble, and then been assessed on building and deploying a full-stack web application. The module gives them no path from one to the other. For a conversion programme where students need to build programming competence, that is a significant missed opportunity. The coursework brief is good. The module around it needed to be better.

Learning Outcomes

LO1 โ€“ Design and creation of data-driven web applications: Achieved through the coursework. The Flask application with MySQL integration and GCP deployment demonstrates this outcome in full. The module did not cover any of the technologies involved.

LO2 โ€“ Critically evaluate usability, maintainability, scalability and security: Achieved through the individual report component, which evaluated the deployed application against each of these dimensions. Cloud Run provides horizontal scalability; RBAC and parameterised queries address security; the modular Flask structure supports maintainability.

LO3 โ€“ Implement, test and demonstrate a database-powered web application: Achieved and demonstrated at the Week 10 team presentation. A simulated live deployment of the prototype was demoed.

References

Grinberg, M. (2018) Flask Web Development: Developing Web Applications with Python. 2nd edn. Sebastopol: O'Reilly Media.

OWASP Foundation (2021) OWASP Top Ten. Available at: https://owasp.org/www-project-top-ten/ (Accessed: 1 June 2025).

Sommerville, I. (2016) Software Engineering. 10th edn. Boston: Pearson Education.

Marks

CW1 โ€“ Group Coursework
Individual written report ยท Prototype website ยท Group presentation demo
Pending
Overall โ€“ %