Course can be a non-leaf node.
Mapping - None instead of ''
Added recursive dependency analysis. Algorithm works, needs to be refactored.