I know that you are following the pattern used in parseEnd() but I disagree with what is going on here (and in parseEnd). This does not copy the object passed in as sect, it merely creates another reference to the same object called temp. In fact, this method does not actually HAVE to return anything (although I think it makes more sense that it does). Instead (at least the way it is written now), the UCSBSection being passed in as sect will be modified and after calling this method will be the same object as the object returned by the method.

I think that it makes more sense to have this method not modify the object sect and return a completely new UCSBSection. You can do this by creating a copy constructor for UCSBSection and changing this line to:
UCSBSection temp = new UCSBSection(sect);