Бакалавриат
2023/2024
Научно-исследовательский семинар "Погружение в iOS-разработку"
Статус:
Курс по выбору (Программная инженерия)
Направление:
09.03.04. Программная инженерия
Кто читает:
Департамент программной инженерии
Где читается:
Факультет компьютерных наук
Когда читается:
2-й курс, 1-3 модуль
Формат изучения:
без онлайн-курса
Охват аудитории:
для своего кампуса
Язык:
русский
Кредиты:
3
Контактные часы:
48
Программа дисциплины
Аннотация
В рамках НИСа слушателям предстоит изучить язык программирования Swift, освоить стандартные компоненты интерфейса и популярные нативные фреймворки, а также приобрести практические навыки создания iOS-приложений в IDE XCode.
Цель освоения дисциплины
- Ознакомиться с технологиями разработки iOS-приложений и приобрести достаточный набор знаний и навыков для их успешного создания и дальнейшего профессионального развития в этой области.
Планируемые результаты обучения
- Знакомство с синтаксисом языка Swift
- Знание основных типов данных и принципов хранения данных в памяти
- Опыт работы с элементами интерфейса из стандартной библиотеки
- Опыт создания новых элементов пользовательского интерфейса
- Знание основ создания экранов мобильного приложения по макетам
- Умение создавать интерфейс мобильного приложения программным путём
- Знакомство с хранением данных с помощью User Defaults, Core Data, понимание персистентного слоя
- Опыт взаимодействия с сетью интернет и сторонними API через URLSession
- Умение создавать модели для локального хранения и передачи информации
Содержание учебной дисциплины
- Введение. IDE Xcode и структура проекта. Погружение в язык программирования Swift
- Создание UI-интерфейсов с использованием UIKit в Interface Builder.
- Проектирование многооконных пользовательских интерфейсов, работа с различными интерфейсными элементами.
- Работа с UIKit без использования Interface Builder. Работа с интерфейсными элементами и констрейнтами в коде. Создание новых UI-компонентов
- Локальное хранение данных на устройстве: UserDefaults, CoreData. CRUD-примеры. Реализации нотификаций
- Создание виджетов iOS-приложения
- Работа с многопоточностью. ARC, MRC, Memory leaks
- URLSession и Codable. Работа с сетью. Сокеты: концепция, создание iOS-клиентов для взаимодействия с сервером через сокеты
- Клиент-серверное взаимодействие: архитектурный стиль REST API, создание iOS-клиентов для взаимодействия с сервером
- Создание UI-интерфейсов с использованием UIKit в среде Xcode. Знакомство с дизайн-паттернами MVC и MVVM и паттерном делегирования. Жизненный цикл UIViewController. Responder chain. CALayer
Промежуточная аттестация
- 2023/2024 учебный год 3 модульНАКОП = MIN( 0,45 * ДЗ + 0,25 * АУД_АКТИВН + 0,3 * ПРОЕКТ + БОНУСЫ, 10 ) Экзамен обязателен, если НАКОП < 8, тогда ИТОГ = 0.8 * НАКОП + 0,2 * ЭКЗ. АВТОМАТ возможен по желанию, если НАКОП >= 8, тогда ИТОГ = НАКОП. БОНУСЫ: за призовое место на хакатоне с использованием Swift в период проведения НИСа (1,5 балла max). отбор в период проведения НИСа на стажировку (или ее успешное прохождение) или прием на работу в крупную компанию (1,5 балла max) на нативную iOS-разработку на Swift / Objective-C. отбор в период проведения НИСа на стажировку (или ее успешное прохождение) или прием на работу в крупную компанию по другим направлениям (0,5 балла max). за публикацию в App Store в период проведения НИСа iOS-приложения на Swift (1,5 балла max).
Список литературы
Рекомендуемая основная литература
- Dippery, Michael Professional Swift. – John Wiley & Sons, Incorporated, 2015. – Режим доступа: https://ebookcentral.proquest.com/lib/hselibrary-ebooks/reader.action?docID=4043081
- iOS. Приемы программирования, Нахавандипур, В., 2015
Рекомендуемая дополнительная литература
- Программирование для iOS 7 : основы Objective-C, Xcode и Cocoa, Нойбург, М., 2014