iOS ADVANCED

Хочешь стать профессиональным iOS программистом?
Мы предлагаем полноценно освоить SWIFT и Objective-C
всего за 6 месяцев.
Старт курса: 8 апреля

iOS Advanced

Длительность
6
месяцев
Интенсивность
1
занятие в неделю
длительностью 6 часов
по субботам, с 10:00 до 17:00 (перерыв с 13:00 до 14:00).
Группа из
12
человек
Стоимость
6600
грн в месяц
ПРИ ОПЛАТЕ ВСЕГО КУРСА ОДНИМ ПЛАТЕЖОМ СКИДКА 10%

ПРЕИМУЩЕСТВА КУРСА iOS ADVANCED

Упор на получение практических навыков
Курс iOS Advanced был разработан таким образом, чтобы максимальное количество времени уделялось получению практических навыков и работе с кодом. Львиная доля классных занятий отводиться именно на ревью самостоятельной работы студента: обсуждение ошибок, спорных моментов, а также рассмотрение разнообразных подходов к решению поставленной задачи.
Поддержка наставника
Каждый студент наших курсов получает поддержку опытного iOS разработчика, который выступает в роли преподавателя и наставника. Наставник помогает в выполнении домашнего задания, отвечает на вопросы, предоставляет дополнительные разъяснения, и конечно же, делится своим богатым опытом.
Стажировка
В случае успешного завершения курса iOS Advanced и качественного выполнения финального выпускного проекта, студентам предлагается оплачиваемая стажировка в нашей компании или компаниях-партнерах, где каждый сможет отточить полученные навыки на практике и получить бесценный опыт работы над реальными проектами.
Ориентация на трудоустройство
Эффективность нашей модели обучения доказана 100% трудоустройством всех студентов окончивших курс и хорошо зарекомендовавших себя в ходе 3-х месячной стажировки в нашей или партнерской компании.
Возможность удаленного обучения
Мы используем современные возможности коммуникационных технологий по максимуму, поэтому при желании студент может обучаться дистанционно без потери качества знаний.

Как организован процесс обучения

1
Лекционные материалы + материалы для самообучения
За исключением коротких вступительных лекций, все теоретические материалы осваиваются студентами самостоятельно. Теоретические материалы, а также видеоуроки доступны онлайн 24/7. Таким образом, мы освобождаем максимум времени для взаимодействия с наставником, чтобы каждый из студентов мог задать интересующие вопросы и отточить практические навыки.
2
Классные занятия по каждой теме
В течение классного занятия студенты получают задания для отработки практических навыков по каждой из тем программы. Это время предназначено для активного взаимодействия с наставником и обсуждения всех интересующих вопросов.
3
Домашние задания
Для закрепления полученных знаний, после каждого классного занятия, студенты будут выполнять довольно обширное домашнее задание. В начале урока наставник будет уделять время на ревью кода, исправлять ошибки и акцентировать внимание на самых важных моментах.
4
Работа над собственным проектом
Кульминацией обучения на курсе iOS Advanced становится разработка собственного мобильного приложения, в работе над которым студент сможет полноценно применить все полученные знания и навыки на практике.

Программа курса включает следующие блоки

1 Семестр. Objective-C, проектирование моделей на основе
базовых структур данных и базовых паттернов.
  • классы, протоколы, категории, расширения, property;
  • литералы;
  • блоки и __block переменные;
  • objc_msgSend - трамплин и скрытый вызов;
  • многопоточность;
  • атомарность и синхронизация;
  • динамика и тип id;
  • особенности наследования и сокрытия данных и методов;
  • for/in loop;
  • кластерные классы;
  • сообщения;
  • message forwarding.
  • нативные;
  • примитивные.
  • гайдлайны;
  • оформление кода;
  • именование.
  • делегирование и наблюдаемость;
  • состояние;
  • проакторы (диспетчеризация);
  • неизменяемость;
  • многопоточность на основании синхронизации, dispatch_queue и NSThread;
  • точки входа и точки перегрузки;
  • переиспользуемость и универсализация поведения;
  • декомпозиция, длина метода, отнесение поведения к сущностям посредством наследования и категорий.
2 Семестр. Cocoa Touch и проектирование графических приложений
с использованием базовых паттернов
  • спецификаторы;
  • слабые, сильные, небезопасные переменные;
  • блоки в арк;
  • асинхронность в блоках.
  • нативные типы;
  • подсистемы рисования;
  • CALayer;
  • Core Graphics и рисование;
  • ручное рисование и принцип запекания в текстуру;
  • аффинные преобразования;
  • иерархия координат видов и подвидов;
  • responder chain;
  • анимации и твины;
  • gesture recognizers, наследование и обработки касаний из видов;
  • неблокирующие операции.
  • функциональные обязанности контроллеров, видов и моделей;
  • декомпозиция поведений;
  • асинхронность и наблюдаемость состояния моделей;
  • сохранение и загрузка состояния с архивацией;
  • модели и массивы моделей;
  • абстрактная модель и абстрактный наблюдаемый объект;
  • использование паттернов с корректировкой под задачи.
  • таблицы;
  • коллекции;
  • принцип переиспользования;
  • проектирование переиспользования с декомпозицией базовых задач на сущности через категории и конвенции.
  • наблюдаемая модель и загрузка из сети;
  • вымещающее кеширование;
  • кеширование с очищением закешированного объекта при отсутствии владельцев.
  • декомпозиция моделей на роли, данные и контексты;
  • взаимодействие контекстов с моделями;
  • выполнение и отмена контекста;
  • локальность кода и поведения;
  • роль, как отдельная и интегрированная сущность;
  • композиция объектов;
  • миксины.
  • Core Data - структура, базовые сущности;
  • наследование в managed object model и в иерархии классов;
  • Active Record;
  • декомпозиция в стиле Active Record.
3 Семестр. Особенности написания кода на языке Swift
  • синтаксис;
  • расширения;
  • протоколы и расширения протоколов;
  • generics;
  • вычисляемые, хранимые, ленивые и наблюдаемые property;
  • замыкания;
  • исключения;
  • операторы;
  • области видимости.
  • value и reference типы;
  • enum, struct, class, tuple;
  • first class higher order functions;
  • optional;
  • result;
  • коллекции.
  • спецификаторы;
  • retain loop;
  • capture list.
  • mutability и immutability;
  • функциональный подход;
  • chaining;
  • type inference.

Рекомендации к уровню знаний студентов

Несмотря на то, что этот курс рассчитан на новичков в сфере информационных
технологий, для комфортного обучения и гарантированного овладения
программой курса студентам рекомендуется обладать следующими
навыками и знаниями:
1. Знание основ программирования
  • • переменные;
  • • примитивные типы и операции над ними;
  • • строки;
  • • указатели;
  • • циклы;
  • • условия;
  • • функции;
  • • структуры и enum;
  • • классы и объекты;
2. Умение писать на любом
из языков программирования.

ОТЗЫВЫ

  1. СЕРГЕЙ
    выпускник iOS Advanced
    “Хотел обучиться программированию и не знал с чего начать, но учитывая тенденцию потребительского отказа от громоздких компьютерных устройств и перехода на мобильные платформы, мой выбор был не велик, либо изучать программирование под android либо под iOS. Просмотрев объявления о востребованности программистов я остановился на том мнении, что буду изучать программирование под iOS на языке ObjectiveC.
    Из множества курсов, предлагаемых интернетом и рекламными буклетами, я выбрал именно IDAP College потому, что полугодичное обучение было больше похоже на правду, что меня там чего то научат по сравнению с остальными, где говорилось об обучении программированию за месяц или два.
    Первых два месяца обучения, было очень сложно: много новых и непонятных мне слов, которые приходилось разбирать по полочкам, что бы выполнить домашние задание. А дальше было еще сложнее. Учебная программа построена так, что каждое новое задание было сложнее предыдущего в несколько раз, как говорится: «чем дальше в лес тем больше дров». Все обучение происходило самостоятельно в свободное время, 6 - 8 часов в день (по выходным и того больше), а по вечерам, в учебном помещении, преподавателем проводился кодревью, т.е. разбор того что понял или не понял на основе написанного тобой домашнего задания в виде программного кода. В общем было увлекательно и интересно.
    В конце обучения, для закрепления приобретенных знаний, каждый самостоятельно писал свое первое мобильное приложение, и это мне показалось самым сложным за весь период обучения. Но, по окончанию написания приложения, все оказалось не так уж и сложно как казалось в самом начале.
    Как вывод могу сказать, что я доволен тем что пошел учиться именно в IDAP College”.
  2. Игорь
    выпускник iOS Advanced
    “Отличные курсы! Очень понравилось достаточно глубокое изучение языка С. Это послужило хорошей базой для дальнейшего погружения в разработку приложений для iOS. Также, я считаю, что одной из замечательных сторон этих курсов является ежедневный контроль выполнения домашнего задания. Трудно переоценить ценность кодревью, проводимого опытным преподавателем в начале каждого занятия. Хорошо подготовленные учебные места, сбалансированная продолжительность занятий. Что особенно важно - мы не просто изучали Objective-C, а нас учили писать простой, чистый самодокументируемый код. Более того, нас учили писать приложения придерживаясь разных паттернов программирования. Гарантия трудоустройства для учеников успешно написавших выпускное задание - это абсолютная правда. После окончания курсов 5 человек получили офер на работу iOS developer. Я очень доволен тем, что мне повезло попасть на курсы IDAP. Отдельное спасибо нашим преподавателям. Однозначно рекомендую эти курсы всем, кто собирается стать настоящим, хорошим iOS разработчиком.”
  3. Василь
    выпускник iOS Advanced
    “Дякуючи курсам з програмування на Objective-C для iOS, які створені на базі IDAP College, мені вдалося за півроку значно підвищити свої знання в програмуванні та вивчити для себе багато нового не тільки в Objective-C але й поглибити знання C. Завдяки справжнім професіоналам своєї справи, нашим менторам, цей процес був вельми пізнавальний, а також цікавий. Звичайно, курси потребують достатнього рівня початкових знань і не є легкими, але результат виправданий. Завдяки акцентуванню курсів на вивчення архітектури та проектування, а також робота над помилками домашнього завдання, (code-review) ментором та отримання рекомендацій щодо покращення написаного коду - напрацьовується вміння не просто писати код, але вміння проектувати та створювати програми: повний цикл розробки - від проекту до повної реалізації”.
  4. Сергій
    выпускник iOS Advanced
    “Дані курси були дуже цікаві та пізнавальні для людини, яка до них не була пов'язана з програмуванням. Курси IDAP College дали мені змогу працевлаштуватися, і хоча вони були важкими і займали чимало часу, але вони того варті”.