Semantic homework upload