KWoC Project Report

Preyam Rao
3 min readJan 3, 2021

About KWoC:

Kharagpur Winter of Code is a 5-week long online programme for the students, who are new to open source software development. The programme not only helps students to get involved in open source, but also preps them for many open source summer programmes, Google Summer of Code being one of them.

Project Selection:

I was comfortable with C++ and was looking for projects involving it. I am familiar with most Data Structures and Algorithms and wanted to contribute to projects involving these. I found a couple of projects that wanted to compile solutions to many common problems and algorithms. I finally ended up contributing to -

  • Leetcode
  • ds-algo-solutions
  • AlgoBook

Contributions:

1. AlgoBook

A very useful and common Data Structure many competitive programmers need to use is the Fenwick tree. It is somewhat lengthy to write in an actual competition and easy to get wrong. I learned how to code this DS and wrote the code for it. I created a Pull Request but later learned from a mentor that I had to comment it and make the code more clean. After doing the same, I finally got my code merged. A truly awesome feeling! Another task I was assigned was writing the code for Newton-Raphson Method. I was not familiar with this algorithm, it is used to find the roots of any polynomial. This seemed like a very useful algorithm and rather non-conventional. I wrote the code for this algorithm and merged it. I also wrote the code for generating prime numbers quickly.

2. Leetcode

Many problems in Leetcode do not have proper solutions and often require a subscription. The solutions are often hard to read and are uncommented. I solved a pretty hard DP (Dynamic Programming) problem and wrote a clean and commented solution. I also wrote a pretty concise solution to a moderately hard DP problem which involved the use of an unordered set. I managed to get both programs merged with the main project.

3. ds-algo-solutions

This project involved writing solutions to many HackerRank problems. I was assigned to write solutions for problems that involved stacks and were of moderate difficulty. One of these involved DP concepts. I also learned about monotonic stack, which is a very useful tool to tackle many problems. I was asked to comment my code by mentors to make it more understandable.

Verdict:

My experience with Kharagpur Winter of Code has been quite good. I was initially not familiar with GitHub, but learnt about commiting, merging, cloning, etc. By the end, I was pretty comfortable with GitHub. I also learnt about many different Algorithms and Data Structures. I also solved many problems and learnt about many new concepts. I also learnt the mannerism of communicating with mentors and all the people associated with this. I would like to thank all people involved for such an enriching experience.

--

--