Few chapter wise pickings from Problem Solving with Algorithms and Data Structures by Brad Miller, David Ranum.
I got my first patch accepted in Linux Kernel in September, 2014. Before this I had some repositories on my GitHub, through which I open sourced some of my projects.
This was my first contribution to an open source organization. Since then I am contributing to different open source projects. I learn a lot while contributing to open source projects.