My country:
Banner image of word art for Bangor Computer Science

Insights from a Computer Science Student

Student Ollie Hensman-Crook, who is completing his BSc Computer Science, reflects on his degree.

I am a third-year student studying computer science at Bangor. I am in the process of completing my dissertation, and currently I am taking modules in Internet of Things (IoT) and software engineering. I am much more interested in server-side programming than I am in frontend development, so I would say my favourite aspects of the course have all been related to that. That said, I took a module in Artificial Intelligence (AI) in games programming last year, which I found the most rewarding as I found it more of a challenge than any other module I took, especially trying to understand shaders! 

I understand that for your third-year individual project that you have been exploring different Chess solving algorithms, and I hear that you have been implementing some chess solving programs. Tell us about your project, and what you have been doing.

My project is centred around building chess engines. There are several layers that I have implemented so far including the core chess library, a caching layer, an engine layer and the communication layer. The engine is (mostly) written in “Go”. 

The core chess library handles in memory representation of board states, it uses various “bitboards” which are unsigned 64-bit integers to represent the main state of the board and exposes all required methods, which are used to enable different chess engines to be created. The engines are all progressive, building up from the first random move engine, which was more of a proof of concept for the internal library to the current version “EngineV1” which uses a combination of minimax with alpha-beta pruning and a cache that currently stores 240000 board positions from the Sicilian and modern defence (although this is soon to get significantly larger).  

The communications layer has two implementations, one uses the Universal Chess Interface which allows desktop chess clients to interact with the engine and another, web implementation, that uses web sockets to communicate with the web client I wrote. 

 

My summer placement with Visa

“Tell us about your summer placement with Visa. How did you set it up? What did you do in the placement?” 

I started applying to internships around the end of December/Start of January 2022, and by April time I had accepted an offer for Visa in Reading. The application process included a take-home programming Challenge, various online assessments and a two-stage final round interview that included a technical round solving a programming challenge, and a behavioural interview. 

My job was within Open VisaNet (OVN) and I worked as a part of a team that builds the end-to-end testing platform. My main work during the summer was building an “agent” that sits within the test environment and performs parsing/validation of transaction data. I also participated in the global intern Challenge that had my team and I designing an AID distribution system that could be used in natural disaster relief.  

After I graduate

“What plans have you now? Tell us about the job offer and how that came about”.

After I graduate, I hope to spend the summer travelling around Europe, if possible, then towards the end of the summer I will move down to Reading before starting my Job in September.  

The Job offer was extended to me informally a week or two prior to ending my internship by my manager and then later confirmed by a call with the Early Careers department. When I return, I will be working again within OVN, although I currently don’t know what team I will be assigned to. My offer is part of a graduate scheme that they offer at Visa. 

 

Highlights of your degree

What were the notable highlights of your degree? Is there something that you anticipate reflecting upon and cherishing in the future? 

I think some of my favourite aspects of my degree have come out of the third year. Coming up with a project idea at the start of the year and continuing it throughout has been really enjoyable (although initially a very difficult decision!). I’ve enjoyed working with my supervisor Josh, and I really appreciate the level of freedom in choosing a project that I had been given.  

I’ve had amazing lecturers through the entire time here and I think they are the main thing I will be looking back on and remembering after I leave Bangor. 

Ollie Hensman-Crook,  BSc Computer Science