1-й модуль
День первый
Закрепление основ языка Swift. Типы данных. Переменные и константы
- Переменные, встроенные типы данных
- Типы String и Int, мульти-строковые переменные
- Типы Double, Boolean
- Понятие константы, применение констант константы
- Явно указанные типы данных
- Практика создания программного кода с использованием различных типов данных
Задание для работы на уроке: написание примеров кода с применением различных типов данных, перемененных и констант.
Результат занятия: повторили и на практике закрепили основные понятия языка Swift.
День второй
Закрепление основ языка Swift. Работа с наборами значений: массивы, кортежи, множества
- Типы коллекций в Swift
- Массивы: типы, создание, описание, применение при создании кода
- Задача перебора элементов массива
- Множества, кортежи: создание, описание, применение при создании кода
- Отличия между массивами, множествами и кортежами
Задание для работы на уроке: написание примеров кода с применением массивов.
Результат занятия: повторили и закрепили не практике работу с массивами, познакомились с множествами и кортежами.
День третий
Закрепление основ языка Swift. Работа с наборами значений: словари, перечисления
- Знакомство со словарями: понятие, описание, применение на практике
- Создание пустых коллекций
- Перечисления
Задание для работы на уроке: написание примеров кода, использующего пройденный материал.
Результат занятия: познакомились со словарями и перечислениями.
День четвертый
Закрепление основ языка Swift. Операторы в Swift
- Понятие операторов, базовые операторы в Swift
- Составные операторы присваивания, операторы сравнения
- Оператор диапазона
- Унарные, бинарные и тернарные операторы
- Операторы условия, логические операторы
- Перегрузка операторов
- Конструкция Switch для обработки нескольких условий
Задание для работы на уроке: написание примеров кода, использующего различные операторы.
Результат занятия: познакомились с новыми операторами, конструкцией switch, на практике закрепили применение различных операторов.
2-й модуль
День первый
Закрепление основ языка Swift. Циклы в Swift
- Циклы в программировании
- Циклы For: синтаксис, применение при написании кода, примеры
- Циклы While: синтаксис, применение при написании кода,
- Циклы Repeat: синтаксис, примеры кода
- Изменение порядка выполнения цикла: break и continue
Задание для работы на уроке: написание примеров кода с применением циклов For и While.
Результат занятия: повторили понятие и виды циклов, на практике закрепили применение циклов.
День второй
Закрепление основ языка Swift. Функции
- Функции – определение, параметры, синтаксис описания
- Возвратные значения
- Ярлыки параметров, параметры по умолчанию, inout параметры
- Функции, выдающие ошибки
Задание для работы на уроке: написание примеров кода с применением функций.
Результат занятия: повторили понятие функций, на практике закрепили использование функций при создании кода.
День третий
Закрепление основ языка Swift. Замыкания
- Замыкания: понятие, типы замыканий
- Использование замыканий для многократного использования блоков кода, анализ примеров кода
- Замыкания с параметрами, “trailing closures”
- Замыкания с возвратными значениями
- Захват данных замыканиями
Задание для работы на уроке: написание кода с применением замыканий.
Результат занятия: закрепили пройденный материал об использовании замыканий.
День четвертый
Закрепление основ языка Swift. Структуры. Методы
- Структуры, вычисляемые свойства, наблюдатели
- Понятие методов
- Методы для строк и массивов
- Инициализаторы
- Ленивые (lazy) свойства
- Статические свойства и методы
- Модификаторы доступа private, public
Задание для работы на уроке: написание примеров кода, использующего методы.
Результат занятия: закрепили пройденный материал.
3-й модуль
День первый
Закрепление основ языка Swift. Классы
- Swift как объектно-ориентированный язык.
- Понятие и значение классов
- Наследование
- Перегрузка методов
- Final классы, копирование объектов
- Деинициализация
Задание для работы на уроке: написание примеров кода с использованием классов, разбор примеров кода с применением классов и наследования.
Результат занятия: закрепили пройденный материал по использованию классов.
День второй
Закрепление основ языка Swift. Протоколы
- Протоколы
- Расширения
- Расширения для протоколов
Задание для работы на уроке: написание примеров кода, использующего пройденный материал, практика отладки программного кода.
Результат занятия: закрепили материал по применению протоколов, расширений для протоколов.
День третий
Закрепление основ языка Swift. Опционалы
- Опционалы
- Работа с опционалами, безопасное извлечение данных
- Разбор примеров задач с применением опционалов
Задание для работы на уроке: написание примеров кода, использующего пройденный материал.
Результат занятия: закрепили пройденный материал.
День четвертый
Закрепление основ языка Swift. Практика написания и отладки кода
- Повторение пройденного материала в 1-3 модулях
- Практика написание программ, выбор алгоритма решения
- Тестирование и отладка программного кода
Задание для работы на уроке: написание различных примеров кода разной сложности с применением изученного материала.
Результат занятия: закрепили пройденный материал с помощью решения задач.
4-й модуль
День первый
Проект «Storm viewer» («Просмотрщик фото») - 1
- Описание и задачи, реализуемые в новом проекте
- Создание нового проекта в Xcode
- Перенос картинок в проект
- Создание списка картинок
Задание для работы на уроке: работа над проектом «Strom viewer»., подбор картинок для проекта.
Результат занятия: создали новый проект, подобрали картинки и перенесли их в проект.
День второй
Проект «Storm viewer» («Просмотрщик фото») - 2
- Создание дизайна приложения в Interface builder
- Table View
- Отдельный экран для показа фото
- Представление UIImage
Задание для работы на уроке: работа над проектом «Strom viewer».
Результат занятия: продолжили создание проекта «Strom viewer», создали экраны и представления для проекта.
День третий
Проект «Storm viewer» («Просмотрщик фото») - 3
- Проверка проекта, исправление ошибок
- Изменение размера картинок и текста
- Практика работы над проектом
- Дополнительные задания для самостоятельной работы по проекту.
Задание для работы на уроке: работа над проектом «Strom viewer» -тестирование, исправление ошибок, окончательная доработка.
Результат занятия: завершили создание проекта «Strom viewer».
День четвертый
Проект «Guess the flag» (игра «Угадай флаг») - 1
- Описание и функционал нового приложения
- Создание нового проекта в XCode
- Дизайн интерфейса
- Позиционирование элементов пользовательского интерфейса
- Constraints
Задание для работы на уроке: работа над проектом «Guess the flag».
Результат занятия: разработали дизайн интерфейса для проекта «Guess the flag».
5-й модуль
День первый
Проект «Guess the flag» (игра «Угадай флаг») - 2
- Создание кнопок в проекте
- Написание кода для ViewController
- Перемешивание флагов
Задание для работы на уроке: работа над проектом «Guess the flag».
Результат занятия: создали кнопки в проекте «Guess the flag».
День второй
Проект «Guess the flag» (игра «Угадай флаг») - 3
- Создание действий @IBAction
- Написание логики игры
- Дополнительные задания
- Тестирование и окончательная отладка проекта
- Обсуждение результатов создания трех проектов
- Демонстрация проекта в классе
Задание для работы на уроке: написание логики игры для проекта «Guess the flag».
Результат занятия: завершили работу над проектом«Guess the flag».
День третий
Проект «Social Media» (кнопка «Поделиться»)
- Знакомство с UIActivityViewController
- Создание функции, использующей UIActivityViewController
- Добавление нового функционала в проекты «Strom viewer» и «Guess the flag»
Задание для работы на уроке: работа над проектом «Social media».
Результат занятия: Доделали проект «Social media», добавили новые функции в проекты «Strom viewer» и «Guess the flag».
День четвертый
Закрепление пройденных проектов и создание проекта «Flag Viewer» ("Просмотрщик флагов")
- Описание и функционал нового проекта
- Создаем проект, в котором используются все пройденные темы из проектов 1-3
- Тестирование и доработка проекта «Flag viewer»
Задание для работы на уроке: работа над проектом «Flag viewer».
Результат занятия: создали проект «Flag viewer».
6-й модуль
День первый Проект «Easy browser» («Простой браузер») - 1
- Описание и задачи, реализуемые в новом проекте
- Создание нового проекта в XCode
- Знакомство с WKWebView
- Загрузка страницы
Задание для работы на уроке: работа над проектом «Easy browser».
Результат занятия: сделали часть проекта «Easy browser».
День второй
Проект «Easy browser» («Простой браузер») - 2
- Выбор сайта
- Открытие страницы
- Задача отслеживания процесса загрузки
- Использование индикатора прогресса UIProgressView
Задание для работы на уроке: работа над проектом «Easy browser».
Результат занятия: сделали часть проекта «Easy browser», дополнили проект индикатором процесса загрузки.
День третий
Проект «Easy browser» («Простой браузер») - 3
- Исправление ошибок,
- Переработка исходного кода, рефакторинг
- Дополнительные задания по проекту
- Доработка проекта, обсуждение результатов
- Демонстрация проекта в классе
Задание для работы на уроке: работа над проектом «Easy browser» - тестирование, исправление ошибок, доработка кода.
Результат занятия: завершили работу над проектом «Easy browser».
День четвертый
Проект «Word Scramble» («Игра со словами») - 1
- Описание нового проекта и реализуемых в нем задач
- Создание нового проекта в XCode
- Создание интерфейса проекта
Задание для работы на уроке: работа над проектом «Word Scramble».
Результат занятия: приступили к созданию нового проекта, создали интерфейс проекта «Word Scramble».
7-й модуль
День первый
Проект «Word Scramble» ((«Игра со словами») - 2
- Чтение файла с диска
- Написание логики игры
- Запрос ответа (UIAlertController)
Задание для работы на уроке: работа над проектом «Word Scramble» - написание логики игры.
Результат занятия: сделали часть проекта «Word Scramble».
День второй
Проект «Word Scramble» («Игра со словами») - 3
- Продолжаем писать логику игры
- Проверка ответа пользователя
- Показ ошибок и неверных ответов
- Дополнительные задания по проекту
Задание для работы на уроке: работа над проектом «Word Scramble».
Результат занятия: завершили создание проекта «Word Scramble».
День третий
Проект «Auto Layout» - 1
- Новый проект как модификация проекта «Guess the flag» для корректного отображения на всех устройствах
- Работа с интерфейсом
- Отдельный тест-проект для создания интерфейса с помощью кода
Задание для работы на уроке: работа над интерфейсом проекта «Auto Layout».
Результат занятия: доработали интерфейс проекта «Auto Layout», настроили корректное отображение проекта на различный устройствах.
День четвертый
Проект «Auto Layout» - 2
- Работа с ограничителями (constraints) и якорями (anchors)
- Дополнительные задания по проекту
- Окончательное тестирование и доработка проекта
- Обсуждение реализованных проектов, демонстрация проектов
- Перспективы развития знаний и навыков в области программирования, траектории развития и обучения.
Задание для работы на уроке: работа над проектом «Auto Layout».
Результат занятия: завершили создание проекта «Auto Layout», подвели итоги обучения на курсе.