Я сам
занимаюсь программированием уже 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 дней? В конце дорожной
карты есть итоговое задание, которое
также займёт время. Если вы до него
доберетесь и сделаете, то с удовольствием
дам обратную связь по коду.