Смотрел ли курс «Introduction to Computer science CS50»

Ответ

Да, я знаком с CS50. Это отличный курс для фундаментального понимания Computer Science. Основные моменты, которые мне запомнились:

  • Работа с памятью, указателями и структурами данных на C
  • Основы алгоритмов (поиск, сортировка, рекурсия)
  • Введение в веб-разработку (HTML, CSS, JavaScript)
  • Основы баз данных и SQL

Пример из курса (быстрая сортировка на C):

void quicksort(int arr[], int low, int high) {
    if (low < high) {
        int pi = partition(arr, low, high);
        quicksort(arr, low, pi - 1);
        quicksort(arr, pi + 1, high);
    }
}

Курс дал мне хорошую базу, хотя некоторые вещи (особенно низкоуровневые) я углублял уже самостоятельно.

Ответ 18+ 🔞

Ну, вот смотри, CS50, блядь. Это как такой фундаментальный пиздец для мозга, если ты в IT лезешь. Не просто "нажми кнопку — получишь результат", а реально залезают в дебри, чтобы ты понял, откуда ноги растут у всей этой цифровой хуйни.

Что там было, что врезалось в подкорку навечно:

  • Память, указатели и структуры на С. Вот это, ёпта, отдельная песня. Сидишь, блядь, и думаешь: "Ну что за мудак придумал эти стрелочки * и &, чтобы мозг выносить?". А потом бац — и прозрение: "А, бля, так это же просто адрес, сука, в оперативке!". И чувствуешь себя богом, который может накосячить так, что программа взвоет "Segmentation fault" и накроется медным тазом.
  • Алгоритмы. Сортировки, поиски, рекурсия. Рекурсия — это вообще отдельный вид мазохизма. Функция вызывает сама себя, пока стек не переполнится и не скажет "ну ты, бля, идиот". Но когда дерево рекурсии в голове складывается — кайф, ебать мои старые костыли.
  • Веб-разработка. Тут уже полегче, отдышаться можно после С. HTML, CSS, JavaScript. Сделал свою первую страничку — и сразу полубог, уже не просто консольный червяк.
  • Базы данных и SQL. Когда впервые написал SELECT * FROM users WHERE brain > 0; и получил пустой результат — понял, что жизнь — боль.

А вот, смотри, пример кода оттуда, про быструю сортировку. Красота же, блядь, элегантная хуйня:

void quicksort(int arr[], int low, int high) {
    if (low < high) {
        int pi = partition(arr, low, high);
        quicksort(arr, low, pi - 1);
        quicksort(arr, pi + 1, high);
    }
}

В общем, курс — огонь. Он не сделает тебя senior-разработчиком, это да. Но он даёт такую базу, что потом, когда учишь что-то новое, не просто зазубриваешь, а понимаешь, как это, сука, внутри устроено. Низкоуровневые штуки потом, конечно, сам допиливал, но старт был охуенный. Рекомендую, если не боишься, что мозг немного поскрипит.