Как изучить основы Java с нуля за 3 недели. Бесплатно и без курсов

Я сам занимаюсь программированием уже 20 лет, чуть меньше по времени работаю на позиции разработчика, имею педагогическое образование в области информатики, поэтому решил вложить свои «5 копеек» в образование новых программистов.
Было время: хотел организовать курсы, обучать людей по этим курсам, но понял что теорию давно уже хорошо описали в книжках. Нет особого смысла её переписывать своими словами. Гораздо интереснее практика. Лучше помогать людям практиковаться, улучшать свои навыки на реальных проблемах и задачах.
Первая задача, которую я перед собой поставил: как научить человека, который мало знаком с миром разработки, основам программирования. В качестве языка программирования выбрал Java на котором уже пишу много лет.
Методика самостоятельного обучения, которую я пропагандирую, исходит от практики. Хотя я и учился по специальности, связанной с информатикой, считаю себя самоучкой. Мне было так интересно, что я изучал темы вперёд и потом получал зачёт по ним автоматом т.к. знал уже гораздо больше.
Таким образом теории я читал очень мало. Просто ставил цель написать какую-то программу, например в те времена очень популярным был плеер Winamp и я пытался сделать его аналог (к слову всё получилось) и потом по ходу дела разбирался с возникающими проблемами. Получалось не всегда быстро, но очень эффективно!
Конечно написать сразу большую программу достаточно сложно, поэтому лучше начинать с небольших и постепенно наращивать сложность. Если совсем не знакомы с программированием, то традиционно надо начинать с простого «Hello World».
Итак вернусь к проблеме. Как быстро научиться программировать на Java? Наверное вы уже догадались — практиковаться и немного читать теорию, а не читать теорию, а потом пытаться практиковаться.
Я составил план развития (дорожную карту) на 17 дней, в который включил 27 задач для развития по 29 темам.
Темы, в которых в первую очередь должен разобраться начинающий Java программист. Разобраться конечно всё также на практике.
- Структура программы
- Вывод информации на экран
- Переменные и типы данных
- Операторы
- Ввод информации пользователем
- Оператор выбора
- Циклы
- Генерация произвольного числа
- Одномерные массивы
- Двумерные массивы
- Строки
- Символы
- Классы, объекты
- Свойства и методы
- Объектно-ориентированное программирование
- Инкапсуляция
- Наследование
- Полиморфизм
- Внутренние классы
- Интерфейсы
- Исключения
- Работа с файлами
- Работа с сетью
- Коллекции: ArrayList и HashMap
- Рекурсия
- Сортировка методом пузырька
- Сортировка выбором
- Сортировка вставками
- Бинарный поиск
Смотрите сколько
тем. Если просто прочитать теорию по
этим темам за те же 17 дней, то в голове
будет полная каша. Но если решить
небольшую задачу, то результат не
заставит себя ждать. Проверено мной
неоднократно) Дорожная карта
начинающего Java-разработчика Всё это я оформил
в виде pdf-файла с практическими
задачами. Его выдаёт бот
https://t.me/TrueProgStartBot
Не закидывайте сильно помидорами.
Бот просит подписаться на канал
https://t.me/trueprogru, в
котором я также публикую задачки для
самостоятельного решения и минимум
теории, которые должны знать начинающие
разработчики. Файл сделал не «на шару».
На его подготовку потрачен целый рабочий
день. Наверняка
возникнет вопрос: почему в заголовке
статьи обозначены 3 недели, а по факту
дорожная карта на 17 дней? В конце дорожной
карты есть итоговое задание, которое
также займёт время. Если вы до него
доберетесь и сделаете, то с удовольствием
дам обратную связь по коду.
