или постараться реализовать свою идею, хоть она еще далеко не моего уровня, но думаю можно двигаться в ее направлении.
если уже осознали структуры и переменные - можете попробовать сделать своё, используя документацию как справочник по функциям.
Всё зависит от вашей способности усваивать материал. Категорически НЕ советую видео-уроки!
Кратко: динамика газов, физика твёрдых тел, электростатика, электротехника, микроконтроллеры, основы проектирования автоматических систем и блоков управления (+программирование логики работы).
Головоломки - помогают тогда, когда задача имеет более одного варианта достижения верного результата при одном решении.
Т.е., в два этапа: сначала ищем решение, а затем - ищем оптимальное решение.
Например, игра Сокобан - очень помогает развить логику мышления.
Также, пошаговые стратегии.
Лучший вариант - это небыстрые (или пошаговые) игры с NP-полными задачами.
После того, как разберётесь с паттернами, советую смотреть на реализацию:
1. https://nette.org (самый удобный и простой, с понятной структурой кода)
2. https://fatfreeframework.com (микро-фреймворк, почти аналог nette)
3. https://phalconphp.com (один из лидеров по производительности, C-extension)
4. https://www.iceframework.org (один из лидеров по производительности, C-extension)
Есть вот шаблонное задание.
Выбор одного (или нескольких паттернов) зависит от конкретных условий поставленной задачи. И одна и та же задача может быть решена разными паттернами, в зависимости от разработанной архитектуры и в зависимости от распределения бизнес-ролей и назначения каждого блока в архитектурной схеме всего решения.