Практикум на ЭВМ, осень 2012, 271

Новости и события

Требования

    • В курсе нужно сдать все задания и сделать 2-3 доклада
    • Доклады с презентацией.
    • Оформление кода
      • Язык программирования - Java
      • Все домашние задния должны быть выложены в собственный публичный репозиторий на github.com
      • Форматирование - Java style
      • Шапка файла - описание, ФИО, (c) год
      • Разумные комментарии
      • Юнит-тесты - Junit

Задания

Задание 1

    1. Дописать проверку, является ли строка палиндромом. См. git репозиторий в комп.классах \\fs\vpolozov\12_71.git
    2. Объекты - создать объектную модель придуманного мира, учитывая следующие формальные требования
      • Иерархия классов с наследованием
        • Не менее 6 классов в иерархии
        • Глубина иерархии не менее 3
        • Ширина иерархии не менее 3
    3. Хэш-таблица
      • Реализовать класс хэш-таблицы:
        • описать и реализовать методы для работы структуры данных
        • ключ - строка, значение - object
        • придумать свою хэш-функцию (для ключей-строк)
      • Реализовать пример использования

Задание 2 - срок 05.10

    1. Проверка email адреса на валидность с помощью библиотеки RegExp.
    2. Hint: проверить следующие адреса
    • Определяются ли как правильные:
      • a@b.cc
      • victor.polozov@mail.ru
      • my@domain.info
      • _.1@mail.com
      • coins@hermitage.museum
    • Определяются ли как неправильные:
      • a@b.c
      • a..b@mail.ru
      • .a@mail.ru
      • yo@domain.domain
      • 1@mail.ru
    1. Скобки - (), [], xml
    2. Корень числа в double.
    3. Убедиться что результат считается с хорошей точностью для маленьких чисел и завершается для больших.
    4. Hint: проверить следующие числа
      • 0.001
      • 0.1e-20
      • 1.0e20
      • 1.0e50
    5. Робот
    6. Сортировка - общий интерфейс
    7. Монетки

Задание 3 - Калькулятор

Калькулятор с арифметическими выражениями и переменными на основе хэш-таблицы.

Задание 4 - Многопоточное программирование.

Многопоточная реализация умножения матриц.

Задание 5 - Интерпретатор

Задание 6 - тренинг по юнит-тестам (16.11 - 20.11)

Смотри задание.

Доклады

Общие

    • Василий Калитеевский - хэш функции (MD5, SHA1) - переделать доклад
    • Богдан Клепач - криптография с открытым ключом (05.10) - доделать презентацию
    • Антон Онищук - swing (09.10)
    • Дмитрий Копытов - параллельное программирование на Java (12.10)
    • Павел Русинов - Java Bytecode (12.10)
    • Дмитрий Чернов - сборка мусора в HotSpot (16.10)

Паттерны

    • Abstract Factory - уже было рассказано
    • Factory Method
    • Prototype
    • Singleton
    • Adapter
    • Bridge
    • Composite
    • Facade
    • Flyweight
    • Proxy
    • Command
    • Interpreter
    • Iterator
    • Mediator
    • Memento
    • Observer
    • State
    • Template

Успеваемость

2011-2012.SE.x71

Легенда:

  • + - принято
  • ? - есть серьезные вопросы (возможно, были комментарии к коммиту)
    • возможно, есть проблемы с пониманием условий задачи
  • S - стилистические проблемы:
    • проблемы с обязательными комментариями
    • проблемы с именованием
    • проблемы с форматированием
    • и прочие.
  • T - отсутствуют тесты или тестовый набор не полон
  • - - превышен допустимый срок сдачи программы, оставлена на сессию.