Цикл онлайн-курсов «Основы разработки мобильных приложений. Мобильная разработка: почему это круто и где такому учат Разработка мобильных приложений под андроид курсы

Цикл онлайн-курсов «Основы разработки мобильных приложений. Мобильная разработка: почему это круто и где такому учат Разработка мобильных приложений под андроид курсы

29.05.2021
Редкие невестки могут похвастаться, что у них ровные и дружеские отношения со свекровью. Обычно случается с точностью до наоборот

От автора: всем привет! Сегодня мы поговорим о том, как стать разработчиком мобильных приложений для Apple и Android. Количество приложений на таких сервисах, как Apple Store и Google Play растет с каждым днем. Эти приложения могут выполнять самые разные функции. Одни из них позволяют обрабатывать фотографии благодаря модным ретро-фильтрам и всевозможным эффектам. Другие помогают изучать иностранные языки, третьи - скачивать и читать электронные книги. Можно даже установить металлоискатель или строительный уровень. В общем, приложений, готовых облегчить нашу жизнь, сейчас в изобилии.

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

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

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

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

Тем, кто хочет углубиться в сферу веб-программирования в целом и желает во всем «докопаться до сути»; тем, кому интересно программирование не только как ремесло, но и как искусство, можно посоветовать изучить , CSS, а может быть даже jQuery, в том случае если вы хотите по-настоящему испытать себя и свой пытливый ум =)

Так ли нужен диплом?

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

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

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

Что нужно знать разработчику мобильных приложений?

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

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

Зайдите в Google Play или App Store: там подобных приложений большинство, особенно, среди игр. По статистике таких приложений девять из десяти. Этим и занимается среднестатистический разработчик мобильных приложений. Но с чего начать свое обучение, если вы не хотите остановиться на этом?

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

Необходимо уяснить те базовые понятия, что используются в программировании, вне зависимости от языка и устройства. Здесь будет нелишним знать основы C++, несмотря на то, что многие уже считают его устаревшим. Возможно и так, но это основы основ, без которых не возникли бы Java и PHP. Полезно будет узнать о защите данных, шифровании, сетевых протоколах и о ядре Unix.

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

Почувствуйте себя создателем тенденций

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

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

Безусловно, новое - хорошо забытое старое, но успешные программисты не подстраиваются под современные тенденции. Они сами берут на себя ответственность создавать эти самые тенденции.

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

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

В заключение

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

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

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

MOOC (Massive open online courses) все больше набирают популярность. Выучиться на них можно чему угодно, и, естественно, различным аспектам мобильной разработки. Мы подобрали для вас курсы по мобильной разработке: для начинающих и уже опытных разработчиков и дизайнеров приложений для iOS и Android.

Вариантов изобилие – можно начать с проверенных: известных MOOC-платформ. Так, на Coursera в скором времени начинаются несколько курсов на английском языке.

Тем, кто все же предпочитает общаться с преподавателями, подойдет thinkful.com. Каждую неделю вы будете созваниваться с личным тьютором. Например, с разработчиком на iOS (курс Swift) или разработчиком на Android . Продолжительность: зависит от вашей продуктивности – от 3 месяцев.

Очень интересное предложение для тех, у кого мало времени – научиться делать приложения на iOS за месяц . Пока ведется предварительная регистрация.

Также в YouTube есть набор видео “iOS Development Course Beginner” – курс по изучению Objective-C (50 уроков) и Swift (40 уроков, дополняется). Курс полностью бесплатный и, как говорят, лучший в рунете:

Наконец, прямо сейчас e-Legion и Google проводят бесплатную online школу Android-разработчиков - LearnDroid. Это 13 видео-уроков с тестами, которые выходят каждую неделю, начиная с 30 марта. Все темы в программе были отобраны и согласованы с представителями Google. Преподаватели - ведущие разработчики e-Legion, Google, Тинькофф, Mail.ru, OK.ru, JetBrains, Лаборатории Касперского, Parallels, LinguaLeo, Aviasales и ABBYY. В конце самые старательные получат приятный бонус в дополнение к знаниям - фирменный сертификат.

Если вы проходили или знаете какие-либо другие курсы – напишите нам на и мы расскажем о них читателям!

Если вы нашли опечатку - выделите ее и нажмите Ctrl + Enter! Для связи с нами вы можете использовать .

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

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

Хотите, чтобы ваш ребенок освоил одну из самых востребованных и трендовых профессий IT-сферы и узнал, как сделать собственное приложение? Тогда подарите ему обучение на курсе по созданию мобильных приложений в школе программирования для детей CODDY!

Обучение разработке приложений

Мобильное приложение - это программа, предназначенная для использования на мобильных устройствах. Это программное обеспечение обычно разрабатывается исходя из интересов людей и их потребностей под конкретную платформу (iOS, Android, Windows Phone) на языке высокого уровня и компилируется в собственный код операционной системы, что дает максимальную производительность.

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

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

Преимущества разработки приложений на- Android

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

Что даст обучение программированию мобильных приложений?

На курсах ваш ребенок:

  • научится программировать под Android;
  • сможет разработать собственное мобильное приложение для Android;
  • узнает, как создать удобный мобильный интерфейс.
Курс разработки мобильных приложений под Android состоит из 3 модулей.
Первый модуль посвящен основам языка программирования Java, а также изучению средств разработки приложений.
На занятиях первого модуля мы изучим темы:
  • язык программирования Java: его синтаксис и основные конструкции
  • написание и компиляция Java программ на компьютере
  • объектно-ориентированная парадигма в программировании с использованием классов
  • среда разработки Android приложений: Android Studio
На втором модуле дети начнут писать свои собственные приложения, на примере которых мы изучим основные аспекты Android-разработки, такие как:
  • структура Andoid приложения
  • работа с ресурсами
  • создание XML файлов разметки
  • понятие Activity и работа с экранами
Третий модуль посвящен разработке индивидуальных проектов детей. На занятиях мы будем проходить:
  • обработку событий, происходящих в программе
  • динамическое создание и управление элементами UI
  • работу с многопоточностью
  • работу с интернетом в приложении

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

Как мы понимаем, что учащийся освоил программу?

Во время обучения мы оцениваем как практическую сторону вопроса (как это сделать?), так и понимание темы (почему и зачем).

Ученики демонстрируют свои знания, решая задачи своим собственным способом, объясняя алгоритмы своими словами, помогая одногруппникам исправлять ошибки и создавая презентации по своим законченным проектам.

Онлайн-школу для мобильных разработчиков.

Всё серьёзно: 9 месяцев обучения, лекции топовых разработчиков, практические задания, тестирования, чат с преподавателями и материалы для самостоятельной работы.

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

Необходимые знания для обучения

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

Твоё первое приложение

Научим работать с Android-платформой и покажем распространённые архитектурные подходы. Изучим популярные библиотеки, Unit- и UI-тестирование, работу с Google Play Services.

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

Программа обучения

рассчитана на 9 месяцев. Программа состоит из 6 блоков, каждый блок длится 6 недель. Загрузка студента - 4-6 часов в неделю.

Обучение проходит на онлайн-платформе OpenProfession. Вы можете придерживаться нашего графика или учиться в своём темпе.

Блок 1

Познакомьтесь с платформой Android, Android Studio и системой сборки - Gradle. Узнайте, что такое дебаг и логгирование. Изучите основные сущности Android-приложения и поработайте с Activity и Fragment. Познакомьтесь с элементами интерфейса - View, ViewGroup.

Блок 2

Преподаватели расскажут о работе со списками с помощью RecyclerView и покажут средства для обеспечения многопоточности в Android. Вы изучите работу с сетью с помощью Retrofit2/Okhttp3 и познакомитесь с реактивным программированием, в частности, с RxJava2. Научитесь работать с уведомлениями и Room - ORM-обёрткой над SQLite.

Блок 3

Вы узнаете, как правильно делить приложение на модули. Изучите MVP и MVVM паттерны, а также познакомитесь с CLEAN - чистой архитектурой. Осознаете мощь внедрения зависимостей с помощью библиотек Dagger2 и Toothpick.

Блок 4

Рассмотрите Unit- и UI-тестирование: Mockito, PowerMock, Espresso, Robolectric. Поработаете с ORM-обёртками: Room, GreenDAO, Realm, а также с популярными библиотеками - Picasso, EventBus, ButterKnife и другими стандартами отрасли.

Блок 5

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

Блок 6

Вы научитесь работать с кастомными сервисами и периферией: Google Firebase, Google Analytics, Google Maps, Push-уведомлениями, сенсорами и камерой. Научитесь подписывать и публиковать своё приложение в Google Play.

Формат обучения

Новые знания. Каждый учебный блок содержит видеолекции и live coding-сессии.

Практика. Проверяйте свои знания, выполняя тесты и задания в учебных материалах. И конечно, применяйте новые знания в своём первом приложении.

Общение. Задавайте вопросы и получайте фидбек от преподавателей, общайтесь с другими студентами в чате.

Развитие. Преподаватели программы разработали методические материалы и составили подборку полезных ссылок, чтобы вы продолжали изучать новое даже за рамками Академии.

Преподаватели

Вы будете учиться у ведущих разработчиков e-Legion. Знакомьтесь:

Разработчики Азрет Магометов nullpex и Марат Тайчинов много лет создают мобильные продукты для разных сфер бизнеса, которыми ежедневно пользуются миллионы людей. В программе ребята рассказывают не только теорию, но и делятся лайфхаками.

Собеседование в e-Legion

Прособеседуем каждого выпускника. Количество проектов в e-Legion постоянно растёт, поэтому мы всегда в поисках талантливых разработчиков.

Мы организовали уже 6 онлайн и оффлайн школ мобильных разработчиков в Санкт-Петербурге и Казани, выпустили 857 разработчиков и 10 из них работают у нас.

Заканчивайте обучение, получайте сертификат OpenProfession и присылайте ваше резюме HR-менеджеру e-Legion.

Го учиться

- 5-го февраля.

Остались вопросы? Присоединяйся ко - вебинару, где преподаватели и организаторы Академии ответят на все вопросы и подробно расскажут о процессе обучения.

Введение в Git
Основы работы с Git

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

Урок 1. Введение в системы контроля версий

Что такое система контроля версий?
Виды систем контроля версий
Git и его преимущества
Документация

Урок 2. Работа с командной строкой

Что такое командная строка?
Почему важна командная строка?
Как открыть командную строку?
Полезные команды

Урок 3. Локальная работа с Git-репозиторием

Введение в консольный клиент
Настройка git
Инициализация репозитория
Клонирование репозитория
Графические git-клиенты

Урок 4. Базовые операции

Индексирование
Публикация изменений
Коммиты
Отмена индексирования
Текущий статус

Урок 5. История git-проекта

История изменений
Откат по истории проекта
Авторы изменений: git blame
Игнорирование файлов.gitignore
Сайт gitignore.io
Сохранение папок.keep

Урок 6. Ветки

Управление ветками
Создание и удаление веток
Переключение между ветками
Конфликты способы и их разрешение
git merge

Урок 7. Создание удаленного Git-репозитория

Git-хостинги (GitHub, GitLab, Bitbacket)
Создание собственного bare-git репозитория
Регистрация на GitHub
Публикация изменений в удаленном репозитории

Урок 8. Удаленные ветки

Названия репозиториев
Несколько репозиториев в одном проекте
.git/config
Управление ветками на удаленном репозитории

Урок 9. Версионирование

Способы версионирования
Тэги и их связь с коммитами
Добавление тэга
Удаление тэга
Управление тэга на удаленном репозитории

Урок 10. Слияние и переносы

Сливаем изменения. git merge
Переносим ветки. git rebase
Переносим коммиты. git cherry pick
Сливаем коммит в один. git squash
Хуки
Псевдонимы

Урок 11. Gitflow

Как используется и зачем?
Циклы тестирования
Возможно Blue/green
Релизные ветки
Хотфиксы

Урок 12. SSH

Протокол SSH
Зачем используется?
Создание ключей
Форвардинг
SSH-агент
Копирование файлов по SSH
Windows: Git for Windows
Использование SSH совместно с Git-ом

Урок 13. Сдача домашней работы через Git

Курс для начинающих разработчиков, тех, кто хочет быстро освоить основы объектно-ориентированного программирования (ООП) и научиться создавать собственные проекты. Главной особенностью курса является сочетание изучения теоретических основ языка Java и практических онлайн-тренировок под руководством наставника.

Урок 1. Введение в Java

  1. Как работает Java. JVM. Общие принципы. Инструменты.
  2. Hello, world!
  3. Переменные и типы данных.
  4. Методы и их применение.
  5. Условные операторы.

Урок 2. Циклы и массивы

  1. Понятие циклов. Цикл while;
  2. Циклы for, foreach;
  3. Понятие массива;
  4. Разбор решения домашнего задания.

Урок 3. Практикум. «Крестики-нолики» в процедурном стиле

  1. Разработка алгоритма;
  2. Создание логики;
  3. Создание логики противника-компьютера;
  4. Разбор домашнего задания.

Урок 4. Введение в ООП

  1. Что такое ООП и зачем он нужен? Основные понятия;
  2. Создание классов и объектов;
  3. Инкапсуляция;
  4. Наследование;
  5. Абстрактные классы, интерфейсы и полиморфизм;
  6. Разбор домашнего задания.

Урок 5. Память, хранение данных

  1. Хранение данных в Java: стек, куча;
  2. Сборка мусора;
  3. Строковые классы, пулы строк;
  4. Разбор домашнего задания.

Урок 6. Графические интерфейсы

  1. Библиотека Swing и другие графические библиотеки. Основы Swing;
  2. Менеджеры размещения и выравнивание элементов;
  3. События в Swing. Меню и диалоговые окна;
  4. Разбор домашнего задания.

Урок 7. Практикум. «Крестики-нолики» в ООП

  1. Определение классов и GUI;
  2. Разработка логики, часть 1;
  3. Разработка логики, часть 2;
  4. Разбор домашнего задания.

Java Core. Продвинутый уровень. 1 месяц.

Курс укрепит знания в Java, научит применять продвинутые объектно-ориентированные концепции, характерные для языка. Студенты научатся создавать графические пользовательские интерфейсы, работать с потоками ввода/вывода, исключениями, многопоточностью и сетями. В практической части под руководством преподавателя «с нуля» разработают клиент-серверную программу – сетевой чат.

Урок 1. Объектно-ориентированное программирование Java

Углубленное изучение вопросов ООП в Java: принципы ООП, классы, объекты, интерфейсы, перечисления, внутренние/вложенные/анонимные/локальные классы.

Урок 2. Исключения

Концепция обработки исключений, ее сравнение с традиционным механизмом обработки ошибок, блок try-catch-finally, типы исключений, стандартные исключения в Java и их роль, выброс исключения из метода.

Урок 3. Коллекции

Виды контейнеров в Java: List, Map, Set. Основные реализации и приемы использования, проход по элементам коллекции, сравнение и сортировка элементов коллекции

Урок 4. Продвинутые вопросы создания графического интерфейса

Создание собственных элементов управления. Работа с графикой. Обработка событий.

Урок 5. Многопоточность

Потоки в Java, способы создания и управления состояниями потоков, основные проблемы при работе с потоками и синхронизация

Урок 6. Работа с сетью

Сокеты; написание простого эхо-сервера и консольного клиента.

Урок 7. Написание сетевого чата. Часть I

Написание клиентской и серверной части чата. Многопоточная обработка клиентских подключений.

Урок 8. Написание сетевого чата. Часть II

Разработка интерфейса для клиентской части; авторизация; механизмы взаимодействия клиента и сервера.

Java Core. Профессиональный уровень. 1 месяц.
Программирование на Java SE 8,9

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

Урок 1. Обобщения

Что такое обобщения; обобщенные классы; методы и интерфейсы; наследование обобщенных классов; ограничения при работе с обобщениями.

Урок 2. Базы данных

Реляционные базы данных; язык запросов SQL; операторы SELECT, INSERT, UPDATE, DELETE; подключение к базе через JDBC; отправка запросов и обработка результатов.

Урок 3. Средства ввода-вывода

Обзор средств ввода-вывода; байтовые, символьные, буферизированные потоки; сетевое взаимодействие; сериализация/десериализация объектов.

Урок 4. Многопоточность. Часть I

Многопоточность в Java; разделяемая память; управление потоками и вопросы синхронизации; взаимодействие потоков исполнения, взаимная блокировка.

Урок 5. Многопоточность. Часть II

Классы для работы с многопоточностью; Concurrent collections; разбор практических примеров.

Урок 6. Обзор средств разработки

Логирование; тестирование с использованием JUnit; написание тестов; класс Assert.

Урок 7. Reflection API и аннотации

Понятие рефлексия; тип данных Class; метаданные классов; доступ к полям и методам; аннотации и их использование; написание собственных аннотаций.

Android. Базовый уровень. 1 месяц.
Разработка под мобильные устройства на Android Studio v 3

Курс дает теоретическую базу и практический старт для Android-разработчиков: учит работать в IDE Android Studio, грамотно проектировать и реализовать приложения, учитывая форм-фактор устройства. Программа курса включает разработку погодного приложения, получающего актуальную информацию из Интернета.

Урок 1. Android. Первое приложение, пользовательские элементы

Знакомство с Android. Перспективы. Как работает Android. Создание проекта. Activity.

Урок 2. Макеты приложения. Отладка

Урок 3. Жизненный цикл Activity. Сохранение состояния

Сохранение и восстановление переменных Activity. Паттерн «Одиночка». Приложение с двумя Activity. Запуск Activity с помощью Intent и OnClickListener. Передача параметров.

Урок 4. Компоненты приложения. Интенты

Стиль кодирования. Горячие клавиши. Отладка в Android Studio. Ресурсы.

Урок 5. Фрагменты

Фрагменты, их жизненный цикл, взаимодействие с activity. Стек обратного вызова. Менеджер фрагментов. Создание разных интерфейсов с использованием фрагментов.

Урок 6. Списковые элементы пользовательского интерфейса

Класс View. Макет. Контейнеры. Разметка. Обзор элементов и их свойств. Навигация.

Урок 7. Элементы материального дизайна

Обзор ListView и RecyclerView. Принципы работы. Переопределение Adapter. Использование RecyclerView.ViewHolder, RecyclerView.Adapter, RecyclerView.LayoutManager.

Урок 8. Выход в интернет

Элементы материального дизайна. CardView. TextInputLayout. CoordinatorLayout. ConstraintLayout. SnackBar.

Android. Продвинутый уровень. 1 месяц.
Разработка мобильных приложений на Android Studio v3

Продолжая разработку погодного приложения, студенты научатся использовать системные службы Android SDK, поставщики контента, базу данных и другие аппаратные и программные возможности платформы. Получат опыт создания интерфейса приложения в стиле Material Design. Узнают о способах распространения программного продукта.

Урок 1. Материальный дизайн. Меню. Навигация по приложению

Материальный дизайн. Menu, AppBar, ActionBar и ToolBar. Navigation Drawer. Темы, атрибуты тем, свои стили.

Урок 2. Жизненный цикл View. Создание View. Вызов телефонного номера. Датчики

Жизненный цикл View. Создание Custom View на конкретном примере. Краткий обзор телефонии, работа с сенсорами.

Урок 3. Многопоточность

Многопоточность в Android. Thread, AsyncTask на примере загрузки http-страницы. Handler. Альтернативы AsyncTask. Service. Методы разгрузки главного потока. Синхронное и асинхронное выполнение.

Урок 4. Интернет. Сохранение настроек и состояний приложения

HTTP-протокол. HTTP-запросы с помощью HttpUrlConnection. OkHttp. Shared preferences.

Урок 5. Работа с Интернетом через Retrofit. Библиотеки Gson и Picasso

Продвинутая работа с сетью: Retrofit, парсинг json, библиотеки Gson и Picasso. Примеры работы с сетью и открытыми API (погодный сервер).

Урок 6. Базы данных. Принцип работы Content Provider

База данных SQLite: создание, обновление и подключение. Демонстрация работы с Content Provider.

Урок 7. Широковещательные сообщения и Intent Filter. Push-уведомления

Broadcast Receiver и Intent Filter. Push-уведомления. Пример с определением, открыто ли приложение.

Урок 8. Геолокация и GoogleMaps API. Публикация приложения на Google Play

Позиционирование и GoogleMaps API. Публикация приложения в Play Store. Как загружать приложения в маркет. Версии приложения, локализация и другие атрибуты приложения, необходимые для распространения.

Android. Популярные библиотеки. 1 месяц.
Профессиональная разработка под Android

Курс учит создавать современные и максимально отказоустойчивые клиент-серверные приложения. Разбирает на практике популярные программные решения и способы тестирования продукта. Студенты завершат разработку своего проекта – клиента для Instagram.

Урок 1. Понятие об архитектуре приложения

Шаблон проектирования MVP; библиотека Mosby; как можно и нужно проектировать архитектуру приложения.

Урок 2. Реактивное программирование

Реактивное программирование, реактивная лапша; введение в rxjava: как красиво и без головной боли работать с асинхронными задачами?

Урок 3. Лямбда-выражения. Rxjava 2

lambda expression, rxjava – продолжение – версия 2.

Урок 4. Взаимодействие с сервером

Варианты реализации взаимодействия с сервером; использование библиотеки Retrofit; преобразование серверных данных в текст; загрузка картинки из Интернета с использованием Picasso.

Урок 5. Android. Популярные библиотеки. ORM и хранение данных

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

Урок 6. Dependency Injection

Коротко о Dependency Injection; использование библиотеки dagger2: почему круто использовать эти инструменты?

Урок 7. Тестирование кода

Покрытие тестами в целом; почему это важно? Что, как, чем и зачем нужно тестировать? В каком случае это бессмысленно?

Обсудим эффективный набор инструментов, которые можно использовать в проекте; зачем это надо и что улучшает каждый в отдельности? Использование и принцип работы инструмента Proguard, сервиса Crashlytics, библиотеки Leakcanary; некоторые решения, которые помогут улучшить приложение.

Урок 9. Консультация с преподавателем.

Урок 10. Консультация с преподавателем. Сдача проекта

На новом уровне комплекса курсов по базам данных студенты получат исчерпывающую информацию о долговременных хранилищах. Плотно поработают с MySQL – системой управления БД, зарекомендовавшей себя на популярных крупных проектах. Пошагово разбирается проектирование баз данных и работа с ними. Курс знакомит и с альтернативными БД: MongoDB, Redis, ElasticSearch и ClickHouse.

Урок 1. Быстрый старт

1.1. Типы баз данных.
1.2. Основы реляционных баз данных.
1.3. MySQL и клиенты.
1.4. Управление базами данных.
1.5. Разбор домашнего задания.

Урок 2. Язык запросов SQL

2.1. Введение в SQL.
2.2. Числовые и строковые типы данных.
2.3. Календарные типы данных и множества.
2.4. Индексы.
2.5. CRUD-операции.
2.6. Разбор домашнего задания.

Урок 3. Операторы, фильтрация, сортировка и ограничение

3.1. Операторы.
3.2. Условная выборка.
3.3. Сортировка и ограничения.
3.4. Предопределенные функции.
3.5. Предопределенные функции (продолжение).
3.6. Разбор домашнего задания.

Урок 4. Агрегация данных

4.1. Группировка данных.
4.2. Агрегационные функции.
4.3. Специальные возможности GROUP BY.
4.4. Разбор домашнего задания.

Урок 5. Сложные запросы

5.1. Типы многотабличных запросов и UNION
5.2. Вложенные запросы
5.3. JOIN-объединения таблиц
5.4. Внешние ключи и ссылочная целостность
5.5. Разбор домашнего задания

Урок 6. Транзакции, переменные, представления

6.1. Транзакции.
6.2. Внутренняя реализация транзакций.
6.3. Переменные, временные таблицы и динамические запросы.
6.4. Представления.
6.5. Разбор домашнего задания.

Урок 7. Администрирование MySQL

7.1. Администрирование MySQL.
7.2. Администрирование MySQL (продолжение).
7.3. Права пользователей.
7.4. Репликация.
7.5. Репликация (продолжение).
7.6. Разбор домашнего задания.

Урок 9. Оптимизация запросов

9.1. Типы таблиц.
9.2. Подробнее об индексах.
9.3. Оптимизация запросов.
9.4. Разбор домашнего задания.

Урок 10. NoSQL

10.1. NoSQL-базы данных.
10.2. Key-Value хранилища Redis.
10.3. Документ ориентированная СУБД MongoDB.
10.4. СУБД Полнотекстового поиска ElasticSearch.
10.5. Колоночная СУБД ClickHouse.
10.6. Разбор домашнего задания.

Стажировка в GeekBrains. 2 месяца.
В формате вебинаров

Во время стажировки студентам предстоит поработать в режиме удаленной занятости над Open Source-проектом либо стартапом. Студентам будет предложено выбрать один из набора доступных для разработки проектов. Студенты научатся работать в команде, коммуницировать с другими разработчиками, product- и project-менеджерами, дизайнерами, изучат гибкие методологии, фреймворк SCRUM, освоят принципы дистанционной работы. Результат стажировки - умение работать в команде, пополнение портфолио, возможность указать работу над проектом в качестве профильного опыта работы в резюме. Стажировка проходит в формате дистанционной работы с частичной занятостью, еженедельными встречами-статусами с преподавателем в формате вебинара.

Урок 1. Знакомство, выбор проекта

Какие роли бывают в разработке. Product Manager, Project Manager, разработчик, дизайнер. Что такое MVP. Архитектура современного сервиса. Как разработчики взаимодействуют между собой. REST API, Web Socket. Backend, Frontend, мобильные приложения. Микросервисная архитектура. Основы удаленной работы. Запись в команды.

Урок 2. Методологии разработки

Обзор методологий. Каскад (водопад), Agile-манифест, Канбан, Скрам. Где и для чего применяются. Смешанные методологии.

Урок 3. Методология SCRUM

Работа по SCRUM. Планирование спринта. Причесывание бэклога (backlog grooming). Цель спринта. Инкремент. Гибкая методология в условиях дистанционной работы. Таск-трекеры (Trello, Favro)/

Урок 4. User Story Mapping

Типы задач. Декомпозиция задач. Построение карты пользовательских историй. Работа над пользовательскими историями. Работа с ТЗ по водопаду и в гибких методологиях.

Урок 5. Ответственность, мотивация, личностный рост

Чем и как мотивировать себя. Какие уровни мотивации бывают. Как не сгореть на работе. И как не забить на работу.

Урок 6. Написание резюме

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

Урок 7. Предварительное подведение итогов, подготовка к защите проекта

Разбор студенческих резюме. Предварительное подведение итогов. Немного о стартапах, монетизации, инвесторах.

Урок 8. Подведение итогов, демонстрация выпускного проекта

Демонстрация рабочего прототипа студентами. Обсуждение полученных результатов. Обратная связь от преподавателя. Напутствие.

Как стать программистом. 13 уроков.
Пошаговая инструкция по поиску работы

Карьера в сфере программирования - это увлекательное путешествие в мир современных технологий. У каждого разработчика своя история и свой опыт. Однако существует базовый алгоритм, который поможет правильно сделать первые шаги и приведёт к вашей цели. Мы подготовили 13 видео-уроков, в которых ответили на самые актуальные вопросы о карьере программиста в компаниях и на рынке фриланса. Часто думаете о трудоустройстве и чувствуете, что готовы начать зарабатывать? Тогда этот видео-курс для вас.

Урок 1. Профессия “Программист”

Особенности профессии; часто задаваемые вопросы; востребованность на рынке труда.

Урок 2. Профориентация

Стану ли я успешным программистом? Факторы успеха.

Урок 3. Начинаем составлять резюме

Самое важное - первое впечатление; как назвать должность.

Урок 4. Выбор языка программирования: веб-разработка

Обзор языков для разработки сайтов: HTML, CSS, JavaScript, PHP, Python, Ruby, C#, Java; правильный выбор.

Урок 5. Мобильная разработка. Универсальные языки программирования

Обзор языков: Java, Objective-C, Swift; C#, C++, Python: правильный выбор.

Урок 6. Правила эффективного резюме

Список технологий; портфолио; дипломы и сертификаты; личностные качества. Взгляд технического специалиста и HR.

Урок 7. Поиск работы: что, где, когда

Работа мечты, психологические аспекты; техника запроса.

Урок 8. Собеседование и испытательный срок

Собеседования для программистов: как себя вести, что говорить, к чему прислушиваться; испытательный срок и правила его прохождения.

Урок 9. Фриланс: первые шаги

Обзор площадок для фриланса; особенности регистрации; оформление аккаунта; как выделяться среди большинства исполнителей.

Урок 10. Фриланс: начало работы и поиск заказов

Стратегия поиска заказов; приоритет заказов: что брать в работу; ведение переговоров; задания и подводные камни ТЗ; методы обращения к клиенту; написание ответов и привлечение внимания клиентов; правильные вопросы.

Урок 11. Фриланс: выполнение заказа и оплата

Способы оплаты: безналичный или наличный расчёт; предоплата или постоплата; обзор ситуаций, в которых лучше сработает каждый из способов; подготовка к работе и обязательные договорённости с клиентом; особенности процесса работы; завершающие этапы сотрудничества; обмен отзывами; техника "посоветоваться".

Урок 12. Специальности в сфере IT

Как проходит разработка в крупных компаниях? Кто такие аналитики, дизайнеры, тестировщики, архитекторы, projectmanager-ы, team-lead-ы и пр.

Урок 13. Карьерная лестница в сфере IT

Как выглядит карьерная лестница в сфере IT? В каких специальностях проще начинать свой путь? Какие есть перспективы развития?

Курс, разработанный совместно с школой EnglishDom, поможет освоить ключевые англоязычные темы, актуальные для начинающих IT-специалистов. Максимум практики и фокус на IT-лексику. На 10 уроках разбирается составление CV, технических заданий и деловых писем, собеседования и переговоры, международное общение при продвижении своего проекта. В живых диалогах на английском студенты закрепят фразы, которые пригодятся в работе разработчикам и тестировщикам, маркетологам и дизайнерам.

Урок 10. Start up

Рассказываем о своем проекте и представляем команду на английском.

Последние материалы сайта