Kotlin
Kotlin is another language that I picked up during my time at Imperial College London. Despite having limited experience with the language at university, I believed that I learned a lot about the internet through the projects that I had implemented with it. As with Java and Haskell, I am unable to publicly display some of my code, so once again, please contact me if you wish to see the projects below in more detail.
1. Web server
This was the first project that I took up in kotlin, where we were asked to create a webserver to handle http requests through string manipulation, applying the functional programming concepts that I picked up in Haskell to elegantly solve the problem. This project was also developed with the intentions to underhand the basic mechanics of web framework implementation.

By the end of the project, I had gained familiarity with the syntax of kotlin. I now also understand the general structure of a http request and hope to apply this to the scala web scraper that I am currently working on.
2. London Underground journey planner
After gaining familiarity with the syntax of kotlin, it was time to explore object-oriented programming with kotlin. This time, my task was to create a system that would plan the journey from one station to another, such as 'North Acton' to 'South Kensington'. Along with this, we were also asked to give time estimates for these journeys as well as the number of changes required for that journey (for example, the journey above would have 1 change). In order to replicate a real-world situation, we also added functionality for stations to close (or to become temporarily unavailable), the result of this being that the journey planner would change to account for such disturbances.

By the end of the project, I gained much more familiarity with the kotlin language and also had hands on experience with object-oriented programming. I also had a general idea of how journey planning when it comes to public transportation and also got to develop me first route-finding algorithm. In this case, I opted for a recursive solution using a depth-first search to traverse the graph.
3. Search Engine
Another notable project that I worked on in Kotlin was a search engine, the intention of this project was to make use of the vast collection of Kotlin's data types, as well as learning how to integrate a project with a 3rd party library 'jsoup'. The project would work by searching for references to the search on the web using a web crawler, giving it a URL to start from and then recursively entering and downloading new pages until a preset number of pages have been downloaded (or until we run out of disk space).

By the end of this project, I gained experience in writing larger Kotlin programs and also learned how to integrate 3rd party libraries into my project. I also picked up the key skill of exception handling in order to predict and defend against potential runtime errors in advance. I believe that these skills will also be essential in the development of my scala web scraper, especially since the project will involve the extraction of links on these job pages in order to find more jobs.