Основы проектирования приложений
Новосибирск, весна 2019
Описание
Курс знакомит слушателей с основами проектирования приложений.
Предварительная программа:
- Введение в объектно-ориентированное программирование. ООП как развитие идеологии процедурного программирования. ОО подход для решения задач структурирования информации
- Основные концепции ООП: инкапсуляция, полиморфизм, наследование. Принципы SOLID. ОО подход к тестированию приложений
- Паттерны проектирования, шаблоны GRASP
- Разбор примеров архитектур реальных приложений
Оценка по курсу
В курсе будут три домашних задания, за которые в сумме можно будет получить до 8 баллов. Итоговая оценка будет ставиться следующим образом:
- >= 1 баллов - зачёт
- >= 3 баллов - хорошо
- >= 6 баллов - отлично
Оформление и сдача
- Рекомендуемые языки - C++, C#, Java, Kotlin. Использование другого языка лучше заранее согласовать с преподавателем;
- Все ошибки должны быть обработаны, все ресурсы - освобождены. Причины ошибок, вызванных действиями пользователя, должны быть доведены до его сведения;
- Для всех компонентов системы должны быть юнит-тесты;
- Сдача осуществляется через репозиторий на GitHub. Репозиторий должен быть приватным, доступ к нему должен быть открыт для проверяющих домашние задания - пользователей GitHub PurplePowder и alex-ks;
- Ваш код должен находиться в ветке
csc-design-taskX
(где X - номер задания), в веткуmaster
должен быть открыт pull-request. Ссылку на pull-request нужно отправить на сайте центра в форме сдачи задания. Вы можете делать все задания в одном репозитории, но тогда а) каждое задание должно быть в своей директории, б) каждый pull-request должен содержать только код, относящийся к одному заданию; - В корне репозитория должен находиться файл
README.md
с описанием работы программы, инструкцией по сборке приложения и запуску юнит-тестов, списком аргументов командной строки (с пояснениями) для каждого исполняемого файла. Если ваше приложение работает только под конкретной ОС, также включите это в инструкцию;- Если вы используете стороннюю библиотеку для сериализации данных, включите её подключение в инструкцию по сборке. Запись в стиле
перейдите на сайт http://foo.bar, следуйте инструкции на сайте
таковой не считается!
- Если вы используете стороннюю библиотеку для сериализации данных, включите её подключение в инструкцию по сборке. Запись в стиле
- Код должен быть оформлен в соответствии с некоторым code-style на ваш выбор. Ссылку на этот code-style также включите в
README.md
.