Contents

Практикум по Kotlin: 110 задач и собственный Telegram бот (курсовая работа).

Здравствуйте! Расскажу из чего состоит практический блок в рамках курса по языку программирования Kotlin. Распишу программу полностью.

Начинайте обучение языку по бесплатным видео урокам. Закрепляйте знания тестами и практикой в обучающем телеграм боте.

Практические задачи по Kotlin, задания по Котлин, практикум

Тезисный onboarding в обучение, если вы тут впервые

Здесь мы вместе учим Kotlin. Меня зовут Иван и я Android-разработчик, создаю бесплатный контент по Kotlin и Android (YouTube).

Разработал обучающий бот с бесплатными тестами и практикой. Закладываю понимание языка, помогаю перейти к изучению Android и развиваться в этом направлении. Учился в «Школе 21» (42 school) и знаю как учиться эффективно и по фану, чтобы не опускать руки по дороге к долгожданной работе на галерах программистом.

Глобальная миссия – провести студента от нуля до получения оффера на позицию Android-разработчик. Вы уже и так много раз слышали про навыки, которые можно получить при обучении с ментором. Про зарплаты и возможности в этой сфере. Давайте уже сосредоточимся на делах.

  • Бесплатные уроки по Kotlin на YouTube канале
  • Бесплатные тесты (200 вопросов!) в боте
  • Вопросы и ответы к собеседованиям Android
  • 110 практических задач по Kotlin
  • Гайд по написанию своего телеграм бота
  • Обратная связь по коду и помощь по задачам
  • Все подробности по содержанию и стоимости участия в практических заданиях расписаны ниже 👇

Практика состоит из двух глобальных разделов (спринтов)

«Чтобы научиться программировать, нужно программировать»
А еще видеть результат своего труда, чтобы не растерять мотивацию по дороге к офферу и реально оценивать и отслеживать свой личный прогресс в обучении.

Спринт – период времени, в течение которого команда разработчиков работает над определенным набором задач, направленных на достижение общей цели проекта.

Для нас с вами спринт – это период прохождения практических разделов (задачи и разработка бота). Каждый обучается в своем комфортном темпе, поэтому единых для всех дедлайнов я не устанавливаю.

DALL·E 2023 03 06 12.12.48 futuristic neon photo of an astronaut at a computer. the big numbers 42 are written on a computer screen in red on a black background - Android [Kotlin] для начинающих

1: Задачи по урокам
с обратной связью

Предлагаю вам окунуться в волшебный мир программирования через задачи в контексте кейсов из реальной жизни.

Детсадовских задачек про поезда, землекопов и даже котиков мы не увидим. Вместо этого мы берем реальную задачу (или проблему), поставленную условным бизнесом и решаем ее.

Таким образом вы сможете понять зачем в каждой конкретной ситуации применять ту или иную технологию/принцип/паттерн. Именно когда увидите в ней потребность – начнете писать код осознанно.

DALL·E 2023 03 06 12.23.14 telegram messenger interface is drawn on the monitor screen - Android [Kotlin] для начинающих

2: Разработка
Телеграм бота

Научившись писать код, придет время создать что-то осязаемое и полезное для общества. Мы напишем продукт, которым сможет пользоваться любой человек. Полностью на языке Kotlin.

Это будет телеграм бот для изучения иностранных слов. Кстати, вот такой я написал для себя и загрузил в него слова из книги «Автостопом по галактике».

Чтобы вы действительно смогли написать его самостоятельно, а не слизать код с видосиков, я разработал программу из 10 этапов. В них есть темы из пройденных задач, а также дополнительные закрытые видео и текстовые руководства.

Теперь подробнее про 1 раздел KotlinSprint

1: Задания по Kotlin c код-ревью и обратной связью по решениям

Код-ревью – процесс проверки и анализа кода, написанного другим программистом, с целью выявления ошибок, улучшения качества и повышения эффективности программного продукта.

110 задач по Kotlin с ментором

Решайте задачи, сдавайте их на проверку и получайте обратную связь в рамках код-ревью.

Простой алгоритм сдачи и получения, приближенный к реальным условиям:
1. Получаете задачу в обучающем боте
2. Решаете в IntelliJ IDEA
3. Загружаете код на GitHub
4. Присылаете ссылку с кодом решения

Обратная связь включает не только рекомендации по оформлению кода, но и помощь в решении. Это направление студента к правильному решению и объяснение «как надо». Как правило студент всегда сам приходит к решению, что положительно сказывается на качестве обучения.

Надо услышать и принять основную цель всего этого мероприятия – сначала мы учимся делать простые вещи хорошо. Чтобы не задумываться о том, как дышать, потому, что это основа. Окунаемся в тему постепенно, по уровням сложности. Как водолазы при погружении, которые продуваются каждые несколько десятков сантиметров. Чтобы избежать получения баротравмы путем закрытия евстахиевых труб. Именно поэтому в первом практическом разделе мы доводим до автоматизма навык продуваться еще на берегу.

Работаем в IntelliJ IDEA

Каждый урок содержит 5 задач, которые выдаются в обучающем боте. Интерфейс выбора задач похож на разделы с выбором тестов, которые вы уже скорее всего видели. Каждую задачу вы решаете в среде разработки на своем компьютере.

Установить и настроить IntelliJ IDEA можно по руководствам из имеющихся уроков на канале. Если все-таки возникли проблемы, можно связаться со мной через бот. Ошибки в работе софта случаются. Если вы никогда с ними не сталкивались – это нормально (если начинающий или до этого писали код только в браузерном интерфейсе онлайн школ).

Помимо основ работы в среде разработки типа создания файлов и пакетов, мы отрабатываем и более продвинутые, но обязательные для любого разработчика вещи. Такие как работа с системой контроля версий в интерфейсе «Идеи», дебаг (отладка) программ, консольные команды, система сборки проекта и т.д. Но не будем забегать вперед. Всему свое время.

Плавно увеличиваем сложность

Уроки открываются по одному ежедневно. 22 урока – 22 дня. Каждый урок содержит 5 заданий. Как в видео, так и в задачах – сложность плавно увеличивается от темы к теме. Начинаем с самых основ – переменные, строки, арифметика и т.д. (бережем психику гуманитариев). И продолжаем погружаться в язык до функций, классов, ООП и так далее, пока не упремся в следующий раздел – курсовая работа. Там нам и пригодится вся пройденная практика, но об этом ниже. Двигаемся по нарастающей сложности – от простого к продвинутому.

Задачи. 4 из них по уровню урока (видео). 5-я задача «со звездочкой» – но это не значит, что она написала для вундеркиндов-олимпиадников. Это значит, что для решения последней в уроке задачи требуется провести дополнительный поиск информации в интернете.

Это тренирует важнейший навык разработчика – самостоятельный поиск решения проблем или попросту говоря «гугление». Есть даже статья про «Догуглиться до senior-программиста» 😀 и, кстати, механики обучения, описанные там, в том числе применяются и у нас в практике.

Учимся владеть git. Создавать pull request’ы, пользоваться GitHub Gist

Решение присылается также через функционал обучающего бота и отправлять его можно двумя способами: с помощью Pull Request’ов используя git-репозиторий или с помощью ссылок на код через специальный сервис GitHub Gist (ограниченную часть уроков). Это значит, что в рамках ознакомительной подписки не обязательно разбираться с гитом. Хотя этот навык уже является одним из базовых для разработчика любого уровня.

После старта спринта вам приходят пошаговые инструкции на оба этих способа. Кстати, ознакомительное видео про сдачу домашек через git-flow есть на канале.

Попасть в рабочую группу можно только в период донабора

Чтобы давать полноценную обратную связь всем подопечным – я вынужден ограничивать количество мест в группе на спринте.

Поэтому попасть на персональную работу можно только в период дополнительного набора, который производится один раз в несколько месяцев.

Актуальная информация всегда доступна в боте, а также ниже по кнопкам приглашения на пробную подписку на практику KotlinSprint.

Бесплатно начать учить программирование самостоятельно можно уже сейчас

Смотрите уроки на YouTube канале и самостоятельно воспроизводите все, что происходит на экране. Обязательно стараясь понять что происходит. Лучше всего воспроизводить примеры из видеоуроков со своими данными для реализации.

Проходите теоретические тесты в обучающем боте для закрепления материала. Отслеживайте прогресс обучения, в наглядном интерфейсе. Собирайте баллы и соревнуйтесь в общем рейтинге с другими участниками или друзьями для поддержания мотивации.

Если вы тут впервые, можете познакомиться поближе с интерфейсом бота и начать учиться самостоятельно.

IMG 2088 scaled - Android [Kotlin] для начинающих

Список уроков, по которым разработаны задачи в первой части практикума (22 урока / 110 задач)

Тут перечислены лишь основные темы практикума с задачами. На YouTube канале вы найдете и другие уроки по Kotlin. Кроме того в рамках следующего раздела (спринт по разработке телеграм бота) вам будут доступны закрытые видео и текстовые уроки по продвинутым темам. Программа курсового проекта будет описана ниже.

Отзывы студентов о практике KotlinSprint

Смотрите все отзывы в группе VK.

экрана 2023 03 10 в 19.16.23 copy - Android [Kotlin] для начинающих
экрана 2023 03 10 в 19.16.52 copy - Android [Kotlin] для начинающих
экрана 2023 03 10 в 19.15.01 copy - Android [Kotlin] для начинающих
экрана 2023 03 20 в 22.54.09 - Android [Kotlin] для начинающих

Получите ознакомительный доступ к 5 урокам (25 задач) со всем, что входит в менторство

Пробная подписка – это возможность испытать на себе работу с ментором за несколько чашек кофе. Заглянуть за ширму настоящей работы в тандеме на задачах в условиях, приближенным к реальным рабочим.

В течение 10 дней мы с вами будем сидеть за одним виртуальным столом и заниматься программированием. Как правило это не только написание кода. А еще и решение проблем с IDEA, ковыряние конфликтов в репозитории (если что-то пошло не так), обсуждение неочевидной работы программы и разбор деталей реализации. Да и просто поддержка, и ответы на вопросы об IT индустрии.

Темы с задачами, которые входят в пробную подписку:

  • Урок 1: Переменные
  • Урок 2: Арифметические операции
  • Урок 3: Работа со строками
  • Урок 4: Операторы сравнения
  • Урок 5: Условные выражения

Помимо этого вы овладеете важнейшим навыком, который требует любой работодатель – работа в команде, используя инструменты для контроля версий кода (GIT).

Загляните и узнайте, что такое результативное обучение за:

1590 руб.
  • Пробная подписка со всем функционалом, который входит в практикум KotlinSprint
  • 5 уроков (25 задач)
  • 10 дней менторства – помощь по коду и ответы на вопросы
  • Код-ревью и рекомендации по другим вариантам решения
  • Обучение работе с git-репозиторием и сервисом GitHub Gist. Сдавать задачи можно через git или просто ссылками на код

Оплата пробной подписки, а также получение и сдача заданий происходит внутри бота в Телеграм по кнопке ниже.

Набор ОТКРЫТ

Теперь подробнее про 2 раздел KotlinSprint

2: Создание Telegram-бота на Kotlin пошагово (используя Telegram API)

API (Application Programming Interface) – это программный интерфейс, который позволяет различным приложениям общаться и взаимодействовать друг с другом.

Разработка Телеграм-бота для изучения иностранных слов

Бот будет помогать изучать иностранные слова. Список слов и перевод вы сможете загружать самостоятельно, используя текстовый файл. Техника изучения не претендует на эталонную, однако, чем-то напоминает технику интервальных повторений.

Все дело в том, что механика подразумевает повторный показ слова в случайном порядке, пока оно не будет считаться выученным. А выученным оно будет считаться после того, как выбрали его правильный перевод N раз. И этот параметр настраивается в коде.

Курсовая работа открывается на 21-й день. Разработка разбита на 10 логично связанных этапов (описание этапов размещено ниже). Каждый этап включает в себя в той или иной пропорции следующие материалы (зависит от темы и уровня требуемого погружения в материал):

  • Дополнительные видео уроки
    уроки по темам, которые требуются для текущего этапа разработки
  • Текстовое руководство
    куда двигаться дальше, на что обратить внимание
  • Четкие задания
    для самостоятельной разработки – у вас будет все необходимое для их выполнения
  • Каждый этап подлежит код-ревью.
    Вы не переходите дальше, пока не сделаете все правильно. Это залог вашего понимания материала и работоспособности бота.

Первый открытый урок по теории:
ТРПО + описание этапов проекта

ТРПО – технология разработки программного обеспечения.

Это теоретический урок по принципам разработки программ. Одно из нескольких публичных видео по проекту (остальные уроки по продвинутым темам только для участников). С него начинается курсовая работа по разработке телеграм бота на Kotlin.

Понимание бизнес-процессов даст вам неоспоримое преимущество перед другими кандидатами на собеседованиях. Не забывайте, что работодателю выгодно брать специалиста, наиболее приближенного к готовому. Будет плюсом, если будущий джун еще без опыта работы уже будет уметь работать в команде, пользоваться ключевыми рабочими инструментами и иметь понимание внутренней кухни процесса разработки.

Этот урок можно посмотреть на YouTube канале (или нажмите на превью).

Теория разработки программ видео. Как создать телеграм бот на языке программирования Kotlin

Этапы курсового проекта по разработке телеграм бота

1. Создание проекта, работа с файлами

Создадим основу для нашего курсового проекта, а также освоим работу с файлами в Kotlin. Во второй части презентации погрузимся в техническое задание. Обсудим проектирование консольного тренажера.

2. Работа со строками, десериализация

Научимся работать со строками, освоим и применим несколько полезных функций, чтобы распарсить строки и создавать из них объекты. Освоим работу с data-классами, и, как результат, реализуем парсер словаря для нашего тренажера.

3. Реализация меню и раздела статистики

На данном этапе мы реализуем основной интерфейс для работы с тренажером. Вам предстоит реализовать функционал формирования и отображения статистики по изученным словам.

4. Реализация функционала изучения слов

На данном этапе мы проработаем алгоритм для выбора не выученных пользователем слов, причем будем брать случайные слова на выбор. Здесь нам пригодятся навыки работы с коллекциями. В результате мы научим нашего бота выводить варианты ответов для пользователя.

5. Функционал проверки правильных слов

Здесь мы реализуем проверку правильности ответа, а также сохранение статистики по выученным словам. На выходе получим “почти” готовый консольный тренажер.

6. Тестирование и рефакторинг

Данный этап посвящен работе над ошибками. Мы протестируем наше приложение, выявим ошибки и несоответствия требованиям. Вы наглядно убедитесь, что не надо бояться написать плохо с первого раза, у нас есть право на ошибку. И в то же время, всегда тестируйте то, что написали. На выходе мы получим полностью рабочий консольный тренажер.

7. HTTP, API, JSON, парсинг ответа сервера

Переходим к разработке Telegram бота. Начнем с изучения основ работы с сетью в Kotlin. Разберем устройство HTTP протокола. Вы узнаете что такое API в целом и Telegram Bots API в частности. Научимся получать обновления от API и парсить их (используя функции для работы со строками).

8. Regex, отправка сообщений в бот

На данном этапе я расскажу вам про регулярные выражения – более продвинутый способ парсинга строк. Наш бот научится отправлять сообщения пользователю. Таким образом мы будем обладать недостающими знаниями, чтобы реализовать весь функционал бота.

9. Реализация интерфейса телеграм бота

Это самая объемная самостоятельная часть – вам предстоит взять консольный тренажер, написанный к 6 этапу. Вооружившись навыками из 7 и 8 этапов, превратить его в бот для изучения иностранных слов. В итоге вы получите работающий бот в телеграме, который показывает вопрос и варианты ответов в виде кнопок, а также статистику.

10. Миграция на Kotlinx.Serialization, многопользовательский режим, публикация на удаленный сервер

Мы разберемся с еще более удобным способом работы с JSON форматом. Сделаем возможность работы бота в чатах с разными пользователями. А в финале я покажу как залить наше творение на сервер, чтобы можно было делиться с друзьями и не держать комп постоянно включенным для поддержания его работы.

Что еще пишут участники (отзывы #2)

Смотрите все отзывы в группе VK

экрана 2023 03 20 в 22.52.07 - Android [Kotlin] для начинающих
экрана 2023 03 10 в 19.15.34 copy - Android [Kotlin] для начинающих
экрана 2023 03 20 в 23.00.36 - Android [Kotlin] для начинающих
экрана 2023 03 10 в 19.19.16 copy - Android [Kotlin] для начинающих

Сделайте первый шаг в разработку с компетентной персональной поддержкой. Начните с пробной подписки на практику KotlinSprint за:

1590 руб.
  • Пробная подписка со всем функционалом, который входит в практикум KotlinSprint
  • 5 уроков (25 задач)
  • 10 дней менторства – помощь по коду и ответы на вопросы
  • Код-ревью и рекомендации по другим вариантам решения
  • Обучение работе с git-репозиторием и сервисом GitHub Gist. Сдавать задачи можно через git или просто ссылками на код

Оплата пробной подписки, а также получение и сдача заданий происходит внутри бота в Телеграм по кнопке ниже.

Набор ОТКРЫТ

Отвечаю на частые вопросы из лс

Нужно ли сначала пройти все видео уроки курса, чтобы начинать практику?

В этом нет необходимости. Задачи построены таким образом, чтобы после любого просмотренного урока можно было закреплять его тестами и практическими заданиями. Просто садись и учись. Но просмотр будущих уроков, пусть даже беглый, лишним не будет. А в некоторых случаях поможет решить задачу более оптимально, особенно “со звездочкой”.

Что, если практикум окажется слишком сложным для меня?

Ну, во-первых никто не говорил, что программирование – это легко 🙂 Однако, я уверен, что любой человек может достигнуть любого результата. И это работает. Я сопровождаю вас в течение всего пути именно для того, чтобы сложные вещи были разжеваны и отложились в памяти. Прогресс участников говорит сам за себя (см. отзывы).

А ты не порвешься всем в личке отвечать?

Чтобы не страдало качество обратной связи, и чтобы эта работа не съедала все мое личное время – донаборы имеют редкий характер. А также ограничение непосредственно по продолжительности донабора в несколько дней. Также тут уместно сказать, что количество мест ограничено и я не буду набирать толпу людей, чтобы бросить их на произвол судьбы.

Сколько времени потребуется на прохождение курса?

Зависит от количества времени, которое вы готовы инвестировать в обучение. Мы стартанули в декабре 2022 и пока могу сказать, что средний темп по больнице от 1.5 до 3 месяцев. Включая написание телеграм бота.

Если сейчас мне git не нужен, можно сдавать задачи другим способом?

Есть возможность сдавать задачи на проверку, загружая код на специальный сервис GitHub Gist и присылая в бот ссылку. Эта возможность распространяется только на пробный период (5 уроков). Инструкция по работе с этим инструментом придет после оформления пробной подписки. Однако, чтобы на программировании зарабатывать деньги, git необходим на 100%.

Можно ли вернуть деньги?

Да, пропорционально открытым урокам. Уроки в рамках любой подписки открываются ежедневно по одному (один урок содержит 5 задач). Сумма возврата рассчитывается исходя из количества открытых уроков.

Есть ли ограничения по времени?

Дедлайнов у меня нет как таковых. Ваш ежемесячный дедлайн – ограниченная по времени подписка. Да, ее можно продлить со скидкой. Но вы сами заинтересованы в том, чтобы пройти все темы и этапы как можно быстрее.

Можно сразу начать решать проект телеграм бота, пропустив задачи?

Начать работу над курсовым проектом можно через 21 день после старта подписки. Когда откроются все уроки, которые открываются ежедневно по одному. Задачи можно не решать, но если ты уже имеешь опыт, рекомендую попробовать пройтись по задачкам “со здездочкой”. Если же ты чувствуешь необходимость попасть к нам только ради курсового проекта – напиши мне в личку в телеграм (контакты можно найти в боте).