diff --git a/README.md b/README.md
index 86806493..e288257e 100644
--- a/README.md
+++ b/README.md
@@ -1,88 +1,120 @@
-# Курс JavaSE + Web
-
-## Вступительное заниятие
- - [Необходимое ПО](intro.md#Необходимое-ПО)
- - [Рекомендуемые книги](intro.md#Рекомендуемые-книги)
- - [Ресуры в сети](intro.md#Ресуры-в-сети)
- - [Вступительное задание](intro.md#Вступительное-задание)
-
-## Темы курса
-### Занятие 1
- - [Разработка ПО](lesson1.md#Разработка-ПО)
- - [Обзор языка Java](lesson1.md#Обзор-языка-java)
- - [Системы управления версиями. Git](lesson1.md#Системы-управления-версиями-git)
- - [Настройка окружения](lesson1.md#Настройка-окружения)
- - [Насторойка проекта. Ветка HW1. Debug](lesson1.md#Насторойка-проекта-Ветка-hw1-debug)
+# Курс BaseJava (обновленный и переработанный)
+
+## Разработка Web приложения "База данных резюме"
+ - используем: Java 8, IntelliJ IDEA,
+ GitHib/Git, Сервлеты, JSP, JSTL, Tomcat, JUnit, PostgreSQL, GSON, JAXB
+ - хранение резюме
+ - в памяти на основе массива, отсортированного массива, списка и ассоциированного массива (Map)
+ - в файловой системе (File API и Java 7 NIO File API)
+ - в стандартной и кастомной сериализации Java
+ - в формате JSON (Google Gson)
+ - в формате XML (JAXB)
+ - в реляционной базе PostgreSQL
+ - деплой веб приложения
+ - в контейнер сервлетов Tomcat
+ - в облачный сервис Heroku
+
+Приложение будет разрабатываться начиная со первого занятия, основываясь на базовых темах курса:
+**объектная модель, коллекции, система ввода-вывода, работа с файлами, сериализация, работа с XML, JSON, SQL, персистентность в базу данных (PostgreSQL), сервлеты, HTML/JSP/JSTL, веб-контейнер Tomcat, модульные тесты JUnit, java.util.Logging, система контроля версий Git.**
+
+> Любое знание стоит воспринимать как подобие семантического дерева: убедитесь в том, что понимаете фундаментальные принципы, то есть ствол и крупные ветки, прежде чем лезть в мелкие листья-детали. Иначе последним не на чем будет держаться.
+
+[*— Илон Маск](https://ru.wikipedia.org/wiki/Маск,_Илон)
+
+# Изучайте [первое открытое занятие](lesson/lesson1.md).
+### Внизу урока есть первое домашнее задание, по которому можно оценить свой уровень готовности к проекту.
+
+## Программа
+### [Регистрация](http://javaops.ru/reg/basejava)
+### Открытое занятие 1
+ - [Презентация проекта](lesson/lesson1.md#-Вебинар-ПРЕЗЕНТАЦИЯ-обучения)
+ - [Разработка ПО](lesson/lesson1.md#-1-Разработка-ПО)
+ - [Обзор языка Java](lesson/lesson1.md#-3-Обзор-языка-java)
+ - [Системы управления версиями. Git](lesson/lesson1.md#-4-Системы-управления-версиями-git)
+ - [ПЕРВОЕ ДОМАШНЕЕ ЗАДАНИЕ](lesson/lesson1.md#Домашнее-задание-hw1)
### Занятие 2
- - [Принципы ООП](lesson2.md#Принципы-ООП)
- - [Структура памяти: куча, стек, регистры, константы](lesson2.md#Структура-памяти-куча-стек-регистры-константы)
- - [Типы данных. Пакеты](lesson2.md#Типы-данных-Пакеты)
+ - [Принципы ООП](lesson/lesson2.md#Принципы-ООП)
+ - [Структура памяти: куча, стек, регистры, константы](lesson/lesson2.md#Структура-памяти-куча-стек-регистры-константы)
+ - [Типы данных. Пакеты](lesson/lesson2.md#Типы-данных-Пакеты)
### Занятие 3
- - [Объектная модель в Java](lesson3.md#Объектная-модель-в-java)
- - [Сложность алгоритмов](lesson3.md#Сложность-алгоритмов)
-
+ - [Объектная модель в Java](lesson/lesson3.md#Объектная-модель-в-java)
+ - [Сложность алгоритмов](lesson/lesson3.md#Сложность-алгоритмов)
+ - [Паттерн проектирования Шаблонный метод](https://github.com/JavaOPs/JavaSE-Web/blob/master/lesson/lesson3.md#Паттерн-проектирования-Шаблонный-метод)
+
### Занятие 4
- - [Работа со строками](lesson4.md#Работа-со-строками)
- - [Исключения](lesson4.md#Исключения)
- - [Reflection. Аннотации. Модульное тестирование](lesson4.md#reflection-Аннотации-Модульное-тестирование)
+ - [Работа со строками](lesson/lesson4.md#Работа-со-строками)
+ - [Исключения](lesson/lesson4.md#Исключения)
+ - [Reflection. Аннотации. Модульное тестирование](lesson/lesson4.md#reflection-Аннотации-Модульное-тестирование)
### Занятие 5
- - [Контейнеры/коллекции](lesson5.md#Контейнерыколлекции)
+ - [Контейнеры/коллекции](lesson/lesson5.md#Контейнерыколлекции)
### Занятие 6
- - [Iterator / Iterable. Вложенные, внутренние, локальные и анонимные классы](lesson6.md#iterator--iterable-Вложенные-внутренние-локальные-и-анонимные-классы)
- - [Новое в Java 8](lesson6.md#Новое-в-java-8)
+ - [Iterator / Iterable. Вложенные, внутренние, локальные и анонимные классы](lesson/lesson6.md#iterator--iterable-Вложенные-внутренние-локальные-и-анонимные-классы)
+ - [Новое в Java 8](lesson/lesson6.md#Новое-в-java-8)
### Занятие 7
- - [Параметризация. Стирание типов](lesson7.md#Параметризация-Стирание-типов)
- - [Логирование](lesson7.md#Логирование)
- - [Синглетон, Enum](lesson7.md#Синглетон-enum)
+ - [Параметризация. Стирание типов](lesson/lesson7.md#Параметризация-Стирание-типов)
+ - [Логирование](lesson/lesson7.md#Логирование)
+ - [Синглетон, Enum](lesson/lesson7.md#Синглетон-enum)
### Занятие 8
- - [Работа с датами и временем](lesson8.md#Работа-с-датами-и-временем)
- - [Работа с файлами и ресурсами](lesson8.md#Работа-с-файлами-и-ресурсами)
+ - [Работа с датами и временем](lesson/lesson8.md#Работа-с-датами-и-временем)
+ - [Работа с файлами и ресурсами](lesson/lesson8.md#Работа-с-файлами-и-ресурсами)
### Занятие 9
- - [Ввод/вывод](lesson9.md#Вводвывод)
- - [Сериализация](lesson9.md#Сериализация)
- - [NIO](lesson9.md#nio)
- - [Основы Java 8 Stream API](lesson9.md#Основы-java-8-stream-api)
+ - [Ввод/вывод](lesson/lesson9.md#Вводвывод)
+ - [Сериализация](lesson/lesson9.md#Сериализация)
+ - [NIO](lesson/lesson9.md#nio)
+ - [Основы Java 8 Stream API](lesson/lesson9.md#Основы-java-8-stream-api)
### Занятие 10
- - [Формат XML. Работа с XML в Java](lesson10.md#Формат-xml-Работа-с-xml-в-java)
- - [JSON](lesson10.md#json)
- - [DataInputStream / DataOutputStream](lesson10.md#datainputstream--dataoutputstream)
+ - [Формат XML. Работа с XML в Java](lesson/lesson10.md#Формат-xml-Работа-с-xml-в-java)
+ - [JSON](lesson/lesson10.md#json)
+ - [DataInputStream / DataOutputStream](lesson/lesson10.md#datainputstream--dataoutputstream)
### Занятие 11
- - [Многопоточность. Параллельное выполнение.](lesson11.md#Многопоточность-Параллельное-выполнение)
- - [Потоки. Синхронизация](lesson11.md#Потоки-Синхронизация)
- - [Ленивая инициализация, JMM](lesson11.md#Ленивая-инициализация-jmm)
+ - [Многопоточность. Параллельное выполнение.](lesson/lesson11.md#Многопоточность-Параллельное-выполнение)
+ - [Потоки. Синхронизация](lesson/lesson11.md#Потоки-Синхронизация)
+ - [Ленивая инициализация, JMM](lesson/lesson11.md#Ленивая-инициализация-jmm)
### Занятие 12
- - [java.util.concurrent](lesson12.md#javautilconcurrent)
+ - [java.util.concurrent](lesson/lesson12.md#javautilconcurrent)
### Занятие 13
- - [Базы данных. Реляционные СУБД. PostgreSQL](lesson13.md#Базы-данных-Реляционные-СУБД-postgresql)
- - [Конфигурирование данных в Java проекте](lesson13.md#Конфигурирование-данных-в-java-проекте)
- - [Подключение DB в проект](lesson13.md#Подключение-db-в-проект)
+ - [Базы данных. Реляционные СУБД. PostgreSQL](lesson/lesson13.md#Базы-данных-Реляционные-СУБД-postgresql)
+ - [Конфигурирование данных в Java проекте](lesson/lesson13.md#Конфигурирование-данных-в-java-проекте)
+ - [Подключение DB в проект](lesson/lesson13.md#Подключение-db-в-проект)
### Занятие 14
- - [JOIN](lesson14.md#join)
- - [Транзакции](lesson14.md#Транзакции)
- - [Установка/запуск Tomcat](lesson14.md#Установказапуск-tomcat)
+ - [JOIN](lesson/lesson14.md#join)
+ - [Транзакции](lesson/lesson14.md#Транзакции)
+ - [Установка/запуск Tomcat](lesson/lesson14.md#Установказапуск-tomcat)
### Занятие 15
- - [HTML, Tomcat](lesson15.md#html-tomcat)
- - [Сервлеты](lesson15.md#Сервлеты)
+ - [HTML, Tomcat](lesson/lesson15.md#html-tomcat)
+ - [Сервлеты](lesson/lesson15.md#Сервлеты)
### Занятие 16
- - [JSP](lesson16.md#jsp)
- - [JSTL](lesson16.md#jstl)
+ - [JSP](lesson/lesson16.md#jsp)
+ - [JSTL](lesson/lesson16.md#jstl)
### Занятие 17
- - [Деплой в Heroku](lesson17.md#Деплой-в-heroku)
- - [Classloader](lesson17.md#classloader)
- - [Обзор Java Enterprise](lesson17.md#Обзор-java-enterprise)
-
+ - [Деплой в Heroku](lesson/lesson17.md#Деплой-в-heroku)
+ - [Classloader](lesson/lesson17.md#classloader)
+ - [Обзор Java Enterprise](lesson/lesson17.md#Обзор-java-enterprise)
+
+## Рекомендуемые книги
+- YAKOV FAIN: Программирование на Java для начинающих
+- Книги по Java: от новичка до профессионала
+- Джошуа Блох: Java. Эффективное программирование, 2-е издание
+- Гамма, Хелм, Джонсон: Приемы объектно-ориентированного проектирования. Паттерны проектирования
+- Редмонд Э.: Семь баз данных за семь недель. Введение в современные базы данных и идеологию NoSQL.
+
+## Ресуры в сети
+- [Руководство по Java Core](http://proselyte.net/tutorials/java-core/)
+- [Java. Базовый курс](https://stepik.org/course/Java-Базовый-курс-187)
+- intuit: Программирование на Java
+- Основы программирования на Java: учебное пособие
diff --git a/intro.md b/intro.md
deleted file mode 100644
index c929bead..00000000
--- a/intro.md
+++ /dev/null
@@ -1,38 +0,0 @@
-
-# Вступительное занятие
-
-## Необходимое ПО
-- JDK8
-- Git
-- Аккаунт GitHub
-- IntelliJ IDEA
-
-> Выбирать Ultimate, 30 days trial (нам понадобится Git, JavaScript, Tomcat, JSP). Учебный ключ выдается на первом занятии.
-
-## Рекомендуемые книги
-- YAKOV FAIN: Программирование на Java для начинающих
-- Книги по Java: от новичка до профессионала
-- Джошуа Блох: Java. Эффективное программирование, 2-е издание
-- Гамма, Хелм, Джонсон: Приемы объектно-ориентированного проектирования. Паттерны проектирования
-- Редмонд Э.: Семь баз данных за семь недель. Введение в современные базы данных и идеологию NoSQL.
-
-## Ресуры в сети
-- intuit: Программирование на Java
-- Основы программирования на Java: учебное пособие
-
-## Вступительное задание
-- Установите ПО: Git, Java 8, IntelliJ IDEA
-- Создайте локальную копию нашего проекта: `git clone https://github.com/JavaWebinar/JavaSE-Web.git`
-> в результате у вас должен появится каталог `JavaSE-Web`
-
-- В IntelliJ IDEA создайте новый проект, выбрав каталог `JavaSE-Web`
-
-
-
-
-
-
-
-- Реализуйте класс `ArrayStorage`: хранение резюме на основе массива (методы `clear, get, save, delete, getAll, size`).
-- Протестируйте вашу реализацию, запустив `MainTestArrayStorage.main()`: в IDEA слева на полях зеленая стрелка.
-- Протестируйте вашу реализацию интерактивно с помощью `MainArray.main()`.
diff --git a/lesson/lesson1.md b/lesson/lesson1.md
new file mode 100644
index 00000000..5770d550
--- /dev/null
+++ b/lesson/lesson1.md
@@ -0,0 +1,105 @@
+# Первое занятие
+
+##  [Вебинар ПРЕЗЕНТАЦИЯ обучения](https://drive.google.com/file/d/0B_4NpoQW1xfpNzdqT2hOcUJ6TGs)
+#### [Итоговый пример приложения, разрабатываемого в рамках данного курса (на примере резюме Григория Кислина)](https://javawebinar.github.io/)
+
+### Подготовка рабочего окружения
+- Установите [JDK8](http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html) (выбрать Accept License Agreement)
+- Установите систему управления версиями [Git](http://git-scm.com/downloads) (опции по умолчанию)
+- Создайте аккаунт на [GitHub](https://github.com/)
+- Для удобной навигации по файлам на GitHub установите расширение для браузера - [Octotree](https://habrahabr.ru/post/223527/)
+- Установите [IntelliJ IDEA Ultimate](http://www.jetbrains.com/idea/download/index.html)
+> Данная среда разработки является платным продуктом, рассчитанным на 30 дней пробного бесплатного использования. Для выполнения заданий в этой IDE каждый участник курса получит ключ на 6 месяцев
+
+##  1. [Разработка ПО](https://drive.google.com/open?id=0B_4NpoQW1xfpVjZUTEpvVUN1TTA)
+- [Книга: Мифический человеко-месяц](https://ru.wikipedia.org/wiki/Мифический_человеко-месяц)
+- [Размеры проектов в количестве строк кода](https://medium.freecodecamp.com/the-biggest-codebases-in-history-a128bb3eea73)
+- [Соглашения по именованию](http://www.intuit.ru/studies/courses/16/16/lecture/27113?page=4)
+- [Методологии разработки ПО](https://dou.ua/forums/topic/14015/)
+ - **Доступ из России через прокси (например [friGate CDN](https://chrome.google.com/webstore/detail/frigate-cdn-smooth-access/mbacbcfdfaapbcnlnbmciiaakomhkbkb))**
+- [Ещё раз про семь основных методологий разработки](https://habrahabr.ru/company/edison/blog/269789/)
+
+##  2. [Обзор инструментов и технологий](https://drive.google.com/file/d/0B_4NpoQW1xfpTXJYU2xZbjN2d2M)
+- [Bash — шпаргалка для начинающих](https://tproger.ru/translations/bash-cheatsheet)
+- [Типичный тест SQL на собеседованиях](https://habrahabr.ru/post/181033/)
+- **Обновление!!**[Что и почему используют Java-разработчики: опрос RebelLabs](https://jug.ru/2017/12/rebellabs-report/)
+ - [Java Tools and Technologies Landscape Report 2016](https://zeroturnaround.com/rebellabs/java-tools-and-technologies-landscape-2016/)
+ - [Java Tools and Technologies Landscape for 2014](http://zeroturnaround.com/rebellabs/java-tools-and-technologies-landscape-for-2014)
+- Дополнительно:
+ - [Автоматизированные сборки в Java](http://www.quizful.net/post/automated-builds-java)
+
+##  3. [Обзор языка Java](https://drive.google.com/open?id=0B_4NpoQW1xfpTU5SSElhUjlGNnc)
+- [Java](http://ru.wikipedia.org/wiki/Java), [JVM](http://ru.wikipedia.org/wiki/Виртуальная_машина_Java), [JIT-компиляция](http://ru.wikipedia.org/wiki/JIT)
+- [Что такое Java? История создания](http://www.intuit.ru/studies/courses/16/16/lecture/27105)
+- [Programming languages TIOBE Index](http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html)
+
+
+
+- [Java Microbenchmark JMH](https://github.com/JavaOPs/masterjava#Занятие-2) используем на курсе Masterjava
+- [Oracle Java8 Home](http://docs.oracle.com/javase/8/docs/index.html)
+- [ME](http://ru.wikipedia.org/wiki/Java_Platform,_Micro_Edition), [SE](http://en.wikipedia.org/wiki/Java_Platform,_Standard_Edition) (русский), [EE](http://en.wikipedia.org/wiki/Java_Platform,_Enterprise_Edition) ([русский](http://ru.wikipedia.org/wiki/Java_Platform,_Enterprise_Edition))
+- Дополнительно:
+ - [Java version and vendor data analyzed](https://plumbr.eu/blog/java/java-version-and-vendor-data-analyzed-2016-edition)
+ - [Most Popular Java EE Servers](https://dzone.com/articles/most-popular-java-ee-servers-2016-edition)
+ - [Понимаем основы Java garbage collection](https://ggenikus.github.io/blog/2014/05/04/gc)
+
+##  4. [Системы управления версиями. Git](https://drive.google.com/file/d/0B9Ye2auQ_NsFSUNrdVc0bDZuX2s)
+### Настройка проекта
+- Создайте на GitHub репозиторий с названием `basejava`
+- [Занесите](https://www.java.com/ru/download/help/path.xml) git в переменную окружения PATH и перезапустите cmd
+- Создайте локальную копию ЭТОГО проекта: `git clone https://github.com/JavaOps/basejava.git`
+- Перейти в каталог проекта: `cd basejava`
+- Настроить git в локальном проекте на свой проект в GitHub:
+ - `git remote -v`
+ - `git remote set-url origin https://github.com/[твой_GITHUB_аккаунт]/[твой_репозиторий].git` - настройка pull
+ - `git remote set-url --push origin https://github.com/[твой_GITHUB_аккаунт]/[твой_репозиторий].git` - настройка push
+ - `git push -u origin master`
+
+### Система управления версиями. VCS/DVSC
+
+
+
+- Ресурсы:
+ - Интерактивная Git обучалка
+ - Еще одна интерактивная обучалка, по русски
+ - Книга Git
+ - Working with remote repositories
+ - Видео по обучению Git
+ - Git Overview
+ - Видеокурс по Git
+ - [Основы Git за 20 минут](https://www.youtube.com/watch?v=TMeZGvtQnT8)
+- [Популярность разный VSC](http://www.netinstructions.com/the-case-for-git/)
+- Книга по Git
+
+## Домашнее задание HW1
+- Создайте в IntelliJ IDEA новый проект, выбрав каталог `basejava`, **в котором находится локальная копия моего проекта (необходимо выполнить все действия выше по настройке проекта)**:
+
+
+
+
+
+
+
+- Реализуйте класс `ArrayStorage` (вставте код в пустые методы класса): работа с `Resume` на основе массива (методы `clear, get, save, delete, getAll, size`)
+ - Не используйте в решении коллекции, реализацию на их основе мы добавим позднее
+ - Не меняйте синтаксис методов `ArrayStorage` и не меняйте класс `Resume`. Нужет только код внутри готовых методов `ArrayStorage`
+ - [Массивы](http://study-java.ru/uroki-java/massivy-v-java/)
+ - [Java массивы](http://info.javarush.ru/javarush_articles/2015/12/10/Java-%D0%BC%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D1%8B.html)
+- Протестируйте вашу реализацию, запустив `MainTestArrayStorage.main()`: в IDEA слева на полях зеленая стрелка.
+- Протестируйте вашу реализацию интерактивно с помощью `MainArray.main()`.
+- Дополнительные материалы по IntelliJ IDEA
+ - Idea Wiki (поставить кодировку UTF-8, поменять фонт по умолчанию на DejaVu)
+ - Отладчик IntelliJ IDEA
+ - Эффективная работа с кодом в IntelliJ IDEA
+
+### Optional
+- Модифицировать класс `ArrayStorage`: хранить все резюме в начале storage (без дырок null), чтобы не перебирать каждый раз все 10000 элементов.
+```
+Хранеие резюме в storage (от 0 до size-1 элементов null нет):
+
+r1, r2, r3,..., rn, null, null,..., null
+<---- size ----->
+<---- storage.length (10000)---------->
+```
+- Посмотреть на класс `Arrays`. Там есть полезные вещи, которые могут упростить код `ArrayStorage`.
+- Протестируйте реализацию, запустив MainArray.main(): в IDEA слева на полях зеленая стрелка.
diff --git a/lesson10.md b/lesson/lesson10.md
similarity index 100%
rename from lesson10.md
rename to lesson/lesson10.md
diff --git a/lesson11.md b/lesson/lesson11.md
similarity index 100%
rename from lesson11.md
rename to lesson/lesson11.md
diff --git a/lesson12.md b/lesson/lesson12.md
similarity index 63%
rename from lesson12.md
rename to lesson/lesson12.md
index c3a99007..47156cdd 100644
--- a/lesson12.md
+++ b/lesson/lesson12.md
@@ -9,10 +9,27 @@
- Справочник по синхронизаторам java.util.concurrent.*
- Использование ThreadLocal переменных
+> Замечания по видео:
+
+ ThreadLocal DATE_FORMAT = new ThreadLocal() {
+ @Override
+ protected SimpleDateFormat initialValue() {
+ return new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
+ };
+ };
+
+можно написать через лямбду:
+
+ ThreadLocal.withInitial(() -> new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"));
+
+А лучше использовать потокобезопасный `DateTimeFormatter` Java 8 Time API:
+
+ DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm:ss");
+
## Разбор домашнего задания 10го урока
## Домашнее задание:
- Установить PostgreSQL
- Посомтреть на реляционные базы данных и SQL:
- Введение в базы данных
- - Основы SQL
\ No newline at end of file
+ - Основы SQL
diff --git a/lesson13.md b/lesson/lesson13.md
similarity index 100%
rename from lesson13.md
rename to lesson/lesson13.md
diff --git a/lesson14.md b/lesson/lesson14.md
similarity index 100%
rename from lesson14.md
rename to lesson/lesson14.md
diff --git a/lesson15.md b/lesson/lesson15.md
similarity index 100%
rename from lesson15.md
rename to lesson/lesson15.md
diff --git a/lesson16.md b/lesson/lesson16.md
similarity index 100%
rename from lesson16.md
rename to lesson/lesson16.md
diff --git a/lesson17.md b/lesson/lesson17.md
similarity index 100%
rename from lesson17.md
rename to lesson/lesson17.md
diff --git a/lesson2.md b/lesson/lesson2.md
similarity index 92%
rename from lesson2.md
rename to lesson/lesson2.md
index e5f33609..1e9066ff 100644
--- a/lesson2.md
+++ b/lesson/lesson2.md
@@ -5,6 +5,7 @@
- Методология процедурно-ориентированного и объектно-ориентированного программирования
- Объекты (cостояние, поведение, уникальность)
- Классы. Инкапсуляция. Наследование. Полиморфизм.
+- Основы Объектно-Ориентированного Программирования (ООП)
- Типы отношений между классами Наследование, агрегация, композиция, ассоциация.
- Достоинства/Недостатки ООП. Библиотеки vs фреймворки.
- Дополнительно:
@@ -30,6 +31,9 @@
- Модификаторы доступа. Область Видимости.
## Домашнее задание
+
+> Правка к видео: ArrayStorage.delete() - вместо `storage[i] = null` нужно `storage[size-1] = null`
+
- Прочитать Соглашения по именованию.
- Реализовать `ArrayStorage.update`
- Сделать проверки: в `update/delete/get` - резюме есть в storage, в `save`- нет в storage: `System.out.println("Resume ...")`.
diff --git a/lesson3.md b/lesson/lesson3.md
similarity index 87%
rename from lesson3.md
rename to lesson/lesson3.md
index e86bcc05..36b8407f 100644
--- a/lesson3.md
+++ b/lesson/lesson3.md
@@ -8,12 +8,15 @@
- Object. Контракт equals/hashCode
- Интерфейсы
- Полиморфизм, abstract
+- [Java Core. Вопросы к собеседованию](http://info.javarush.ru/translation/2014/02/12/Java-Core-Вопросы-к-собеседованию-ч-1.html)
## Сложность алгоритмов
- Алгоритмы и структуры данных для начинающих: сложность алгоритмов
- Time complexity
- Временная сложность алгоритма
- Вычислительная сложность
+
+## Паттерн проектирования Шаблонный метод
- Шаблонный метод
## Домашнее задание
diff --git a/lesson4.md b/lesson/lesson4.md
similarity index 100%
rename from lesson4.md
rename to lesson/lesson4.md
diff --git a/lesson5.md b/lesson/lesson5.md
similarity index 62%
rename from lesson5.md
rename to lesson/lesson5.md
index fdc77b03..169a361c 100644
--- a/lesson5.md
+++ b/lesson/lesson5.md
@@ -8,6 +8,8 @@
- Структуры данных в картинках
- Инициализация полей в Java
- Java собеседование по коллекциям
+- [Часто задаваемые на собеседованиях вопросы по классам коллекциям в Java](http://info.javarush.ru/translation/2013/10/08/Часто-задаваемые-на-собеседованиях-вопросы-по-классам-коллекциям-в-Java-Часть-2-.html#1)
+- [Собеседование по Java — коллекции](http://javastudy.ru/interview/collections/)
## Домашнее задание
-Выделить общий класс `AbstractStorage` и реализовать подклассы `ListStorage` и `MapStorage`. Выбор реализации List и Map за вами.
\ No newline at end of file
+Выделить общий класс `AbstractStorage` и реализовать подклассы `ListStorage` и `MapStorage`. Выбор реализации List и Map за вами.
diff --git a/lesson6.md b/lesson/lesson6.md
similarity index 100%
rename from lesson6.md
rename to lesson/lesson6.md
diff --git a/lesson7.md b/lesson/lesson7.md
similarity index 100%
rename from lesson7.md
rename to lesson/lesson7.md
diff --git a/lesson8.md b/lesson/lesson8.md
similarity index 100%
rename from lesson8.md
rename to lesson/lesson8.md
diff --git a/lesson9.md b/lesson/lesson9.md
similarity index 100%
rename from lesson9.md
rename to lesson/lesson9.md
diff --git a/lesson1.md b/lesson1.md
deleted file mode 100644
index 0b1fc5c0..00000000
--- a/lesson1.md
+++ /dev/null
@@ -1,60 +0,0 @@
-
-# Первое занятие
-
-## Разработка ПО.
-- Книга: Мифический человеко-месяц
-- Методологии разработки ПО
-- Ещё раз про семь основных методологий разработки
-
-## Обзор инструментов и технологий.
-- Обзор популярности инструментов и технологий Java за 2014г.
-- Дополнительно:
- - Автоматизированные сборки в Java
-
-## Обзор языка Java
-- Java, JVM, JIT-компиляция
-
-
-
-- Programming languages TIOBE Index
-- ME, SE (русский), EE (русский)
-- Oracle Java8 Home
-- Дополнительно:
- - Java version and vendor data analyzed
- - Most Popular Java EE Servers
- - Что такое Java? История создания
- - Понимаем основы Java garbage collection
-
-## Системы управления версиями. Git.
-- Система управления версиями.
-- VCS/DVSC.
-
-
-
-- Популярность разный VSC
-- Книга по Git
-
-## Настройка окружения
-- Idea Wiki (поставить кодировку UTF-8, поменять фонт по умолчанию на DejaVu)
-- git занести в переменная окружения PATH, перезапустить cmd
-- Создайте локальную копию нашего проекта: `git clone https://github.com/School-IT-Programm/resume-storage.git`
-- Перейти в каталог проекта: `cd resume-storage`
-- `git remote -v`
-- `git remote set-url origin https://github.com/School-IT-Programm/resume-storage.git` - настройка pull
-- `git remote set-url --push origin https://github.com/[YouGitHub/YourRepo].git` - настройка push
-- `git push -u origin master`
-
-## Насторойка проекта. Ветка HW1. Debug
-- Отладчик IntelliJ IDEA
-- Эффективная работа с кодом в IntelliJ IDEA
-
-## Домашнее задание
-- Модифицировать класс `ArrayStorage`: хранить все резюме в начале storage (без дырок null), чтобы не перебирать каждый раз все 10000 элементов.
-```
-Хранеие резюме в storage (от 0 до size-1 элементов null нет):
-
-r1, r2, r3,..., rn, null, null,..., null
-<---- size ----->
-<---- storage.length --------------->
-```
-- Посмотреть на класс `Arrays`. Там есть полезные вещи, которые могут упростить код `ArrayStorage`.