Репозиторий спецкурса ".NET технологии" для магистрантов специальности "Веб-программирование и интернет-технологии" (срок обучения - 1 год, 1.5 года, 2 года, 2.5 года, очное и заочное), отчетность - экзамен (1 год, 1.5 года) и зачет (2 года, 2.5 года).

Экзамен (1 год, 1.5 года): 20.12.2017 - 11.15, БГУ, аудитория 120.

Зачет (2 года, 2.5 года): январь 2018 год (дата будет уточнена после 03.01.2018).

Форма отчетности по спецкурсу: выполнение лабораторных работ.

Требования к лабораторным работам

  • Задание выполняется c использованием в Visual Studio.
  • Логика решения задачи помещается в проект типа Class Library.
  • Тестирование решенной задачи выполняется с использованием тестовых фреймворков Microsoft Unit Testing Framework или NUnit.
  • Выполненные задания выкладываются на github не позднее указанного срока и сдаются в форме устной защиты во время занятия.
  • Выслать на электронный адрес anzhelika.kravchuk@gmail.com письмо с указанием своего github-acc.

EPAM RD Training "DEVELOPING ASP.NET MVC WEB APPLICATIONS" Repository (C# and .NET Framework Basics part) by .NET Lab.

Лабораторная работа 1

Последний срок сохранения изменений на github.com: 24.00, 05.10.17.

Срок защиты лабораторной работы: 06.10.17.

Теория:

Generics and Collections

Задача:

Разработать обобщенный класс-коллекцию BinarySearchTree (бинарное дерево поиска). Предусмотреть возможности использования подключаемого интерфейса для реализации отношения порядка. Реализовать три способа обхода дерева: прямой (preorder), поперечный (inorder), обратный (postorder): для реализации использовать блок-итератор (yield). Разработать unit-тесты. Для тестирования использовать следующие типы:

  • System.Int32 (использовать сравнение по умолчанию и подключаемый компаратор);
  • System.String (использовать сравнение по умолчанию и подключаемый компаратор);
  • пользовательский класс Student (информация о студенте содержит поля, хранящие имя и фамилию студента, название теста, дату прохождения теста и полученную студнтом за тест оценку), для объектов которого реализовано отношения порядка (использовать сравнение по умолчанию и подключаемый компаратор);
  • пользовательскую структуру Point, для объектов которого не реализовано отношения порядка (использовать подключаемый компаратор).

Лабораторная работа 2

Последний срок сохранения изменений на github.com: 24.00, 12.10.12.

Срок защиты лабораторной работы: 13.10.17.

Теория:

Задача:

Разработать консольное приложениие, использующее запросы LINQ для получения и отображения данных. Данные хранятся в двоичных файлах и представляют собой информацию о результатах прохождения студентами тестов. Информация о студенте содержит поля, хранящие имя и фамилию студента, название теста, дату прохождения теста и полученную студнтом за тест оценку. Для работы с данными информация считывается в двоичное дерево. Предусмотреть возможность определения пользователем критериев для просмотра данных. Расширить возможности работы с приложением таким образом, чтобы пользователи могли указать последовательность сортировки и ограничить количество извлекаемых строк. При разработке приложения использовать подход, учитывающий возможность изменении источника хранения данных и пользовательского интерфеса.

Лабораторная работа 3

Последний срок сохранения изменений на github.com: 24.00, 19.10.12.

Срок защиты лабораторной работы: 20.10.17.

Теория:

Задача:

Изменить пользовательский интерфейс приложения из Лабораторной работы 2, используя технологию WPF.

Лабораторная работа 4

Последний срок сохранения изменений на github.com: 24.00, 02.11.17.

Срок защиты лабораторной работы: 03.11.17.

Теория:

https://github.com/EPM-RD-NETLAB/.NET-Framework-modules/tree/master/M14.%20XML%20Technologies

Задача:

https://github.com/EPM-RD-NETLAB/.NET-Framework-modules/tree/master/M14.%20XML%20Technologies

Лабораторная работа 5

Последний срок сохранения изменений на github.com: 24.00, 10.11.17.

Срок защиты лабораторной работы: 17.11.17.

Задача:

Описать класс светофор для системы управления различными светофорами, соответствующий принципам ООП и SOLID.

Лабораторная работа 6

Последний срок сохранения изменений на github.com: 24.00, 30.11.17.

Срок защиты лабораторной работы: 01.12.17.

Теория:

Задача:

Разработать систему типов для описания работы с банковским счетом. Состояние счета определяется его номером, данными о владельце счета, суммой на счете и некоторыми бонусными баллами, которые увеличиваются/уменьшаются каждый раз при пополнении счета/списании со счета на величины различные для пополнения и списания и рассчитываемые в зависимости от некоторых значений величин «стоимости» баланса и «стоимости» пополнения. Величины «стоимости» баланса и «стоимости» пополнения являются целочисленными значениями и зависят от типа счета, который может быть, например, Base, Gold, Platinum и т.п.

Для работы со счетом реализовать только следующие возможности:

  • выполнить пополнение на счет;
  • выполнить списание со счета;
  • создать новый счет;
  • закрыть счет.

При проектировании типов учитывать следующие возможности расширения/изменения функциональности

  • добавление новых видов счетов;
  • изменение/добавление источников хранения информации о счетах;
  • изменение логики расчета бонусных баллов;
  • изменении логики генерации номера счета.

Работу классов продемонстрировать на примере простейшего ASP.NET MVC приложения. Данные о счетах хранить в базе данных.