Разработка iOS приложений
Курс разработки iOS приложений – это практический курс, где студенты изучат язык программирования Swift и интегрированную среду разработки Xcode, чтобы создавать мобильные приложения для устройств Apple. Они научатся разрабатывать пользовательские интерфейсы, работать с базами данных, обрабатывать данные и работать с сетью. Курс включает в себя лекции, практические занятия и проектную работу, чтобы подготовить студентов к работе в индустрии мобильной разработки для iOS.
29 недель, 116 академических часов
2 занятия в неделю по 2 академических часа
400 000 тг за весь период обучения
Онлайн
Онлайн занятия проводятся в Google Meet.
Соотношение теории к практике - 50/50.
Студент обязуется успешно завершить обучение.
Особое условие - в случае нарушения правил обучения, низкой посещаемости (более 50% пропусков) и успеваемости (ниже 5/10 баллов) студент отчисляется и обязан вернуть полную стоимость гранта.
Система оценки успеваемости на курсе будет основана на практических заданиях и проектах, которые студенты будут выполнять в течение курса. Каждое задание/проект будет оцениваться по нескольким критериям, таким как соответствие требованиям, качество кода, использование современных технологий и т.д. Максимальный балл - 10. Кроме того, на курсе будут проводиться тесты и экзамены, чтобы проверить понимание теоретической базы и навыков iOS разработки.
Критерий завершения обучения - средний балл выше 5/10, или выше 50%.
Отбор студентов на курс будет проводиться на основе онлайн-анкетирования и просмотра эссе, в которых студенты должны указать свой интерес к разработке web приложений, а также обосновать, почему они хотят изучать эту тему. После этого студенты проходят собеседование. Мы ищем студентов, которые заинтересованы в разработке мобильных приложений, будет плюсом обладание базовыми знаниями программирования. Также мы оцениваем мотивацию и готовность студентов к обучению, а также их способность работать в команде. Курс iOS разработки – это отличная возможность для тех, кто хочет научиться создавать web-приложения и получить практические навыки для работы в индустрии web разработки.
Программа обучения
28 недель- Неделя1
Введение. Основы Swift. Среда разработки.
- История и философия Swift.
- Установка и настройка Xcode.
- Переменные, константы, числовые типы данных.
- Неделя2
Основы Swift. Строки. Логические типы и управление потоком.
- Работа со строками и их методами.
- Bool и условные операторы (if, else, switch).
- Циклы (for, while).
- Неделя3
Основы Swift. Массивы. Методы. Работа со словарями.
- Создание и использование массивов, методы массивов.
- Определение и вызов методов.
- Словари и их методы.
- Неделя4
Основы UI\UX.
- Принципы дизайна интерфейсов.
- Основы пользовательского опыта (UX).
- Неделя5
Классы и структуры.
- Определение и использование классов и структур.
- Свойства и методы.
- Наследование и полиморфизм.
- Неделя6
ООП.
- Глубокое погружение в объектно-ориентированное программирование.
- Инкапсуляция, наследование, абстракция и полиморфизм.
- Неделя7
Протоколы.
- Определение и реализация протоколов.
- Протокольное программирование и его применение.
- Неделя8
Компоновка элементов UI. Использование Enum.
- Расположение и настройка элементов пользовательского интерфейса в Xcode.
- Enumerations и их использование в управлении UI состояниями.
- Неделя9
Работа с макетами.
- Использование Interface Builder и Storyboards.
- Auto Layout и Constraints для адаптивных интерфейсов.
- Неделя10
Жизненный цикл и навигация.
- Понимание жизненного цикла приложения и контроллеров представлений.
- Реализация навигации между экранами.
- Неделя11
Списки.
- Работа с UITableView и UICollectionView.
- Создание кастомных ячеек.
- Неделя12
Библиотеки. Модификаторы доступа.
- Использование сторонних библиотек через CocoaPods или Swift Package Manager.
- Понимание и применение модификаторов доступа.
- Неделя13
Версионный контроль.
- Основы работы с Git.
- Использование GitHub для совместной разработки.
- Неделя14
Многопоточность.
- Основы многопоточности и параллельного программирования.
- Использование Grand Central Dispatch (GCD) и Operation.
- Неделя15
Сетевые запросы.
- Основы HTTP.
- Работа с URLSession для выполнения сетевых запросов.
- Неделя16
Хранение данных пользователей. SQL.
- Core Data и Realm для локального хранения данных.
- Основы SQL для работы с базами данных.
- Неделя17
Анимации.
- Реализация анимаций средствами UIKit.
- Использование Core Animation для сложных анимаций.
- Неделя18-19
SwiftUI. Верстка элементов. Навигация. Виджеты. Компоновка элементов.
- Основы SwiftUI и декларативный синтаксис для создания UI.
- Создание навигации и маршрутизации в SwiftUI.
- Работа со стандартными и кастомными виджетами.
- Неделя20
SwiftUI. Работа со State.
- Понимание и использование @State, @Binding, @ObservedObject, @EnvironmentObject для управления состоянием приложения.
- Неделя21
SwiftUI. Анимация.
- Создание анимаций в SwiftUI, использование анимационных модификаторов и переходов.
- Неделя22
Современные подходы к разработке.
- Изучение методологий Agile и Scrum для управления проектами разработки.
- Принципы чистого кода и рефакторинга.
- Неделя23
Создание навигации в коде.
- Программная реализация навигации без использования Storyboard.
- Управление переходами и передачей данных между экранами.
- Неделя24
Тестирование. Оптимизация и инструменты Xcode.
- Подходы к тестированию iOS-приложений, юнит-тесты и UI-тесты.
- Использование инструментов Xcode для профилирования и оптимизации приложений.
- Неделя25
Паттерны проектирования.
- Изучение основных паттернов проектирования, применимых в разработке iOS-приложений, таких как MVC, MVVM, Singleton, Factory.
- Неделя26
Push-уведомления. Публикация приложения в App Store.
- Реализация push-уведомлений с использованием Apple Push Notification service (APNs).
- Подготовка приложения к публикации: настройка профилей, создание сборок, работа с App Store Connect.
- Неделя27
Финальный проект. Начало. / Практика (по выбору)
- Подготовка к финальному проекту и итоговому тестированию.
- Планирование и начало разработки финального проекта.
- Выбор темы и технологического стека, определение функциональности.
- Неделя28
Финальный проект. Начало. / Практика (по выбору)
- Разбор возникших вопросов и проблем в процессе разработки.
- Работа над финальными штрихами проекта, рефакторинг, тестирование.
- Неделя29
Финальный проект. Защита. / Практика
- Завершение и защита финального проекта перед преподавателями и однокурсниками.
- Обсуждение полученного опыта, получение обратной связи и рекомендаций по дальнейшему развитию.




