[GSoC-2021] Swift Data Structure Implementation

Hi @lorentey @ktoso!

My name is Roman and I'm a student at Vienna University of Technology. I'm also working as an iOS developer for 4 years now. I have quite a few of my own projects which helped me to learn other than Swift/Objective-C languages such as Python, JavaScript, Kotlin (have basic knowledge of C++ as well). At university I am mainly using Java.

As a project for myself I decided to implement a Data Structure in Swift cause this topic is interesting, challenging and familiar to me. I would be glad to implement structures from proposed priority queue, to linked list to stack etc. I would also dare to try something more complex like a Tree/Trie or a Graph but I suppose it might be not feasible in the dedicate time.

I enjoy challenges a lot and love solving problems that require me to stand at night and write down an idea of how to solve it that just came to my mind, the problems that are interesting to solve. I've 2 examples of such problems I solved recently:

  1. A simple calculator I wrote because I wanted to learn how lexing works. You can check this recently posted gist: Here's my attempt to create a calculator, that takes a string as an input, parses it and calculates the result. Key difficulties: taking the operator's precedence and parenthesis in account. Operates only on integer values. Solved using an AST · GitHub
  2. A university task to solve a problem using my own implementation of a Trie. Here's the repo (the task was dedicated for me and my teammate but due to certain reasons I was implementing the whole data structure and algorithm by my own): GitHub - ramzesenok/TU-EP2-Team-Aufgabe: The completed team project for TU Vienna EP2 subject

• I also like Swift very much with its APIs and naming conventions so this won't be a problem for me to make it nice. Quite the opposite - I like thinking it through.
• I have knowledge in the performance analysis, not sure though how deep the knowledge should be for this task. The same goes for low-level concepts: I have some knowledge and understanding of memory management etc. but not extremely broad.
• Testing is something I also like writing so it is not a problem
• I spend quite some time reading documentation and my English skills are not bad. Shouldn't be a problem as well

I'm looking forward to getting in touch with you and discuss further points and work together to make Swift a better language and to bring more value to developers worldwide! Thank you in advance!

Cheers, Roman

1 Like