Learning the art of programming, like most other disciplines, consist of first learning the rules and then learning when to break them.
Joshua Bloch

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

2017-2018 (ПО-51,52,53, РПИС-51)
2018-2019 (ПО-61,62,63, РПИС-61)
2019-2020 (ПО-71,72,73, 74, РПИС-71, 72)

Roadmap (edited 04.09.2018)

Дополнительная информация (порой, необходимая для изучения)

1 VCS Git
5 HTML+CSS+JS
6 Servlets
7-8 JSP. JSTL

9 JSF
10 AJAX
16 Entity Persistence

Регламент проведения экзамена

Экзамен начинается в 9:00.
С 9:00 до 9:30 — выдача задания и учетных данных для соединения с БД. Настройка студентом окружения для решения экзаменационной задачи.
С 9:30 до 16:30 — решение задачи.
С 16:30 проверка написанного студентами кода.
Разрешения:
1 — можно и НУЖНО пользоваться любой доступной Вам IDE
2 — можно пользоваться своими ноутбуками
3 — можно пользоваться любой документацией, которую только найдете
4 — можно пользовать любой сервер приложений и СУБД (в общем, студен сам их выбирает)
5 — можно приходить со своей едой и напитками
6 — можно выйти в туалет, но только 2 раза за все время и по-очереди
Ограничения:
1 — нельзя пользоваться помощью сочувствующих товарищей, которые пишут код за студента
2 — нельзя пользоваться любыми месенджерами

Пример экзаменационной задачи
Создать 3 страницы, реализующие небольшой on-line сервис заказа пиццы.
1) Главная страница. Отображает название магазина и список пицц, которые можно заказать. На этой же странице содержится кнопка перехода на страницу корзины. К каждой пицце должен относится список, позволяющий выбрать размер и кнопка «добавить», добавляющая пиццу в корзину. Также здесь должна присутствовать кнопка подтверждения заказа.
2) Страница корзины. Отображает выбранные пиццы\количество каждой\их размер. Стоимость по каждой пицце и итоговую стоимость. Количество заказанных пицц и размер можно изменить. На странице должна присутствовать кнопка «оформить заказ», которая отправляет пользователя на 3-ю страницу — подтверждения заказа. А так же кнопка «возврат к покупкам», осуществляющая переход на первую страницу.
3) Подтверждение заказа. Данная страница описывает в виде таблицы (без возможности изменения) содержимое корзины, стоимость каждой позиции заказа и общую стоимость. Также содержит поля ввода ФИО, телефона, e-mail, предпочитаемого времени доставки (значение этого поля можно установить минимум через час после нажатия кнопки «подтвердить»). При нажатии кнопки «подтвердить» пользователю выводится сообщение об успешном заказе с ссылкой возврата на главную.
Требования к БД:
БД содержит 3 таблицы:
1 — Таблица Пицц, содержащая всю инку по таблицам (будет создана преподавателем)
2 — Таблица заказов, в которую помещаются заказы после нажатия кнопки «подтвердить», в которой содержится информация о заказчике
3 — Таблица позиций заказа, в которую помещаются ID на заказываемые пиццы \ число \ размер \ внешний ключ на ID заказа
Модификация на 3-4
При добавлении пиццы в корзину происходит отправка данных на сервер и страница перегружается (обновляя корзину)
Модификация на 5
1) Корзина хранится в объекте Java Script и отправка даных заказа происходит только при переходе на страницу корзины или подтверждения заказа. Добавление пиццы к заказу производится с помощью скриптов
2) Страница подтверждения заказа должна предлагать вариант оплаты : наличными или картой. При выборе оплаты картой, на странице должна появиться форма, позволяющая пользователю ввести номер карты, месяц и год истечения срока обслуживания, фамилию и имя держателя, CVV код. При выборе оплаты наличными, эта форма должна «исчезнуть».
3) БД должна содержать таблицу, содержащую данные карт, вводимые пользователями и ID соответствующего заказа.