Little if any source code should ever be put in the root of the repository. Homework assignments will be organized like this:
homework/<assignment>/<problem>/<source code, etc.>
For each homework assignment, I will create a new folder under "homework". Within that folder, there will be subdirectories for individual problems. This organization ensures that the source code, audio files, images, etc. for a given problem are neatly grouped together in our source tree. This organization can be tweaked if several problems are closely related and share assets and/or code.