def nextCourse(self,allCourses,schedInd):#schedInd is position in schedule. Needed for concurrency issues #to be implemented. see word doc #steps: #find largest fraction weighted course remaining #this assumes weights have been applied at the beginning of the program. validSubset = DankMath.listDiff(DankMath.listDiff(allCourses, self.coursesTaken), self.coursesTaking) crse = DankMath.maxValuedCourse(validSubset)#this should copy an object... do I need to worry about this? if(crse.prereqsSatisfied(self.coursesTaken,self.concurrentList,schedInd)): return crse else: return cres.nextUnsatReq(self.coursesTaken , self.coursesTaking, allCourses)