I've done a few quick searches, and I couldn't find a built-in CORDIC algorithm either. However, I did find some implementations that you might be able to look at for your background research. If you're familiar with the math, a Google or Google Scholar
search of "CORDIC Algorithm" should turn up a few helpful results. I'd recommend reading as many of the papers on Google Scholar as you can; though they can be hard to understand, they will also contain the greatest depth of information.
In my experience, Java is the easiest language to learn, but for this application I'd actually highly recommend that you use C++ or MatLab. C++ is free, but MatLab will cost you some money. Both of those are generally good for algorithms and are fairly easy to learn quickly. There are plenty of online tutorials that you might be able to use- again, a Google search should turn up good results for those.
C++ has reliable functions for you to measure and record system time before and after a process; I think MatLab also has something similar.
For actual programming mechanics, I would recommend starting with simple programs and getting familiar with the language before attempting to code your algorithm. From there, I'd suggest that you first implement the CORDIC algorithm, then make the modifications necessary for your approach.
Feel free to ask if something is unclear- I typed this up in a little bit of a hurry, and may have accidentally skipped important information.
Hope this helped!