There's no difference in the estimation techniques based on project types. Steve McConnell wrote a good book, Software Estimation: Demystifying the Black Art, that discusses not only estimation in general, but highlights estimation techniques and when each technique is most valuable.
If this is a project that you are working on as an individual, using your own historical data on how long it takes you to understand new code of a particular size in a given language or relating a current task to a different task that you know how long it would take using analogies or proxies would probably be the most effective. If it's a complicated task, decomposing it into smaller tasks and estimating those would be most appropriate.
Unfortunately, the best people to estimate are the people who will be doing the work. Aside from explaining different estimation techniques and their pros/cons, there's not much that anyone else can say. DeveloperDon's answer is based on a course and expected workload for a student, but I can say that different people have to put different amounts of time and effort - only you can determine what good analogies, proxies, or estimates would be based on what you know about yourself.