Tuesday, December 20, 2011

Курсы Стэнфордского университета

     Этим летом Стэнфордский университет объявил о начале грандиозного эксперимента. Эти ребята собираются в ближайшем будущем вводить дистанционное обучение, но методика новая - еще не опробованная, соответственно им нужно ее обкатать на статистически значимом числе студентов. Поэтому они организовали бесплатные курсы для всех желающих. Понятное дело, что у "всех желающих" не всегда все в порядке с мышлением, а так же нет достаточной мотивации, но они решили, что если охватить несколько направлений, то эти факты можно нивелировать. Таким образом, первыми ласточками их эксперимента стали три общедоступных структурированных курса - Introduction to Databases, Introduction to Artificial Intelligence и Introduction to Machine Learning. Занятия по всем трем начинались в октябре, и закончились неделю назад. Курсы состоят из набора видео лекций, упражнений, тестов, дополнительных заданий и экзаменов. 
     Изначально, я записался на все три курса с твердым намерением завершить их все, но потом понял, что: 
а) на все три курса уходит слишком много времени 
б) искусственным интеллектом и машинным обучением я профессионально занимался несколько лет, и хотя у меня есть масса пробелов, но тем не менее эта тема для меня более или менее понятна. 
в) интеллект и обучение я не применяю на практике каждый день 
г) у меня присутствуют серьезные пробелы в знаниях по базам данных 
д) с базами данными я сталкиваюсь, так или иначе, каждый день в ходе выполнения своих служебных обязанностей. 
      Таким образом, я решил сфокусироваться на базах данных. Дело в том, что до устройства на мою текущую работу у меня никогда не было серьезного взаимодействия с базами данных. Так получилось, что предыдущие компании, в которых я работал, были более наукоемкими и прекрасно обходились без баз данных (ну, почти). Так что многоэтажные джойны мне впервые пришлось писать в HSBC, и первое время мне это здорово выкручивало мозг. Кроме того не было хорошей теоретической подготовки. В универе нам читали базы данных, но это был один семестр обычных лекций, когда лектор фактически читает с книжки. На практических занятиях мы ковыряли Access и Northwind. Вот, в общем, и все. Конечно, за последние два года, я здорово прокачался, но все равно посчитал, что пройти курс будет не лишним. И я не ошибся. Во-первых, лекции живые и интересные - нет монотонного бубнежа, что очень важно для концентрации внимания. Во-вторых, объем информации просто огромен, и включает в себя следующие основные разделы:
  • XML + DTD и XLS для верефикации данных 
  • SQL в соответствии с SQL Standard 2008 
  • XQuery 
  • Реляционная алгебра - большой раздел о внутреннем устройстве языка SQL, и какая математика стоит за нашими запросами. 
  • Теория реляционного дизайна - это что-то с чем-то - формализованный подход к дизайну таблиц и связей. В отличие от обычно подхода, который часто можно описать выражением "с потолка", данный подход позволяет на основе имеющихся атрибутов в соответствии с заданным алгоритмом, за конечное число итераций прийти к оптимальному дизайну для базы данных. 
  • UML для баз данных Индексы, ограничения и триггеры 
  • Отображения (view) - и о том, как и когда их можно редактировать (в соответствии со стандартом) 
  • Рекурсия 
  • OLAP 
  • No-Sql 
      Все это сопровождалось большим количеством заданий, которые надо было сдать к определенному сроку. В общем, было тяжко - обычно половину выходных приходилось корпеть над заданиями. Лекции тоже надо было слушать с ручкой и бумагой - я исписал половину общей тетради. Очень доволен, в самом деле узнал много нового. Правда я все еще не разобрался с рекурсией и OLAP - не понял все до конца, что и сказалось на финальном экзамене. Кстати, на сдачу экзамена давалось два часа времени и одна попытка. Финальный бал (с учетом выполненных заданий, тестов и экзаменов) который я получил был 261.5 из 323, что в принципе неплохо, но и не блестяще. Есть куда расти :) Так что всем желающим изучить (или улучшить) SQL, настоятельно рекомендую пройти этот курс. Он по-прежнему опубликован в открытом доступе, правда теперь не считаются баллы за выполненные задания. 
     Начиная с февраля следующего года, Стэнфорд расширил список доступных online курсов (см. ниже), похоже, они всерьез задумываются над изменением текущего положения дел в дистанционном обучении. Я думаю и в самом деле недалек тот день, когда на Марсе будут яблони цвести можно будет получить качественное образование университетского уровня, не выходя при этом из дома. 

6 comments:

Sergey said...

Просто супер-новость!

Буду регистрироваться на курс computer security!

P.S. А какой-то дипломчик или листочек об окончании курсов выдали?

Bashir Magomedov said...

Да, дали бумажку от преподавателя, типа такой-то участвовал в нашем эксперименте и набрал столько-то балов. Данный сертификат не может расцениваться как сертификат Стэнфорда, не может служить для идентификации личности и никто не несет никакой ответственности. Подпись, дата :)

Alex Rybakoff said...

Крут, что выдержал до конца! )

Я не записывался (у нас свой курс был по БД в это же время), но тут список вопросов был пошире.

А еще я начал работу программистом. Уже 4 дня отработал ) Пишу на Java (хотя для начала дали простые задания с применением XSL). С БД теперь каждый день приходится сталкиваться, т.к. главный продукт компании - решение для онлайн-торговли :)

Bashir Magomedov said...

@Alex Rybakoff. Да, я видел у себя в ленте с телефона, не смог поздравить, не был залогинен :) Поздравляю! Ты молодец, без опыта, на финском! Все у тебя получится! Теперь главное не тормозить, и держать мозги в тонусе :)

А курсы на самом деле хорошие, я может еще парочу в следующем году начну :)

Мага said...

Ааа, я там разглядел курс анатомии)))
Мне с моим преинтермедиэйт там ловить нечего или стоит попробовать (тем более, что планы на будущее - наполеон нервно курит))))
И че то не понял как их найти?

Bashir Magomedov said...

Попробовать в любом случае стоит :)
Вот класс анатомии:
http://www.anatomy-class.org/