[gsoc-2021] Data Structure Implementation - Swift

Hello @lorentey

I am Yan, or you can call me Frank. I am currently a second year computer science student at University of Montreal (Montreal, Canada). I have some experience with Java, Python and Javascript. I am also very interested in Swift (It is actually one of my favourite programming languages).

Among all the proposed ideas, I am quite interested in the data structure implementation for swift. Particularly, I am interested in adding a "linked list: structure. (Hope this qualifies as general-purpose data structure).

I have never done a project before, and this is the first time I even try to participate in such a project. This whole "contributing to open-source project" is very new and is certainly a new challenge for me. I expect to learn a lot as well.

I would appreciate if you can guide me through this! Furthermore, I do have some questions I would like to ask right now:

  • Would you mind directing me to the resources that I must understand in order to start this project?
  • Is it possible to know what exactly I need to include in the proposal? (As this is my first time, I am not really familiar with making a proposal for a project)

Thanks a lot for your help! I look forward to your replies.

Yan (Frank)

2 Likes

Hi there Yan,
Karoy should be able to get back to you soon here :slight_smile:

In the meantime allow me to drop a link to the just announced Swift Collections where such collection would end up living: Swift.org - Introducing Swift Collections

I'll leave it to Karoy for project suggestions and judgement if this is enough for the GSoC project or not etc :+1:

2 Likes

Hi!

Thanks a lot! I noticed that he just released this today haha. I will certainly take a look at this :slight_smile:

Thanks again!

1 Like

Hi,

Sorry, just a quick question, not sure if you can answer: Are we expected to finish a project that has the same quality and complexity of code as what Karoy has done here in Swift Collections?

Thanks a lot :slight_smile:

It might be difficult to achieve the exact same level of confidence in an implementation of a sophisticated data-structure as Karoy implemented there in just 26 days by someone new to the complex world of swift performance, binary compatibility etc.

I can't speak for Karoy here, but I think going "as far as possible" and potentially continuing the work after GSoC ends would also be viable. It is important though that for the purpose of GSoC there is a well defined minimum viable end result that mentor and student agree on. Otherwise it will be difficult to judge a project successful or not.

It might be a good idea to draft out which aspects of an implementation are considered "must have" for the GSoC project to be considered successfully complete, and which may need to be followed up on later on.


Having that said, that's just from a process perspective -- it is up to Karoy as the mentor of the project to work with yourself and other students to define the scope of the project. Please keep in mind to define the success criteria up front, as that's important for the GSoC process.

4 Likes

Thanks a lot for such detailed response! I think what you said is totally reasonable. I will wait for Karoy's response, so we can discuss further details :slight_smile:

1 Like