Категория:Технологии программирования (10 семестр)

Материал из Кафедра ИУ5 МГТУ им. Н.Э.Баумана - студенческое сообщество
Перейти к: навигация, поиск

Технологии программирования
Преподаватель: Тарнакин А.О.
Лекций:  ?
Семинаров: нет
Лабораторных работ: 3
Домашних заданий: нет
Рубежных контролей: нет
Ходить: по желанию
Что сдавать: экзамен

Технологии программирования. А конкретно - Java.

Лекции

За явкой следить не будут. Вики-конспектов не будет, потому что лекции даются не для конспектирования. Весь материал тут.

Лабораторные работы

Всего 3 лабораторных.

Выполняются на языке Java. ПО для разработки можно загрузить здесь. Необходимы JRE и JDK. В качестве IDE вполне хватит NetBeans. Сервером приложений лучше выбрать Apache Tomcat, а не GlassFish.

Как можно заметить, описания работ даны в очень общем виде, без подробных требований. По этому поводу прямая речь от преподавателя:
Задания умышленно не детализирую, мне интересно посмотреть на ваше творчество.

Сдача лабораторных (и курсовой) происходит по принципу "чем раньше - тем проще". В начале вообще по коду ничего отвечать не надо и нет дополнительных заданий. Но начиная где-то с мая сдать станет ощутимо сложнее.

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

Работа с базовыми классами стандартных пакетов java.io, java.net, java.util.

Задание:

  • необходимо получить содержимое web-странички, проиндексировать слова в нём (в содержимом) и результаты сохранить в файл;
  • программа должна быть исполнена в виде консольного приложения, позволяющего выбирать адрес web-страницы и имя файла, в который будут сохранены результаты;
  • программу необходимо компилировать и запускать без помощи IDE (но сам код можно писать и в IDE).

Ссылки по теме:

Проникнуться предметной областью поможет эта песня.

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

Выполняется на базе ЛР №1.

Работа с БД, многопоточность, синхронизация, журналирование.

Задание:

  • программа должна быть выполнена как многопоточное приложение, использующее java.util.concurrent и позволяющее ограничивать загрузку процессора;
  • индексация каждой странички должна производиться в отдельном потоке, содержимое сохранять в БД тройками вида слово - частота упоминания на странице - страница. Найденные на страничке ссылки (href="http://...") должны обрабатываться отличным от текущего потоком;
  • программа должна выполнять поиск по словам и выводить адреса проиндексированных ранее страничек в порядке, пропорциональном частоте появления слова на страничке;
  • программа должна писать отладочные сообщения посредством стандартных механизмов SLF4J.

Ссылки по теме:

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

Выполняется на базе ЛР №2.

Создание web-сервисов.

Задание:

  • программа должна быть выполнена в виде web-приложения, индексирующего в фоновом режиме содержимое страничек, и обрабатывать поисковые запросы посредством REST web-сервиса.

Ссылки по теме:

Если решите делать на SOAP - передумайте обратно. Тарнакин и все правильные чуваки не одобряют.

Готовые лабораторные работы

Год Вариант исполнения Работа Описание Ссылка
2013 1 ЛР №1 сбор только русских слов через RegExp
Notepad++, командная строка
загрузить
2013 1 ЛР №2 СУБД PostgreSQL (схема БД есть), настройки из config.ini
NetBeans
загрузить
2013 1 ЛР №3 СУБД PostgreSQL (схема БД из ЛР №2)
NetBeans, Apache Tomcat
загрузить
2013 2 все Описание доступно по ссылке github
2013 3 все СУБД PostgreSQL (схема БД прилагается)
NetBeans, GlassFish
загрузить
2015 * все С 2015 г. Тарнакин выдал новые задания по лабам. Изобретаем свой Google. Задание прилагается. загрузить

Курсовая работа

Страница курсовой работы находится здесь.

Экзамен

Автоматов нет. Пропуски лекций не влияют ни на что. Сроки сдачи лабораторных и курсовой не влияют ни на что, даже если вы всё сделали ещё в первый месяц семестра (задротам очень припечёт). Никаких привелегированных списков нет, все сдают одинаково: и ботаны, и нормальные люди.

Списать легко, и Тарнакин знает, что почти все списывают. Но при ответе нужно разбираться в том, что ты списал, иначе оценка будет удручающая.

В билете два теоретических вопроса. Задач / практики нет.

Загрузки:

Литература

Эта категория в данный момент пуста.