Стэнфордский курс «Developing iOS 9 Apps with Swift» теперь доступен на iTunes. Это долгожданное обновление предыдущего курса по iOS 8 и Swift.
Для того, чтобы воспользоваться этим контентом, вам нужно иметь только Mac — Macbook Pro, MacBook Air, iMac. Все программное обеспечение — бесплатное.

Этот курс в течение 10 недель читает профессор Пол Хегэрти. Он не только высвечивает множество нюансов операционной системы iOS и языка программирования Swift, которые не так-то легко найти в документации, но и снабжает вас приемами программирования на iOS, которые вы не найдете ни в одной книге (может быть, на WWDC 2011, 2012, 2013, 2014, 2015). Он многократно сократит ваш путь изучения. Реально, он — гений в преподавании программирования на iOS.

Уже выложены 5 лекций, три домашних задания на чтение и два домашних заданий на программирование.
На первой лекции после обзора структуры программного обеспечения iOS, профессор Пол Хегэрти погружается в демонстрационный пример — калькулятор, но это не тот RPN калькулятор, который был на прошлом курсе. На этот раз это обычный и более простой калькулятор, у него нет реккурсивного вызова методов. На примере этого калькулятора профессор очень подробно рассказывает о синтаксисе Swift 2.2 и о возможностях Xcode 7.3. Буквально объясняет каждый символ. И может возникнуть обманчивое впечатление, что это курс для начинающих. Но он умышленно это делает, чтобы дальше, при объяснении протоколов, замыканий, анимации, многопоточности, Autolayout (разметки), объектно-ориентированной базы данных Core Data, Dynamic Animation и т.д., не вернуться к этому никогда, и начать говорить только о сложных вещах. Поэтому первые 3-4 лекции — просто находка для тех, кто только начинает разрабатывать iOS приложения на Swift. Он сам говорит о том, что задачей первых двух недель курса является дать своим студентам «ракетный» старт в изучении языка Swift. Поэтому он дополняет курс 3-мя Заданиями на чтение документации по Swift. Именно в этот период студенты выполняют Домашние Задания на программирование 1 и 2 (их всего, как правило, 6), которые являются достаточно легкими.
Но после 2-х недель ситуация резко меняется: материал курса усложняется, а трудность Домашних Заданий на программирование растет по экспоненте.
Для успешного прохождения курса профессор Пол Хегэрти подчеркивает важность знакомства с объектно-ориентированным программированием, как обязательное требование к курсу. Это курс топового уровня по программированию, поэтому желательно предварительно пройти некоторые основополагающие курсы по программированию, например, такие, как стэнфордские курсы CS16A и B или CS16X и затем CS107, хотя это не совсем Объектно-Ориентированный курс, но это очень тяжелый и добротный курс по программированию.
Курс CS108 — замечательный Объектно-Ориентированный курс, поэтому, если вы пройдете CS108, то вы действительно будете прекрасно подготовлены. Курс CS110, тоже не совсем Объектно-Ориентированный курс, но огромная программистская практика, потому что основные занятия на этом курсе — программирование.

Есть примерная программа курса:

1 — Введение в iOS 9, Xcode 7.3 и Swift 2.2
2 — MVC; iOS, Xcode и Swift демонстрация

3 — Swift 2.2 в деталях
4 — Drawing (рисование)

5 — Управление Multitouch Gesture (жестами)
6 — Комбинирование MVCs; «жизненный цикл» View Controller

7 — Closures (замыкания); Extensions (расширения); Protocols (протоколы); Delegation (делегирование); ScrollView
8 — Multithreading (многопоточность); Text Field (текстовое поле)

9 — Table View
10 — Core Data

11 — Еще больше Core Data
12 — Autolayout (система Авторазметки); Final Prohect Requirements (требования к финальному проекту)

13 — Animation (анимация)
14 — Еще больше анимации; Alerts

15 — «Жизненный цикл» приложения; Core Motion ()
16 — Core Location (местоположение); Maps (карты)

17 — Еще больше Segues; Visual Effects
18 — Camera (фотокамера); Persistence (постоянное хранение)

Видно, что лекций на одну больше, чем в прошлый раз. Теперь их 18, вместо предыдущих 17. Есть Core Data, но нет Локализации, что всегда было заключительной лекцией, и с которой можно познакомиться на прошлом курсе, нет Air Drop и нет явного упоминания Dynamic Animation, хотя анимация, конечно, есть.
По-моему, будет очень интересно.
Если кто-то хочет почитать материал на русском языке, предлагаю свой неавторизованный конспект лекций на русском языке. Выложено
Лекция 1 CS193P Spring 2016 — Обзор курса и введение в iOS, Xcode и Swift. (часть 1)
Лекция 1 CS193P Spring 2016 — Обзор курса и введение в iOS, Xcode и Swift. (часть 2)
Лекция 2 CS193P Spring 2016 — Применяем MVC.

продолжение следует…
Я собираюсь и дальше выкладывать неавторизованные конспекты лекций на русском языке и приглашаю Вас вместе со мной выполнять Домашние задания на своем сайте «Разработка iOS приложений».

Комментарии (5)


  1. Arik
    28.04.2016 18:11

    Прям так удачно начал изучать =)
    Столько материалов появилось по iOS 9, Swift 2 и Xcode 7.3.
    У видео на iTunes есть субтитры, у меня почему-то не работали по-умолчанию, хотя стоял флаг показывать их, помогло выключение и включение субтитров.

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


    1. WildGreyPlus
      28.04.2016 18:13

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


      1. jreznot
        28.04.2016 20:53

        А куда сообщать то? Там половину текста бы править ещё, там русский на русский не похож


        1. WildGreyPlus
          28.04.2016 20:55

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


  1. house2008
    28.04.2016 20:05

    Спасибо! Будет что вечерком посмотреть.
    Если кому интересно, на днях хорошие люди выложили лекцию про UIStackView (которая в ios 9 появилась) в бесплатный доступ, достаточно интересный материал https://www.raywenderlich.com/132563/rwdevcon-2016-session-103-beginning-uistackview-2 пс. к ресурсу не имею никакого отношения, не сочтите за рекламу)