Домашние задания, контрольные работы, осень 2016, 244 группа
Табличка с результатами домашних заданий и контрольных работ, условия заданий
Домашние задания:
Условия задач:
1. 02.09.2016
Презентация с пары- Реализовать двоичное дерево поиска, в котором можно добавлять, искать и удалять элементы, и итератор для его обхода, так, чтобы по дереву можно было ходить циклом foreach.
2. 09.09.2016
Презентация с пары- Смоделировать работу локальной сети:
- в сети есть несколько компьютеров, связанных друг с другом (каким образом - можно задавать, например, матрицей смежности);
- на каждом компе стоит ОС (Windows, Linux, etc...);
- в сети гуляют вирусы, так что для каждой машины есть ненулевая вероятность заразиться (вероятность зависит от типа ОС), заражаются компьютеры, непосредственно соединённые с заражёнными;
- заражения (и проверки, заразился компьютер или нет) происходят дискретно - по ходам.
3. 16.09.2016
Презентация с темами семестровыхТаблица с более подробным описанием тем семестровых
- Есть связный неориентированный граф, в вершинах графа находится несколько роботов. каждый ход роботы могут телепортироваться, перепрыгивая через одну вершину. Например, если граф выглядит так: (R)----(*)----(*), то на следующем ходу робот может остаться на месте, а может телепортироваться: (*)----(*)----(R). Если два или больше роботов телепортируются в одну вершину графа, они самоуничтожаются. Задача --- по заданному графу и заданному начальному расположению роботов определить, существует ли такая последовательность телепортаций, при которой все роботы самоуничтожатся.
4. 23.09.2016
- Написать простой графический редактор, который позволял бы рисовать линиями. Должна быть возможность добавить линию на картинку, переместить любой из концов существующей линии, удалить линию, должна быть функциональность undo/redo.
n. 14.10.2016
- Завести для проекта Pivotal Tracker, записать туда задачи, прислать мне ссылку.
- Завести для проекта Gitter или Slack, прислать мне ссылку или приглашение, стараться там появляться.
- Завести (или заставить меня завести) репозиторий на гитхабе, прислать ссылку мне.
- Почитать про open-source лицензии, выбрать для проекта какую-нибудь^W Apache License 2.0 (кроме цифровой криминалистики, там хотят оригинальную BSD License) и применить к репозиторию.
Темы для докладов
Паттерны:
- Builder - Альберт Мухаммадиев
презентация - Factory Method - Артур Нагаев
презентация - Lazy initialization - Александр Бзикадзе
презентация - Prototype - Анна Маненкова
презентация - Singleton - Анна Маненкова
презентация - Adapter - Александр Киселёв
презентация - Facade - Анна Маненкова
презентация - Flyweight - Артур Нагаев
презентация - Proxy - Артур Нагаев
презентация - Chain of Responsibility - Юлия Бережнова
презентация - Interpreter - Иван Небогатиков
презентация - Iterator - Михаил Виноградов
презентация - Mediator - Альберт Мухаммадиев
презентация - Memento - Кирилл Андреев
презентация - Observer - Кирилл Андреев
презентация - State - Иван Небогатиков
презентация - Template Method - Денис Травин
презентация - Bridge - Юлия Бережнова
презентация - Command - Александр Киселёв
презентация - Resource Acquisition Is Initialization, Pointer To Implementation
- Null Object - Александр Бзикадзе
презентация - Specification - Михаил Виноградов
- Three-tier architecture - Кирилл Андреев
презентация - Управление зависимостями
- Принципы SOLID - Денис Травин
презентация
Анти-паттерны:
- Call super, Circular dependency - Иван Небогатиков
- Constant interface, God object, Yo-yo problem - Александр Бзикадзе
презентация - Busy waiting, Error hiding - Александр Киселёв
- Loop-switch sequence, Magic numbers, Magic strings
- Hardcoding, Softcoding
- Functional Decomposition - Альберт Мухаммадиев
презентация - Анти-паттерны Test Driven Development
Вопросы к зачёту
- Model-View-Controller
- Composite
- Strategy
- Decorator
- Abstract Factory
- Builder
- Factory Method
- Lazy initialization
- Prototype
- Singleton
- Adapter
- Facade
- Flyweight
- Proxy
- Chain of Responsibility
- Interpreter
- Iterator
- Mediator
- Memento
- Observer
- State
- Template Method
- Visitor
- Bridge
- Command
- Resource Acquisition Is Initialization, Pointer To Implementation
- Null Object
- Specification
- Three-tier architecture
- Управление зависимостями
- Принципы SOLID