- Reading time: 3 minutes
- Price: Free download
- Published: 17th March 2022
- Price: Free download
- File format: Text
A big definition of who you are, as a Computer Scientist is the way you perceive how the world interacts with the power of computers. I think, it is the product of multiple disciplines, solving complex problems with reverence and deep inquisition. Upon visiting Bletchley Park, I was astounded by the advances in technology over the century, but what had remained the same, was the core foundations. In many ways, I would consider Computer Science to be the harmonious amalgamation of pioneering mathematics and humanities. The sense of freedom and challenging nature of this subject has created a childlike stubbornness in me. Looking at my work and constantly wondering ‘how could it be further improved?’.
AS Physics has introduced me to quantum mechanics and I am fascinated by the complexities in the second class of quantum algorithms. Focusing my EPQ on this topic has allowed me to look at how researchers have been able to find order out of randomness. I discovered studying the Decisions 1 module, particularly Dijkstra’s Algorithm, was intimately related with Grover’s Search Algorithm and I am intrigued by the mechanisms of this method allowing users to find the set of data in square root (N) number of operations out of (N) possible routes. Initially reading ‘Quantum Computation..’ by M.A. Nielson and I.L. Chuang, I am gradually starting to learn about the mathematics behind the algorithm.
Recently, I have been attempting to represent the Mandelbrot Set. A lasting impression has been left by the beauty of this manmade equation, on a complex plane, which takes a simple function and produces something incredibly natural and intricate. Initially, I programmed the equation in Python to understand the overall concept. I was able to assign a number of iterations and it would plot a single point for each value given that it is in the range. However, I found representing multiple iterations (as layers) very challenging. This lead me to use the much more powerful language, Octave. Following a similar syntax, I was able to create a plot-able data set using GNUPlot and assigning a colour to every iteration.
I also became involved with a student based company, Tikit, working as a developer. This has given me experience on working with a team and solving problems in a logical manner. Using HTML5 and PHP, I was able to redesign certain parts of the website. Gradually I became involved in app designing itself working on Objective-C helping to design multiple UI elements. Continuing this along with my studies has shown me the importance in time management and meeting deadlines with supervisors.
Member of school’s charity committee and leader of the Hindu and Sikh Society organising many events during festivals raising over £2000 for charities. This has taught me key skills on financing and being able to cooperate with other team members. I was also the Creative Director for my Young Enterprise team, urbanMCR, where we reached the Trafford and Manchester Regional Finals accumulated multiple awards including ‘The Best Company of Manchester’. This gave me an excellent outlet to showcase my interests in photography.
My other hobbies include graphic designing where I have made posters for committees in school that work with many charities such as The Christie. This also included implementing an online small scale database which could note down details of every ticket holder. Using Google Drive’s scripting tools, I was able to automatically send out confirmation emails to those who have paid and those who still have pending payments.
I am fascinated by why modern software have become huge in size and to understand the , i started working on a raspberry Pi writing code using the instruction set of the ARMv7 processor, I found this instruction set particularly difficult to understand and saw the obvious compatibility issues with other ARM processors. As a result, I started writing the kernel in C as it was easier to maintain. Developing the operating system in multiple steps, I was able to initialise system memory and processor cores as well as communicating with peripherals such as LEDs and GPIO pins.