Все задания представляют собой изолированные проекты.
Смело меняйте их CMakeLists.txt
как вам угодно, добавляйте новые файлы и папки, а также копируйте код семплов.
Каждую домашку следует выполнять в отдельной ветке с названием, соответствующим папке задания, и создавать pull-request в мастер для проверки.
Код из папки common тоже разрешается и приветствуется менять, однако следует помнить, что после проверки ветка будет вмерджена в мастер и изменения в common
сделанные для одной домашки могут конфликтовать или просто "молча" сломать другую домашку.
Будьте аккуратны, старайтесь не ломать совместимость с ещё не проверенными домашками!