Научился: В курсе Наноигры я создал несколько игровых программ: Арканоид, Игра на скорость реакции, Игра цифры и бот для нее. Научился работать с таймером, засекать время, скрывать и показывать элементы на форме.
Следующий курс - Нанософт.

Научился: вся суть Одиночки в том, чтобы экземпляр класса был один и тчк
Реализация задумки проста - есть такая баская штука как пустота
Эта пустота называется у программистов нАллом (null)
При объявлении экземпляра Одиночки, он инициализируется этой самой пустотой
А при обращении из программы к Одиночке выполняется проверка на эквивалентность экземпляра пустоте, и если Одиночка ещё равен пустоте, то создаётся первый, он же последний экземпляр Одиночки
Если же при обращении к услугам Одиночки, выясняется, что экземпляр уже не равен пустоте(которой он был инициализирован), то методом возвращается тот же самый первый, он же последний экземпляр Singletona
Наследовать от Одиночки не получится
Если требуется монопольный доступ к Одиночке, для предотвращения одновременного доступа пишите synchronized в сигнатуру getInstance()
Курс знакомит с основами шаблона, при достаточном усердии способен дать толчок для развития, при слабой мотивации позволяет выполнить задания на удовлетворительно и идти дальше
Каждый выберет себе степень погружения в тему