I am Dilara Tekinoglu, currently an incoming Computer Science PhD student of University of Massachussets Amherst. I have just graduated from Computer Science program of Sabanci University. I am selected as an Outreachy intern for NetworkX project for May 2022 round.
Among all traits that lead to success, I believe that being organized is one of the most important ones. I believe that scheduling your daily tasks not only allows to focus on what really matters. It also allows you to concentrate on what needs to get done that day instead of being distracted by things that should be done in future.
Almost all the time, any kind of success is a result of a long period of hard work, does not come all of a sudden. This is valid also for Outreachy internship period. Especially, in the contribution period, being patient and continuing to make contributions regularly helped me a lot.
Everyone struggles in one or the other way in life, this is for fact. I believe that facing problems is an opportunity to become a problem solver. I faced some difficulties during my Outreachy internship period. During the contribution phase, I made several mistakes about git workflow (e.g. I made developments in the wrong branch etc.). With the help of my mentors, I learned how to correct such things. Moreover, during the actual internship period, I had a task which is quite complex and confusing to me. The task was to analyse several issues of the project repository related to a single algorithm, trying to understand the referenced paper for the algorithm and to debug it. This actually took almost 2 weeks. Till now, I haven't faced big hurdles, I am enjoying the process of learning and exploring NetworkX codebase.
NetworkX is a Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks. Many algorithms related to graphs are implemented in NetworkX codebase. My internship project is to create explanatory notebooks for selected algorithms of NetworkX. In my proposal, I have selected 4 algorithms which are Euler, Lowest Common Ancestor, A* (A star) algorithm and Cliques. Notebooks for each algorithm is designed to include related key concepts, examples and step-by-step explanation of NetworkX implementation of the algorithm.
According to my initial proposal, I was expected to complete 4 notebooks until the internship ends. Luckily I was able to complete first two notebooks in the first half of the internship period. Here is a brief summary of what I've done so far: