Worked on two high-performance computing projects focusing on simulating fish school behaviour using parallel computing techniques. The first project involved implementing both sequential and parallel versions of a fish school simulation programme on the Setonix platform, analysing the impact of various parameters, including thread scheduling methods, and evaluating performance metrics such as speedup and efficiency. The second project utilised MPI and OpenMP to optimise fish data distribution and parallelize simulation steps across multiple processes, addressing challenges like data integrity, parallelization overhead, and bottlenecks. These projects enhanced my understanding of parallel computing, data communication, and performance optimisation in distributed systems.