Информатика

MIT 6.00.1x Обзор

Обзор «Введение в информатику и программирование с использованием Python»

Я только что закончил аудит 6.00.1x Массачусетского технологического института (Введение в информатику и программирование с использованием Python) на EdX. Это первый MOOC, который я дошел до конца, не говоря уже о том, чтобы пройти! Обратите внимание, что этот курс полностью доступен: вы можете получить свои коды для всех наборов задач и экзаменов бесплатно; вам нужно заплатить только в том случае, если вы хотите получить подтвержденный сертификат после прохождения курса - 49 долларов США, меньше, если вам предоставлена ​​финансовая помощь EdX.

Ниже приведены три моих наблюдения после прохождения курса, включая то, что я считаю хорошим, что можно улучшить, и советы по получению максимальной отдачи от занятий:

1. Вы должны купить прилагаемый учебник.

К курсу прилагается учебник, который можно купить в бумажном виде или в виде электронной книги. Это очень помогло мне, когда я запутался в определенной теме во время лекции - что происходило очень часто - и был слишком раздражен, чтобы перематывать то же самое старое видео. Внимательного прочтения соответствующего раздела книги было более чем достаточно, чтобы прояснить мое замешательство, и у меня было достаточно времени подумать о концепциях, особенно когда я пытался следовать коду на странице. Без книги я очень сомневаюсь, что прошел бы курс.

2. Алгоритмы оказались не такими страшными, как я думал.

Я так боялся ходить на уроки по алгоритмам, потому что всегда думал, что они слишком трудны для меня. Однако, если вы на самом деле проследите за кодами этих алгоритмов в книге или на слайдах лекций и сделаете достаточно заметок по ним - как показано ниже, когда я уничтожил свой учебник с выделением и аннотациями, - вы скоро начнете понимать их логику. Я был приятно удивлен, обнаружив, что могу реализовать алгоритмы сортировки (сортировка по выбору, сортировка слиянием) еще до того, как увидел код, просто путем прослушивания или чтения псевдокода. Это свидетельство того, как предыдущие уроки курса действительно дали мне прочную основу для начала реализации новых программ.

3. Этот класс мог бы быть лучше с некоторыми приложениями для анализа данных.

Так как это предварительный курс для 6.00.2x Массачусетского технологического института (Введение в вычислительное мышление и науку о данных, теперь открыто!), Я бы хотел, чтобы было больше применений в науке о данных концепций, преподаваемых в классе, учитывая, что многие люди, которые изучают класс заинтересован в изучении программирования для этой цели.

Конечно, элементы, рассматриваемые в этом классе, должны быть базовыми, но я думаю, что есть лучшие способы узнать о классах и наследовании, чем на заезженном примере Person-Student-MITPerson-Undergrad / Grad-class. Меня действительно интересует, как классы могут использоваться для моделирования задач науки о данных, и я думаю, что с более подходящими примерами я смогу лучше оценить возможности объектно-ориентированного программирования. На данный момент я все еще не совсем уверен, когда и как мне их использовать.

Дополнительные ресурсы:

Вот дополнительные ресурсы, которые я использовал для класса, которые действительно помогли мне во время курса:

  1. Другие книги по Python для начинающих: я рекомендую Ускоренный курс Python, так как я прочитал эту книгу перед тем, как пойти на этот курс. Вы можете просто просмотреть первые 11 глав, посвященных основам Python.
  2. Для алгоритмов настоятельно рекомендую Grokking Algorithm. Я обожаю эту книгу, особенно милые иллюстрации ❤️ После прочтения первых 5 глав книги, посвященных анализу времени выполнения, алгоритмам сортировки и хеш-таблице, мне стало намного легче усваивать лекции курса по этим темам. Поскольку учебник курса иногда может быть кратким, эта книга - прекрасное дополнение к нему.
  3. Наконец, ничто не сравнится с ручкой и бумагой - меня шокирует, сколько бумаги я использовал для этого урока! - выделить концепции, затронутые в классе, и объяснить себе, как это работает; например, как определенная функция изменяет переданный ей список. Это также применимо, когда вы работаете над экзаменами и наборами задач: мне было очень приятно видеть, как идеи, которые я написал и обосновал на бумаге, превращаются в код, который затем работает.

Через несколько недель после написания этого обзора я также закончил MIT 6.00.2x. Вы можете ознакомиться с моим обзором этого курса здесь.