Я разместила иконки курсов Стэнфордского университета по разработке приложений на iOS в обратном хронологическом порядке. На первом месте стоит иконка Swift — нового языка программирования для создания приложений на iOS, объявленного на WWDC 2014. Кроме Swift реализована новая версия iOS — iOS 8. Уже известно, что Стэнфордский университет запустит зимой 2015 года новый курс CS193P с неизвестным пока названием (может быть будет что-то вроде «Developing iOS 8 Apps for iPhone and iPad»). Лектор тот же — профессор Paul Hegarty.
В традиции Стэнфорда выкладывать курс CS193P на iTunes U в виде бесплатного курса обучения, но делают это они со сдвигом во времени, чтобы не мешать платному обучающему процессу, так что в феврале-марте 2015 года (как это было в 2013 году) можно ожидать постепенное появление лекций на iTunes U. Так что время есть.
Я прошла почти все курсы профессора Пола Хэгарти — от iOS 5 до iOS 7 — до самого конца (смотри Github ).
Для подготовки к перспективному курсу по iOS 8 разместила на своем сайте «Разработка iOS приложений» неавторизованные конспекты лекций, тексты домашних заданий и примеры их решения на русском языке для последнего доступного в настоящее время обучающего курса «Developing iOS 7 Apps for iPhone and iPad», запущенного Стэнфордским университетом в семестре «осень 2013 — зима 2014 года» на iTunes U.
До этого были очень интересные и также бесплатные курсы «Coding Together: Developing iOS 6» (семестр «зима 2013 — весна 2013 года») и «Coding Together: iOS 5 Apps for iPhone and iPad» (25 июня — 27 августа 2012). Причем последний основан на материалах популярного в iTunes U курса CS193P «iOS 5 iPad and iPhone App Development (Fall 2011)». Стэнфордский курс «iOS 5 iPad and iPhone App Development» на iTunes U скачали более 10 миллионов раз, сделав его одним из самых популярных online курсов на Земле.
Особый прорыв в изучении программирования в операционной системе iOS удается достичь при изучении курсов типа «Coding Together» (программируем вместе), так как вам предоставляется ресурс стэнфордского университета — Piazza — для совместного обучения (peer collaboration). Плюс у вас появляется редчайшая возможность изучать программирование для iPhone и iPad наряду с другими разработчиками мобильных приложений по всему миру. На Piazza (по-итальянски «площадь») можно задавать вопросы и получать ответы со всего мира. Там же можно было подписаться на курс.
Если вы уже пробовали осваивать этот курс программирования в одиночку, то наверняка застревали где-то на лекции 3 или 4, а то и раньше. А на Piazza всегда были люди, готовые вам помочь.
Основной язык на Piazza — английский, в этом для многих, не владеющих английским свободно, проблема, но об этом ниже.
Каждую неделю по понедельникам и средам на iTunes U (для iOS устройств и для Мас) выкладывались лекции основного курса, а каждую пятницу — дополнительная лекция на тему, связанную с iOS устройствами (они, по замыслу, факультативные, но настоятельно рекомендовались к просмотру). Каждую среду — домашнее задание (Assignment), на выполнение которого отводилась неделя (до следующей среды). За это время в Piazza можно спрашивать любые вопросы, давать любые ответы, вступать в дискуссию по вопросам текущей лекции или задания. Кроме того, нужно было организоваться внутри Peer Group на выполнение задания и проверку кода друг друга. Это давало возможность всем двигаться по курсу с приблизительно одинаковым темпом.
Ближе к окончанию курса вы должны сделать финальный проект.
Слушать блестящие лекции профессора Пола Хегэрти (Paul Hegarty) очень интересно. Его лекции понятны и информативны. Он высвечивает множество нюансов операционной системы iOS, которые не так-то легко найти в документации и снабжает приемами программирования, которые вы не найдете ни в одной книге (может быть, на WWDC 2011, 2012, 2013, 2014). Он многократно сократит ваш путь изучения программирования на iOS5. Реально, он — гений в преподавании программирования на iOS.
Но «соль» этого курса в заданиях (Assignments 1 — 6), которые вы должны выполнить самостоятельно в течение одной недели каждый. Задания — очень не легкие и чем дальше — тем сложнее, хотя в тексте заданий множество подсказок и даже скриншоты. Вам придется просмотреть множество книг, документацию Apple и обратиться на Piazza с вопросами.
Сам процесс выполнения заданий на Mac в Xcode 5 или новом Xcode 6 — очень увлекательный: хорошая информационная поддержка, результат отображается на симуляторах iPhone и iPad или на реальных устройствах, визуализация процесса отладки.
После выполнения очередного задания вы другими глазами посмотрите на ту же самую лекцию, которую слушали перед выполнением задания, она будет для вас абсолютно понятной и логичной и вы сможете сосредоточиться на важных нюансах, которых в лекциях Пола Хeгэрти очень много.
Домашние задания «настоящих» студентов Стэнфорда выполняются в срок и оцениваются ассистентами и самим профессором, ну а у нас — бесплатный курс и мы можем выполнять домашние задания в соответствии со своим собственным темпом, а также смотреть в Piazza на код других участников и сравнить их со своим решением. Вы увидите столько нетривиальных, так сильно отличающихся друг от друга, а иногда и просто гениальных решений, которые можно обсуждать в Piazza, а затем заимствовать для дальнейшей работы.
К сожалению, курсов типа «Coding Together» было всего два для iOS 5 и iOS 6. Для курса «Developing iOS 7 Apps for iPhone and iPad» нас уже не пригласили на Piazza, но наиболее активные энтузиасты продолжали успешно использовать этот ресурс.
Почти нет шансов, что перспективный курс по iOS 8 будет проходить в режиме «Coding Together», так как, по моему мнению, отдельные решения на Piazza превосходили те, которые выполняли «настоящие» студенты, а это мешает учебному процессу.
Но курс настолько хорош, что огромное спасибо Стэнфорду за то, что доступно.
Для подготовки к перспективному курсу по iOS 8 решила остановится на последнем доступном в настоящее время курсе «Developing iOS 7 Apps for iPhone and iPad», для которого составила неавторизованный конспекты лекций, тексты домашних заданий и примеры их решения на русском языке. Вы можете найти их на сайте.
Надо сказать, что конспект лекций не имеет вид безукоризненно отредактированных материалов, так как был составлен с разговорной речи во время лекции, а некоторые вещи профессор чисто методически повторяет несколько раз в разных вариантах. Кроме того, все слайды переведены на русский язык и вставлены в конспект, а также могут дублировать речь профессора, который объясняет эти слайды.
Приведу здесь некоторые примеры описания лекций, чтобы вы смогли оценить качество русскоязычного неавторизованного конспекта.
На сайте «Разработка iOS приложений имеются примеры выполнения Домашних заданий (Assignments).
Stanford CS 193P iOS 7 Лекция 3 – Objective-C
На Лекции 3 демонстрируется, как решать Домашнее задание 1 и добавляются новые возможности в игру Matchismo: разрабатывается алгоритм подсчета очков при „совпадении“ карт, когда в игре участвует несколько карт (например, 12).
Код для этой лекции доступен на github.
Видео Лекции 3, а также ее слайды (которые включают в себя полную пошаговую инструкцию демонстрационного проекта Лекции 3) доступны на iTunes название “3. Objective-C”.
Русский неавторизованный конспект Лекции 3, хронометрированный через каждые 5 минут, доступен по ссылкам:
Лекция 3 CS193P iOS 7 Fall 2013 — Winter 2014 1 (0 -10 минута)
Лекция 3 CS193P iOS 7 Fall 2013 — Winter 2014 2 (10 — 30 минута)
Лекция 3 CS193P iOS 7 Fall 2013 — Winter 2014 3 (30 — 45 минута)
Лекция 3 CS193P iOS 7 Fall 2013 — Winter 2014 4 (45 -55 минута)
Лекция 3 CS193P iOS 7 Fall 2013 — Winter 2014 5 (55 — 65 минута)
Лекция 3 CS193P iOS 7 Fall 2013 — Winter 2014 6 (65 минута — конец)
Другие русифицированные лекции для курса „CS193P iOS 7 Fall 2013 — Winter 2014“ вы можете найти на сайте »Разработка iOS приложений".
Обеспечение курса
— Сайт стэнфордского университета: курс CS 193P iPhone Application Development;
— Piazza.
В iTunes U другие курсы:
Coding Together: Developing iOS 6 (семестр «зима 2013 — весна 2013 года»);
Coding Together: iOS 5 Apps for iPhone and iPad (25 июня — 27 августа 2012);
CS193P «iOS 5 iPad and iPhone App Development» профессор Paul Hegarty (Осень 2011).
Так как iTunes работает немного по-разному на Macs и iOS устройствах, то не все материалы автоматически размещаются на вашем Mac. На iPad в программе iTune U размещаются все материалы в очень удобной форме, хотя часть их (демонстрационные приложения) нужна именно на Mac.