Edge Covers
Showing the edge cover reveals that each course will be taught by one professor and that Larry has been assigned to teach two courses.
g = [image];colorHighlight[comp_] := HighlightGraph[g,
Join@@Table[(Style[#, ColorData["Rainbow"][i / Length[comp]]])& /@ Join[comp[[i]], EdgeList[Subgraph[g, comp[[i]]]]], {i, Length[comp]}], GraphHighlightStyle -> "DehighlightHide"];colorHighlight[ConnectedComponents[Graph@FindEdgeCover[g]]]