Привет незнакомец. Надеюсь, у вас отличный день. Поскольку вы предприняли этот действительно опасный шаг, на самом деле читая мой первый блог на Medium, я буду очень стараться выглядеть круто только для вас!
6.0001 — «Введение в вычисления и программирование с использованием Python» — это полусеместровый МООК, предлагаемый Массачусетским технологическим институтом как на веб-сайте OCW, так и на edX. Это первая часть серии из двух статей «Вычислительное мышление с использованием Python». Вторая часть называется «Введение в вычислительное мышление и науку о данных», которую я собираюсь начать завтра.
Что дал курс?
Если вы перейдете на веб-страницу курса edX, вы увидите это в разделе «Чему вы научитесь».
Понятие вычисления
Язык программирования Python
Несколько простых алгоритмов
Тестирование и отладка
Неформальное введение в алгоритмическую сложность
Структуры данных
Отказ от ответственности: технически я не проходил курс ни по OCW, ни по edX. Я сделал и то, и другое. Записавшись на edX в конце января, я посмотрел первые 2 лекции, а потом… ну, что-то случилось, и я решил остановиться до начала этого месяца. Я, очевидно, скачал видео. Я не увидел какой-либо разницы между наборами задач на OCW и edX.
Итак, с 1 мая я ежедневно тратил более 10 часов в день на 6.0001. И я рад сказать, что это более чем стоило потраченного времени. Я должен сказать, однако, что я не был полным новичком.
Мои прошлые любопытные исследования
Я изучил C до того, как поступил в колледж, и мог реализовывать на нем базовые структуры данных и алгоритмы. Это все было самоучкой, так как мой колледж будет преподавать курсы по структурам данных и алгоритмам на втором курсе.
Кроме того, на первом курсе (с августа 2019 года по настоящее время) я пробовал много разных вещей, в том числе —
Соревновательное программирование (2 конкурса + немного практики). Я понял, что это было действительно глупо, или, может быть, я был. Я не знаю.
Затем я начал читать книгу «Структура и интерпретация компьютерных программ», которую бросил читать примерно через 100 страниц. Я сделаю это на втором курсе.
И, как я уже сказал, я изучил основные структуры данных и алгоритмы.
В промежутках, мои другие интеллектуальные экспедиции, которые я сам навязывал, включали: линейную алгебру — знаменитый MOOC Массачусетского технологического института, многомерное исчисление — то же самое и другие книги по общей физике и математике, для которых я читал — чтобы заполнить пустоту, которую я создал в своей жизни, когда мне не с кем поговорить — ох… прикол, прочитал ради прикола.
Реальная сделка:
So!
Был ли этот МООК, предложенный лучшим университетом мира, легкой прогулкой для меня?
Вы глупы с медицинской точки зрения?
А если серьезно, этот класс был достаточно сложным, чтобы быть интересным (например, sicp). Он научил меня тому, чему обещал научить, что еще более важно, тому, чему я хотел научиться, и дал мне то, чего мне принципиально не хватало, — уверенность. Как будто я встретил Тайлера Дердена (профессора Эрика Гримсона), который поднял меня из прошлого и познакомил с этим Бойцовским клубом(Spyder).
Те вещи, которые я часами пытался понять, но все еще не мог, были так легко объяснены им. Такие вещи, как Big Oh, сортировка слиянием и ООП (я знаю Java!), Теперь не кажутся такими сложными. И позвольте мне выразить особую благодарность профессору Гуттагу за написание той прекрасной книги, которую рекомендовал курс. Я получил огромное удовольствие от прочтения.
Что я на самом деле сделал?
Итак, вот что я сделал.
Первые 5-7 дней я потратил только на чтение книги(первые 10 глав(включая пальчиковые упражнения(Лисп помог мне украсить скобки)) требовалось на 6.0001), затем остальные дни ушли на просмотр лекций(что помогло бы пересмотреть книгу) и решение наборов задач (что было моим первым опытом написания (или, по крайней мере, рецензирования) > 250 строк кода в день). Я так благодарен за этих двух гениев (и горжусь собой!), потому что мне даже не пришлось искать решения в Интернете! Я сделал все сам!
Планы на будущее!
Закончив с 6.0002, я решил использовать эту блокировку, наконец закончив «Алгоритмы на C» — Седжвика и еще один курс OCW под названием «Математика для компьютерных наук». Затем я снова начну с Lisp и, конечно же, с CLRS.
Что вы думаете? Я иду слишком быстро? Должен ли я замедлить? Мне ускориться? Ты будешь моим другом? - простите за это.
Я выложил весь код на свой GitHub — https://github.com/palashsharma891
Спасибо, МИТ. Спасибо профессорам. Спасибо за чтение!
Увидимся после 6.0002!