Hello Opower, here is the homework Erin Fristoe pointed me to.  I'm also sending her a zip as per the instructions

This pool accepts a datasource, start size, and max size as parametmers.
It creates new connections on demmand when the pool is empty.  
It reuses released connections, unless the pool is already at max capacity