BSc Software Engineer

Heriot-Watt University

4th Year Student
Download My CV

đź‘‹ Hi, my name is Callum Gowans, and welcome to my portfolio!
I am currently a 4th year mature student at Heriot-Watt University on the BSc Software Engineering course and on track to obtain a 2:1 or above. Subjects that I have found particularly intersting at university include biologically inspired computing, industrial programming, lambda calculus, and language processors. My proven track record in client based and administrative roles has enabled me to become an effective communicator, problem solver, and team player. My passion for problem solving stems from my creativity. In my free time I enjoy expressing my creativity by playing piano and doing graphic designing. Most importantly, however, I enjoy unleashing my creativity within code. I am currently seeking the opportunity to join a business that will present me with the platform to further express my creativity, and continue to develop my skills in software engineering.

Skillset

My studies at university have enabled me to become proficient within the following...

Front End Development
  • HTML
  • JavaScript
  • CSS
  • React
Back End Development
  • Java
  • C#
  • Python
  • O'Caml
Database Management
  • MySql
  • ER Modelling

Portfolio

During my time at Univerisity, I applied my aquired skills to several challenging projects. Below gives an overview of just a few of these projects I worked on.

Collaboration Platform
Screenshot of a group interface within the collaboration platform

As part of a major coursework in my 3rd year at university, I collaborated with a group of 6 students to produce a professional collaboration platform. The platform allows users to create or join groups and collaborate through messaging or screen sharing. This project emphasized the importance of teamwork and effective communication.

I took on the role of Project Manager, ensuring that the project stayed on track and all requirements were met. We used Scrum during development, giving everyone the opportunity to serve as Scrum Master. Before starting development, we created a prototype and tested it with users for valuable feedback.

The platform was built using the following technologies:

  • Next.js
  • Socket.io
  • Clerk
  • Prisma
At the end of development, we demonstrated the application at an expo within the University.

Prototype Web Browser

Screenshot of a group interface within the collaboration platform

As part of a university project, I developed a prototype web browser within a tight timeframe. The project involved analyzing a briefing, formulating a set of requirements, and delivering a functional prototype. Using .NET and Windows Forms, I built a browser capable of sending and receiving HTTP requests, managing browsing history, and providing intuitive navigation controls, including back and forward buttons. Additionally, the browser allows users to view their history list and save websites as favorites for quick access.

This project strengthened my skills in software development, problem-solving, and requirements analysis. I gained hands-on experience with .NET technologies, HTTP protocols, and user interface design, as well as time management and working under pressure to meet deadlines.

Data Analyser

The Data Analyser is a document tracking and analysis application developed in Python. The application processes JSON datasets from a document-hosting platform to perform various types of analysis and visualization. The main features include:

  • Views by Country/Continent: Generates histograms of document views by country or continent using Matplotlib.
  • Views by Browser: Analyzes the most popular browsers used by visitors, providing short or full browser name options.
  • Reader Profiles: Identifies the top 10 readers based on total reading time.
  • “Also Likes” Functionality: Recommends related documents based on shared readers, displaying results as a list or directed graph.
  • GUI Interaction: Provides a user-friendly interface via Tkinter for selecting datasets and performing analyses.
  • Command-Line Interface: Allows interaction with the application via the command prompt using a set of commands.

Neural Network with Swarm Optimisation

Content coming soon.

LinkedIn