diff --git a/README.md b/README.md
index c62dbb4..42740a2 100644
--- a/README.md
+++ b/README.md
@@ -1,17 +1,48 @@
-# StartJava
- Программирование на языке Java для начинающих "с нуля"
+# StartJava — курс программирования на Java для начинающих
-
+
-Вы решили начать изучать язык программирования Java и, возможно, в будущем хотели бы пройти обучение на наших [курсах](https://topjava.ru/) и получить достойную профессию разработчика!
-Но знаний еще не хватает и [выполнить](https://drive.google.com/file/d/1W9AtOE3yvDCOOZxmHSw4lGpFiFVYJB8_/view?usp=sharing) первое открытое домашнее задание (его вы получите сразу после регистрации на проекте) на курсе [BaseJava](https://topjava.ru/basejava) не получается...
+Если вы оказались на этой странице, значит, решили начать изучать язык программирования Java. Если вы достаточно упорны и терпеливы, то рано или поздно старания принесут ожидаемые плоды — вы освоите профессию разработчика. В современном мире — это один из немногих видов деятельности, который позволит вам чувствовать себя прекрасно во всех отношениях. Но достичь этого положения очень не просто: не каждому суждено в итоге стать программистом.
-Что бы помочь вам начать программировать, наша команда разработала новый курс — StartJava
+Чтобы облегчить ваше обучение, помочь начать программировать, видеть прогресс и повысить шансы на успех, мы разработали авторский курс StartJava, который значительно ускорит процесс освоения Java, заложив прочный фундамент для дальнейшего и более глубокого его изучения. Курс StartJava является первым шагом на пути к профессии Java-программист. Именно с него следует начинать изучать этот язык.
-Все уроки интенсива содержат наши авторские видео, а также ссылки на дополнительные материалы и домашние задания, которое позволят вам закрепить изученные темы
+**Отметим достоинства курса:**
+- тщательная и качественная проверка ДЗ, минимум, два раза в день
+- ответы наставником на любые вопросы, связанные с изучаемыми темами
+- ДЗ проверяется до тех пор, пока оно не будет решено
+- терпеливый наставник без вредных привычек :)
+- большое количество практических заданий разной сложности на каждую тему
+- множество тестов на пройденные темы после каждого урока
+- написание выпускного проекта и ревью его кода наставником
+- авторские видеолекции и статьи с пошаговым разбором материала
+- обилие дополнительных источников для углубленного изучения материала
+- учебный материал хорошо структурирован, последователен и понятен: подается с постепенно возрастающей сложностью
+- обучение не только Java, но и всем сопутствующим технологиям и инструментам: от работы в консоли до Git и баз данных
+- обучение техникам Clean Code, Refactoring и форматированию кода с первого урока
+- получение навыка писать красивый и читаемый код — его качество вырастет в разы
+- привитие культуры профессиональной работы с кодом и правильных привычек
+- закладывание качественного и серьезного фундамента для дальнейшего изучения Java
+- развитие мышления программиста, а также умения искать решение проблем
+- подготовитесь к поступлению на курс BaseJava
+- наконец-то почувствуете прогресс от обучения и начнете программировать
-Также предлагаем вам посмотреть наш вебинар на тему ["Как стать Java-программистом"](https://vk.com/wall-18505771_829)
+**Общие сведения:**
+- электронный сертификат по окончанию на русском и английском языках
+- среднее время обучения 10 недель
+- курс можно проходить в удобные для себя время и темп
+- старт обучения сразу после оплаты
+- по завершению - скидка на курс BaseJava
+**Формат обучения:**
+- вы смотрите наши авторские видеолекции, изучаете дополнительный материал, выполняете ДЗ
+- по мере готовности сообщаете наставнику, что его нужно проверить
+- он проверяет и пишет, что требуется исправить
+- вы исправляете, он снова проверяет. И так повторяется до тех пор, пока ваше решение не будет соответствовать условию ДЗ и представлению наставника о том, как его нужно выполнить
+- если все верно, то наставник напишет, чтобы вы выполняли следующее ДЗ
+
+Курс очень интересный и насыщенный, постоянно развивается и улучшается. Если еще есть сомнения, то [ознакомьтесь с отзывами](https://vk.com/topic-18505771_38447031?offset=80) выпускников.
+
+Также предлагаем вам посмотреть наш вебинар на тему ["Как стать Java-программистом"](https://vk.com/wall-18505771_829).
## Программа интенсива
- **Занятие первое**
@@ -23,10 +54,10 @@
- [Переменные: примитивные типы данных](https://github.com/JavaOPs/startjava/blob/master/lesson%201.md#-6-переменные-примитивные-типы-данных)
- [Ветвление: if, if else](https://github.com/JavaOPs/startjava/blob/master/lesson%201.md#-7-ветвление-if-if-else)
- [Циклы: for, while, do while](https://github.com/JavaOPs/startjava/blob/master/lesson%201.md#-8-циклы-for-while-do-while)
- - [Система управления версиями Git](https://github.com/JavaOPs/startjava/blob/master/lesson%201.md#-9-система-управления-версиями-git)
- - [Настройка локального репозитория](https://github.com/JavaOPs/startjava/blob/master/lesson%201.md#10-настройка-локального-репозитория)
- - [Домашнее задание](https://github.com/JavaOPs/startjava/blob/master/lesson%201.md#-11-домашнее-задание)
- - [Советы для тех, кто выполняет домашнее задание](https://github.com/JavaOPs/startjava/blob/master/lesson%201.md#12-советы-для-тех-кто-выполняет-домашнее-задание)
+ - [Система управления версиями Git](https://github.com/JavaOPs/startjava/blob/master/lesson%201.md#-9-система-управления-версиями-git)
+ - [Итоговые домашние задания](https://github.com/JavaOPs/startjava/blob/master/lesson%201.md#10)
+ - [Опросник](https://github.com/JavaOPs/startjava/blob/master/lesson%201.md#11)
+ - [Общие рекомендации по выполнению ДЗ](https://github.com/JavaOPs/startjava/blob/master/lesson%201.md#12)
- **Занятие второе**
- Разбор домашнего задания
@@ -34,7 +65,8 @@
- Что такое класс
- Что такое объект
- Инкапсуляция: геттеры/сеттеры
- - Домашнее задание
+ - Итоговые домашние задания
+ - Опросники
- **Занятие третье**
- Разбор домашнего задания
@@ -42,15 +74,18 @@
- Компиляция Java-программ. Часть II
- .gitignore
- Домашнее задание
+ - Опросники
- **Занятие четвертое**
- Разбор домашнего задания
- - Среда разработки — IntelliJ IDEA
- - Массивы. Цикл for each
+ - Среда разработки IntelliJ IDEA
+ - Массивы. Цикл foreach
- Задачки на массивы
- Сортировка массива методом пузырька
- Класс java.util.Arrays
- - Домашнее задание
+ - Итоговые домашние задания
+ - Выпускной проект
+ - Опросники
- Бонусные видео
- **Занятие пятое**
@@ -60,19 +95,25 @@
- Домашнее задание
## Рекомендуемые книги
- - [Изучаем Java](https://www.ozon.ru/context/detail/id/7821666/)
- - [Pro Git](https://git-scm.com/book/ru/v2)
- - [Объектно-ориентированное мышление. Мэтт Вайсфельд](https://www.ozon.ru/context/detail/id/26036833/)
- - [Java Programming for Kids (есть русский перевод)](http://myflex.org/books/java4kids/java4kids.htm)
- - [Книга для детей: Яша учится программировать](https://drive.google.com/file/d/1ukTlzMrFX3Zj8X9TXp6U-mJUH1fOKUED/view?usp=sharing)
+- [Список книг для начинающего Java-программиста](https://topjava.ru/blog/spisok-knig-dlya-nachinayushchego-java-programmista)
-## Полезные курсы
+## Полезные плейлисты
- [Яков Файн: "Введение в программирование на языке Java"](https://www.youtube.com/playlist?list=PLkKunJj_bZefB1_hhS68092rbF4HFtKjW)
- [Мирончик И.Я.: "Основы программирования на языке Java"](https://www.youtube.com/playlist?list=PL4535B9D2F8203AC7)
+## Полезные ссылки
+ - [Вопросы и ответы для подготовки к собеседованию](https://github.com/enhorse/java-interview)
+ - [Программа для сохранения вашего зрения](https://justgetflux.com/)
+ - [Топовый курс для изучения английского с нуля](https://youtube.com/playlist?list=PLD6SPjEPomauFCdDQwuHubP7F2yIVJnwN)
+ - [Google Переводчик — плагин для браузера](https://chrome.google.com/webstore/detail/google-translate/aapbdbdomjkkjkaonfhkkikfgjllcleb?hl=ru)
+ - [Клевая музыка для кодинга](https://www.youtube.com/channel/UCwVQIkAtyZzQSA-OY1rsGig)
+ - [Плагин для браузера: переводит на русский язык видео с YouTube](https://github.com/ilyhalight/voice-over-translation)
+
+## Благодарности
+ - Спасибо всем, кто дает обратную связь по урокам — она помогает нам делать этот курс еще лучше
+
## Контакты
- - информация о курсах, процессе обучения, трудоустройстве: [topjava.ru](https://topjava.ru/)
- - наша группа в [vk](https://vk.com/topjavaru)
- - skype автора курса (Максим): *canbezam*
- - для общения по данному проекту подключайтесь в группу в мессенджере [Slack](https://join.slack.com/t/startjava/shared_invite/enQtMjk1ODAxNjgzMjY1LWNlNmY5MzFlMGNjMGYzMDI4MTk3YWM1Zjc3ZDhmZjAwNmE3NzUzYWNiY2ViMjg2NTk3NjBkMGI5NWZmYjhjMjk)
- - Максим в Slack: [*@chimax*](https://startjava.slack.com/messages/@chimax)
+ - Информация о курсах, процессе обучения, трудоустройстве: [topjava.ru](https://topjava.ru/)
+ - Наша группа в [vk](https://vk.com/topjavaru)
+ - Мой telegram: [ch1max](https://t.me/ch1max)
+ - Мой tg-канал: [Top Java Journal](https://t.me/topjavaru)
diff --git a/lesson 1.md b/lesson 1.md
index f17aeb8..747a42a 100644
--- a/lesson 1.md
+++ b/lesson 1.md
@@ -1,7 +1,9 @@
->  — эта иконка означает, что рядом с ней находится ссылка, содержащая видеоурок
+>  — эта иконка означает, что рядом с ней находится ссылка, содержащая видеоурок: кликайте на нее для его просмотра
+## [Отзывы выпускников о курсе](https://vk.com/topic-18505771_38447031?offset=100)
+## [Демонстрация проверки ДЗ наставником](https://youtu.be/H_PYOW9Qq80?si=isPC3-aYYPhDWL5B)
-#  [Занятие первое](https://drive.google.com/file/d/1l2g_mGPw3XEJ9OyURaXosRVqmeDz4kId/view?usp=sharing)
+# Занятие первое
## Темы занятия
1. [Подготовка рабочего окружения](#1)
@@ -13,73 +15,67 @@
1. [Ветвление: if, if else](#7)
1. [Циклы: for, while, do while](#8)
1. [Система управления версиями Git](#9)
-1. [Настройка локального репозитория](#10)
-1. [Домашнее задание](#11)
-1. [Советы для тех, кто выполняет домашнее задание](#12)
+1. [Итоговые домашние задания](#10)
+1. [Опросники](#11)
+1. [Общие рекомендации по выполнению ДЗ](#12)
+
+# [Видеообзор курса StartJava](https://youtu.be/vM1ygW7pKTE)
+- На данный момент проверка ДЗ проводится в **Telegram** в индивидуальном режиме
+- Обязательно читайте книги из [списка](https://topjava.ru/blog/spisok-knig-dlya-nachinayushchego-java-programmista) параллельно изучаемым темам
##  1. [Подготовка рабочего окружения](https://drive.google.com/file/d/1gWrBFrly3BdXKq868Xr0QkGtpM9FCmI4/view?usp=sharing)
-- Установите Java SE Development Kit 8:
- - для пользователей [Windows](http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)
- - для пользователей [Ubuntu Linux](http://help.ubuntu.ru/wiki/java)
-- Откройте консоль и введите в ней `java -version`, а затем `javac -version`
-- Если при этом возникнет ошибка `"java/javac" не является внутренней или внешней командой, исполняемой программой или пакетным файлом`, то
- - [занесите](https://youtu.be/EEqScHr_bec) в переменную окружения `PATH` полный путь до папки, где хранятся файлы `java` и `javac`. Перезапустите консоль
-- Выведите в консоли значение переменной `PATH`:
- - `echo %PATH%` (в win)
- - `$PATH` (в Linux)
-- Убедитесь, что там присутствует путь до указанных выше файлов
-- Установите систему контроля версий [Git](http://git-scm.com/downloads)
-- Создайте аккаунт на [GitHub](https://github.com/)
-- Для удобной навигации по файлам на GitHub установите расширение для браузера — [Octotree](https://habr.com/post/223527/)
-- Установите [Sublime Text](https://www.sublimetext.com/3). Именно в нем мы будем писать наши программы
-- **Чтобы табуляция при форматировании вашего кода на GitHub выглядела корректно, воспользуйтесь [этими](http://gearmobile.github.io/sublime-text-tabulation/) рекомендациями (стандарт — один tab равен 4 пробела). Смотрите раздел "Редактирование файла конфигурации Sublime Text"**
-- **Для отображения непечатаемых символов (пробелов, табуляции) выполните [эти](https://renotes.ru/post-254/sulbime-text-pokazyvat-nepechatnye-simvoly) настройки** — данная настройка позволит вам контролировать используемые в коде отступы
-
-Использовать какую-либо из IDE — запрещено! Консоль, Sublime Text и "голый" Git — ваши лучшие друзья!
+
+- [Установите и настройте Java](https://topjava.ru/blog/ustanovka-i-nastroyka-java)
+- Скачайте и установите [Sublime Text 4](https://www.sublimetext.com/download). Именно в нем мы будем писать наши программы (с четвертого урока перейдем на IntelliJ IDEA)
+
+**[Отключите](https://chromefaq.ru/nastrojki/kak-perevodit-stranitsy-v-google-chrome-s-anglijskogo-na-russkij#i-6) в браузере автоперевод страниц. Из-за него уроки могут отображаться некорректно**
**Материалы:**
+- [Знакомство с языком Java](https://www.youtube.com/live/QGHGR0xEcFA?si=xW98gPEVGZX_UrG5)
- [Что такое JDK? Введение в средства разработки Java](https://topjava.ru/blog/what-is-the-jdk)
- [Что такое JRE? Введение в среду выполнения Java](https://topjava.ru/blog/what-is-the-jre)
- [Что такое JVM? Знакомство с виртуальной машиной Java](https://topjava.ru/blog/what-is-the-jvm)
-- [Популярность Java-технологий в 2019 году](https://topjava.ru/blog/sostoyanie-java-v-2019-godu)
+- Отчет о популярности Java-технологий в [2019](https://topjava.ru/blog/sostoyanie-java-v-2019-godu), в 2023 ([1](https://drive.google.com/file/d/1KAqubG1ETRfRioEcM46M-OKOh2ZNpzJQ/view?usp=sharing), [2](https://drive.google.com/file/d/14V5UBnbGI7pSa2_kIir36eilF36LiZOD/view?usp=sharing), [3](https://www.jetbrains.com/ru-ru/lp/devecosystem-2022/java/))
##  2. [Первая программа](https://drive.google.com/file/d/1anXQBZ80wvfzozUNlfhy1wtS-eS50cZi/view?usp=sharing)
-Перепишите данный код в Sublime Text:
+- Изучите статью [Java с нуля: первая программа](https://topjava.ru/blog/pervaya-programma-na-java). В ней показано создание простой программы MyFirstApp с main-методом, а также дается подробный разбор каждой строки кода:
``` java
public class MyFirstApp {
public static void main(String[] args) {
- System.out.println("Hello, world");
+ System.out.println("Write once, run anywhere");
}
}
```
-и сохраните его в файле под названием `MyFirstApp.java`
+
+- [Настройте](https://topjava.ru/blog/nastroyka-sublime-text-dlya-java) Sublime Text для Java
+- [Настройте](https://topjava.ru/blog/nastroyka-sublime-text-dlya-java#7) проверку правописания для Sublime Text
**Материалы:**
-- [Обзор и настройка Sublime Text](https://xakep.ru/2014/07/28/sublime-text-not-for-coding/)
-- [SublimeText - Terminal Access - Plugin](https://youtu.be/4hZvb8sr1cE?t=60) (youtube)
-- [Первая программа на Java – Hello World](http://pr0java.blogspot.com/2015/03/java-hello-world.html)
-- ["Hello World!" Application](https://docs.oracle.com/javase/tutorial/getStarted/application/index.html)
-- [Java "Hello World" Program](https://www.journaldev.com/481/java-hello-world-program)
-- [Java main method](https://www.journaldev.com/12552/public-static-void-main-string-args-java-main-method)
+- [Обзор и настройка Sublime Text](https://youtu.be/xWhTf_o86Lg) — видео дано для ознакомления с возможностями редактора. Это не значит, что вам нужно делать все то, что делает его автор (youtube)
+- [Установка плагина Terminal для SublimeText](https://youtu.be/9cFW481D2lU) (youtube) — можно использовать либо этот плагин, либо `Terminus`
##  3. [Ручная компиляция и запуск программы](https://drive.google.com/file/d/1u0jyGJkFFLUwfj0c21uY2i2louNtIm_3/view?usp=sharing)
Для компиляции и запуска программы необходимо в консоли перейти в папку, в которой находится файл `MyFirstApp.java`, и ввести последовательно следующие команды:
- `javac MyFirstApp.java` — компиляция java-файла
- `java MyFirstApp` — запуск программы
-Для того, что бы русский текст корректно отображался в консоли, программы необходимо компилировать с помощью специального ключа:
-- `javac -encoding utf8 имя_класса.java`
+Для однофайловых программ, начиная с Java 11, процесс компиляции и запуска можно совместить в одной команде:
+- `java MyFirstApp.java`
+
+Для того, чтобы русский текст корректно отображался в консоли, компилируйте свои программы с помощью специального параметра `javac -encoding utf8 имя_класса.java`
+
+Более подробно об этом рассказывается в статье [Компиляция и запуск Java-программ](https://topjava.ru/blog/kompilyatsiya-i-zapusk-programm-na-java)
+
+А из статьи ["Основы командной строки для Java-программиста"](https://topjava.ru/blog/osnovy-komandnoy-stroki-dlya-java-programmista) вы узнаете о самых нужных и часто используемых командах консоли для работы с файловой системой
**Материалы:**
-- [Работа с командной строкой Windows](https://www.youtube.com/watch?v=8_tkUJhuogA) (youtube)
+- [Getting Started with Java](https://dev.java/learn/getting-started/)
- [Введение в командную строку Windows](https://www.youtube.com/user/Iidsp/videos) (youtube)
-- [Работа с Java в командной строке](https://habr.com/post/125210/)
-- [Сответствие консольных команд Windows и Linux](https://white55.ru/cmd-sh.html)
## 4. Этапы компиляции и запуска
-
+
##  5. [Байт-код](https://drive.google.com/file/d/19Tl7dEpPszjQfulzQBEwyn9sQL0DK3ji/view?usp=sharing)
Для отображения байт-кода класса необходимо в консоли перейти в папку, в которой находится файл `MyFirstApp.class`, и написать:
@@ -87,153 +83,106 @@ public class MyFirstApp {
**Материалы:**
- [Java байт-код «Hello world»](https://habr.com/post/264919/)
-- [javap — Disassembles one or more class files](https://docs.oracle.com/javase/8/docs/technotes/tools/windows/javap.html)
+- [javap — Disassembles one or more class files](https://docs.oracle.com/en/java/javase/17/docs/specs/man/javap.html)
##  6. [Переменные: примитивные типы данных](https://drive.google.com/file/d/1mrsKC-wU7NpxQiNt47rgfySsDGTwB8Wb/view?usp=sharing)
**Материалы:**
-- [Переменные в Java](https://vertex-academy.com/tutorials/ru/sozdanie-peremennyx-i-tipy-peremenny/)
+- [Переменные в Java](https://youtu.be/Y__Ns7FS5lA?t=17) (youtube)
- [Примитивные типы данных](http://developer.alexanderklimov.ru/android/java/types.php)
- [Variables](https://docs.oracle.com/javase/tutorial/java/nutsandbolts/variables.html)
- [Primitive Data Types](https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html)
+- [Про размеры типов данных](https://youtu.be/3BmznLJAgaA?t=782)
-
+
-## Все домашние задания показывайте ментору по одному, не копите их!
-
-**Домашнее задание:**
-- Создайте класс **Variable** с методом **main**
-- Объявите в методе переменные всех существующих в Java примитивных типов данных. Каждой переменной присвойте значение
-- В качестве значений используйте информацию о своем компьютере: количество ядер, частота процессора и тд.
-- Выведите все значения переменных на консоль
-- Разберитесь с [Git/GitHub](https://github.com/ichimax/startjava/blob/master/lesson%201.md#9), почитайте [рекомендации](https://github.com/ichimax/startjava/blob/master/lesson%201.md#12) о том, как с ними работать
-- **Покажите Д/З наставнику** (присылайте ссылку с дз на гитхаб)
+- **Домашнее задание:**
+ - Разберитесь с [Git/GitHub](https://github.com/JavaOPs/startjava/blob/master/lesson%201.md#9)
+ - Пришлите наставнику ссылку на удаленный репозиторий с решенными ДЗ
+ - ["Именование переменных"](https://docs.google.com/document/d/1Dv-eo8acvOVFJtUVbaWd1Mfb77Q1IiTlhepgy56qMbc/edit?usp=sharing)
+ - ["Примитивные типы данных"](https://docs.google.com/document/d/1kJqeCC-fKWUjBjrmHJ1mjDu45SGRL39Q5vW4DmLJflA/edit?usp=sharing)
##  7. [Ветвление: if, if else](https://drive.google.com/file/d/1r-UVn4Z9OhV-SUvJdMrC6EG_v9qowAJS/view?usp=sharing)
-
**Материалы:**
-- [Ветвление в Java](https://vertex-academy.com/tutorials/ru/vetvlenie-v-java/)
-- [Оператор if else](https://youtu.be/ryR033ld_N0) (youtube)
-- [The if-then and if-then-else Statements](https://docs.oracle.com/javase/tutorial/java/nutsandbolts/if.html)
-
-**Домашнее задание:**
-- Создайте класс **ConditionalStatement** с методом **main**
-- Перепишите псевдокод, приведенный ниже, с помощью языка Java
-- Используйте переменные и условные операторы
-- Выводите сообщения на консоль
-- Попробуйте применить оператор ! [(логическое НЕ)](http://developer.alexanderklimov.ru/android/java/logic_operators.php)
-- Не используйте String
-
-``` java
-ЕСЛИ(возраст > 20) {
- сообщение
-}
+- [Ветвление в Java](https://javarush.ru/groups/posts/2726-vetvlenie-v-java)
+- [Оператор if-else](https://youtu.be/ryR033ld_N0) (youtube)
+- [Тернарный оператор](https://topjava.ru/blog/ternarnyy-operator-v-java)
+- [The if-then and if-then-else Statements](https://dev.java/learn/language-basics/controlling-flow/)
-ЕСЛИ(мужскойПол) {
- сообщение
-}
-
-ЕСЛИ(!мужскойПол) {
- сообщение
-}
-
-ЕСЛИ(рост < 1.80) {
- сообщение
-} ИНАЧЕ {
- сообщение
-}
+
-ЕСЛИ(перваяБукваИмени == ‘M’) {
- сообщение
-} ИНАЧЕ ЕСЛИ(перваяБукваИмени == ‘I’) {
- сообщение
-} ИНАЧЕ {
- сообщение
-}
-```
-- **Покажите Д/З наставнику**
+- [Домашние задания по теме "Ветвление: if-else"](https://docs.google.com/document/d/1LZLCupFXrCmTuaT4KCUW9nKjrzaFDCCH7i5PDpWSLjI/edit?usp=sharing)
+- Покажите ДЗ наставнику
##  8. Циклы: [for](https://drive.google.com/file/d/1MxaPlSwY6-Nv2zOrQGYy5lOSDjYTfnfU/view?usp=sharing), [while, do while](https://drive.google.com/file/d/1YQHY9C1QbueWYFMRBpHFTqg1wt9N_333/view?usp=sharing)

**Материалы:**
-- [Циклы в Java](https://vertex-academy.com/tutorials/ru/cikly-v-java/)
+- Циклы в Java [1](https://timeweb.cloud/tutorials/java/cikly-v-java-osnovy-raboty), [2](https://vertex-academy.com/tutorials/ru/cikly-v-java/)
- [Оператор while](https://youtu.be/15PjODTSTaw) (youtube)
- [Оператор for](https://youtu.be/UYbdAmgcNVc) (youtube)
**Домашнее задание:**
-- Создайте класс **Cycle** с методом **main**
-- Выведите на консоль с помощью цикла for все числа от [0, 20]
-- Выведите на консоль с помощью цикла while все числа от [6, -6] (с шагом итерации 2)
-- Подсчитайте с помощью цикла do-while сумму нечетных чисел от [10, 20]. Выведите ее на консоль
-- **Покажите Д/З наставнику**
+- [Домашние задания по теме "Циклы: for, while, do while"](https://docs.google.com/document/d/1lHSSOzARTx6tfD-4MV-t41S5bnvdNw5hczkQPT05png/edit?usp=sharing)
+- Покажите ДЗ наставнику
##  9. [Система управления версиями Git](https://drive.google.com/file/d/1IMw7DA_lodW2GueWpU1nMUmYx0pnlPGA/view?usp=sharing)
-
+
+
+- [Установите и настройте Git/GitHub](https://topjava.ru/blog/vvedeniye-v-git-github-ustanovka-i-nastroyka)
**Материалы:**
- - [Система управления версиями](https://ru.wikipedia.org/wiki/Система_управления_версиями) (wiki)
- [Базовый курс по обучению Git](https://www.youtube.com/playlist?list=PLIU76b8Cjem5B3sufBJ_KFTpKkMEvaTQR) (youtube)
- [Git. Быстрый старт](https://www.youtube.com/watch?v=4-NX17Ip-xQ&list=PLmRNNqEA7JoM77hOJkPrLOfJQGizCLR3P) (youtube)
+ - Интерактивные Git-обучалки: [1](https://githowto.com/ru), [2](http://learngitbranching.js.org)
- [Официальная книга про Git](https://git-scm.com/book/ru/v2)
- - [Git обучалка](https://githowto.com/ru)
- - [Интерактивная Git обучалка (в настройках выберите русский язык)](http://learngitbranching.js.org)
-## 10. Настройка локального репозитория
-- Создайте в удобном для вас месте папку под названием `startjava`. В ней будет храниться ваш код
+### Настройка локального репозитория
+Более подробно об этом рассказывается в статье [Введение в Git/GitHub: базовые команды](https://topjava.ru/blog/vvedeniye-v-git-github-bazovyye-komandy).
+
+- Создайте в удобном для вас месте папку под названием `StartJava`. В ней будет храниться ваш код
- Создайте на GitHub репозиторий с названием `startjava`
- Напишите в консоли (при этом консоль должна быть открыта в папке `startjava`):
- - [`git init`](https://git-scm.com/book/ru/v1/Основы-Git-Создание-Git-репозитория#Создание-репозитория-в-существующем-каталоге) — создание локального репозитория
- - [`git status`](https://git-scm.com/book/ru/v1/Основы-Git-Запись-изменений-в-репозиторий#Определение-состояния-файлов) — вывод состояния файлов
- - добавьте адрес созданного на GitHub репозитория в git — [`git remote add origin url_на_ваш_startjava-репозиторий.git`](https://git-scm.com/book/ru/v1/Основы-Git-Работа-с-удалёнными-репозиториями)
+ - `git init` — создание локального репозитория
+ - `git status` — вывод состояния файлов
+ - добавьте адрес созданного на GitHub репозитория в git — `git remote add origin url_на_ваш_startjava-репозиторий.git`
- проверьте, добавился он или нет — `git remote -v`
-##  11. [Домашнее задание](https://drive.google.com/file/d/1Svgm_03td3Aj_MeVt-MBqSCv-PEhXD0A/view?usp=sharing)
-
-> Перед отправкой домашнего задания на проверку обращайте внимание на [`Советы для тех, кто выполняет домашнее задание`](https://github.com/ichimax/startjava/blob/master/lesson%201.md#12-советы-для-тех-кто-выполняет-домашнее-задание), которые содержат ряд полезных подсказок и разъяснений
-- Прочитайте первую и третью (до стр 84) главы книги [Изучаем Java](https://www.ozon.ru/context/detail/id/7821666/)
-- Прочитайте первые две главы книги [Pro Git](https://git-scm.com/book/ru/v2)
-- Дополнительные книги:
- - [Программирование на Java для детей, родителей, бабушек и дедушек (есть русский перевод)](http://myflex.org/books/java4kids/java4kids.htm)
- - [Яша учится программировать](https://drive.google.com/file/d/1ukTlzMrFX3Zj8X9TXp6U-mJUH1fOKUED/view?usp=sharing)
-- Реализуйте `Калькулятор`, который должен уметь выполнять математические операции (`+, -, *, /, ^, %`) над целыми положительными числами:
- - для выбора вычисления той или иной математической операции используйте проверку математического знака с помощью `if else`
- - выведите на экран результат вычисления с помощью `System.out.println()`
-- Напишите игру `Угадай число`:
- - компьютер "загадывает" целое число от (0 до 100], которое вам необходимо угадать
- - после каждой неудачной попытки выводите подсказку: `System.out.println("Введенное вами число больше (меньше) того, что загадал компьютер")`
- - если число угадано — `System.out.println("Вы угадали!")`
- - меняйте значение переменной, хранящей числа игрока, автоматически по какому-то простому алгоритму (без применения ввода с клавиатуры или генерации рандомных чисел)
- - игра продолжается до тех пор, пока число не будет угадано
-- Выведите в цикле символы кодировки [Unicode](https://ru.wikipedia.org/wiki/Юникод) в диапазоне [9398, 10178]. Если выводятся кракозябры, то [33, 126]
-
-## 12. Советы для тех, кто выполняет домашнее задание
### Рекомендации по Git
1. Последовательность стандартных шагов при работе с Git:
- - [`git add файл_с_кодом.java`](https://git-scm.com/book/ru/v1/Основы-Git-Запись-изменений-в-репозиторий#Отслеживание-новых-файлов) — добавляем файлы/изменения в git (файлы с расширением class не добавляйте)
- - [`git commit -m "краткое описание изменений, которые вы внесли в программу"`](https://git-scm.com/book/ru/v1/Основы-Git-Запись-изменений-в-репозиторий#Фиксация-изменений) — фиксируем (коммитим) изменения
- - [`git push -u origin master`](https://git-scm.com/book/ru/v1/Основы-Git-Работа-с-удалёнными-репозиториями#Push) — [устанавливаем связь](https://qna.habr.com/q/118865) между локальной и удаленной веткой master
-2. На GitHub отправляйте не только файлы с расширением `*.java`, но и папки, например, `Lesson 1`
-3. Если вы хотите в Git добавить папку с файлами, но при этом какие-то файлы требуется проигнорировать (например `*.class`):
- - `git add "Lesson 1"`
- - `git reset "Lesson 1/имя файла, который необходимо проигнорировать"`
-
-### Общие рекомендации по заданию
-1. Учитесь грамотно формулировать свой вопрос: "у меня не работает" может иметь тысячи причин
-2. Решите ДЗ, используя только те темы, которые изучаются в данном уроке
-3. Все задания выполняйте в разных классах
-4. Код пишите только **ВНУТРИ** метода `main` (для каждого класса метод `main` будет своим)
-5. Ввод с клавиатуры и методы класса `Math` или `Random` пока не используйте
-6. Символ `^` используется лишь для обозначения операции возведения в степень, но в Java он выполняет совсем иную функцию. Самостоятельно реализуйте операцию возведения в степень
-7. Символ`%`, похожий на проценты, называется [оператором деления по модулю](https://vertex-academy.com/tutorials/ru/delenie-po-modulyu-v-java/). В калькуляторе не надо считать проценты! Считайте остаток от деления с помощью оператора `%`
-8. Примерно так должна выглядеть структура ваших файлов и папок
-
-
+ - `git add файл_с_кодом.java` — добавляем файлы/изменения в git (файлы с расширением `class` не добавляйте)
+ - `git commit -m "краткое описание изменений, которые вы внесли в программу"` — фиксируем (коммитим) изменения
+ - `git push -u origin master` — [устанавливаем связь](https://qna.habr.com/q/118865) между локальной и удаленной веткой master
+1. На GitHub можно отправлять не только файлы с расширением `java`, но и папки, например, `Lesson 1` (при этом они не должны быть пустыми)
+1. Если вы столкнулись с проблемами при использовании Git, то статья ["Ошибки использования Git"](https://topjava.ru/blog/vvedeniye-v-git-oshibki-ispolzovaniya-ch-9) поможет их решить
+
+##  10. [Итоговые домашние задания](https://drive.google.com/file/d/1Svgm_03td3Aj_MeVt-MBqSCv-PEhXD0A/view?usp=sharing)
+
+- [Итоговые домашние задания](https://docs.google.com/document/d/1m6y5qBMfwKjm0DIo3JYqQ9_QNyhroDvsRAirEyDEP7s/edit?usp=sharing)
+
+Так должна выглядеть структура ваших папок и файлов
+
+
+
+
+## 11. Опросники
+- [Итоговый тест](https://forms.gle/YFc2pf6qZw6jdfXM7) позволит вам проверить, насколько хорошо вы освоили пройденные в уроке темы
+- В этом небольшом [опроснике](https://forms.gle/dsthsvh1tRhdJyhu9) вы сможете поделиться своими впечатлениями (анонимно) по поводу первого урока: что (не)понравилось, как его можно улучшить и тд. Ваши ответы помогут нам доработать урок, сделав его еще лучше!
+
+## 12. Общие рекомендации по выполнению ДЗ
+
+1. [Правила](https://github.com/JavaOPs/startjava/blob/master/rules.md) проверки ДЗ наставником
+1. Ментору ссылку на репозиторий достаточно прислать один раз (для самого первого ДЗ). Для последующих ДЗ просто сообщайте, что оно готово и можно проверять
+1. При выполнении ДЗ используйте только те темы, которые изучались в текущем уроке
+1. Ввод с клавиатуры, методы класса `Math` или `Random` пока не используйте (но, если вы знаете про них и хотите использовать — дерзайте)
## Немного мотивации
+- [Как приучить себя к дисциплине и осуществлять свои планы](https://youtu.be/wbItXmjm7tY?si=RceAgonMsijaz3KD)
- [Shia LaBeouf Motivation for Coding](https://youtu.be/J1usv2Hn-pU)
- [Мотивация для программистов](https://www.youtube.com/watch?v=NOVaNe3jx6c)
- [Речь Стива Джобса Перед выпускниками Стенфорда](https://www.youtube.com/watch?v=WVz9E7o1mmk)
- [Мотивационный совет от Стива Джобса](https://www.youtube.com/watch?v=Z2qSUZ1o47U)
- [12 минут сильнейшей мотивации. Перелом сознания](https://www.youtube.com/watch?v=69MkvKrraC0)
+- [Почему мне так сложно учиться программировать?](https://youtu.be/TtT8UNK0sGg)
+- [Простой прием стать программистом быстрее](https://youtu.be/iw3E-Gdncwc)
diff --git a/rules.md b/rules.md
new file mode 100644
index 0000000..3b0c75d
--- /dev/null
+++ b/rules.md
@@ -0,0 +1,36 @@
+## Правила на курсе StartJava при проверке ДЗ наставником
+
+1. Проверка ДЗ проводится в Telegram
+1. Все друг с другом общаются на Ты
+1. Доступ к видеолекциям предоставляется только к текущему уроку. Последующие уроки открываются по мере завершения текущего (сделано с целью профилактики списывания)
+1. Проверка ДЗ действует 10 недель с момента оплаты с возможностью продления
+1. Взаимодействие с наставником проходит по следующей схеме:
+ - вы смотрите видеолекции (ссылки на них находятся рядом с иконками логотипа ютуба), изучаете дополнительный материал, выполняете ДЗ и **сдаете их по одному (а не все сразу!)**
+ - по мере готовности сообщаете наставнику, что его нужно проверить
+ - он проверяет и пишет, что требуется исправить
+ - вы исправляете, он снова проверяет. И так повторяется до тех пор, пока ваше решение не будет соответствовать условию ДЗ и представлению наставника о том, как его нужно выполнить
+ - если на вашем последнем сообщении наставник ставит 📌, то он его прочитал. Если стоит 🧐, то в данный момент ваше ДЗ на проверке. Если стоит ✔️- ДЗ проверено
+ - если все верно, то наставник напишет, чтобы вы выполняли следующее ДЗ
+1. Ссылку на свой репозиторий наставнику достаточно скинуть один раз
+1. Комментарии к вашему коду будут даваться наставником в краткой форме. Если вам требуется пояснение по какому-то пункту, то задавайте ему дополнительные вопросы для получения более развернутого ответа
+1. Переходить к следующему уроку можно после того, как вам об этом сообщит наставник. Не делайте это самостоятельно
+1. Для минимизации "простоев" допускается выполнять последующие ДЗ до того, как наставник вам об этом напишет
+1. Максимальное время проверки ДЗ до суток, но как правило раньше
+1. Если наставник не проверил ДЗ за указанный срок, то напомните ему о себе (он вас мог случайно пропустить)
+1. Если у вас закончился срок проверок ДЗ, то его можно продлить еще на две недели или месяц в личном кабинете (ссылка на него есть в любом нашем письме) [на сайте](https://javaops.ru/)
+1. Продлевать проверку ДЗ можно неограниченное количество раз
+1. Доступ к материалам курса у вас остается навсегда
+1. Пришлите наставнику свою гугл-почту для доступа ко второму и последующим урокам
+
+#### Общие рекомендации
+- Учитесь грамотно формулировать свой вопрос: "у меня не работает" может иметь тысячи причин. Пишите больше подробностей, что вы сделали, что конкретно не работает, какие появляются ошибки. Присылайте в чат скрины с этими ошибками
+- Учитесь гуглить с первых уроков - это важный навык, который нужно качать
+- Перед тем как задать вопрос наставнику сначала погуглите; если в течении 2-3 часов вы не найдете ответ, то опишите подробно свою проблему наставнику
+
+#### Расписание проверок ДЗ
+
+[Максим Чимаев](https://t.me/ch1max)
+- выходные дни вторник и четверг
+- время проверки с 11:00 по 13:00 и с 17:30 по 19:30 (но не позднее 21:00 по мск. времени)
+- проверка в выходные дни не гарантируется, но возможна
+