Основы программирования CS50. Часть 1

Здесь вы найдете записи легендарного курса по основам программирования CS50 от Гарвардского университета, переведенные на русский язык. Основной лектор — Дэвид Малан, являющийся профессором компьютерных наук в Гарвардском университете, наиболее известный как преподаватель Computer Science 50.

«Основы программирования CS50» является крупнейшим курсом в Гарварде и крупнейшим массовым открытым онлайн-курсом (MOOC) на платформе edX, с лекциями, которые просматривают более миллиона человек.

Лекция №1

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

Лекция №2

Из второй лекции вы узнаете что такое алгоритмы, как они работают и что делать с ними на практике. Вас познакомят со Scratch, специальным учебным языком программирования и уникальной разработкой Массачусетского технологического университета, а также покажут, как писать программы с его помощью.

Лекция №3

Вместе с третьей лекцией заканчивается введение в курс и начинается серьезная учёба. Тем не менее, эта лекция такая же увлекательная, как и все предыдущие. В ней рассказывается об основных конструкциях языка программирования C, об облачной IDE, в которой можно писать программы на C и не только, а также о нескольких командах Linux, необходимых для полноценного запуска приложений.

Лекция №4

Следующая лекция позволит вам углубиться в C и изучить всё необходимое для выполнения первых трех серьезных заданий по программированию. Выполнив их, вы сможете уверенно использование циклы, условия, типы данных, переменные и функции.

Лекция №5

В текущей лекции Дэвид Малан расскажет о том, что вечно преследует разработчиков — о багах, а также научит успешно находить и «обезвреживать» их. Вы узнаете о некоторых приемах работы с кодом, о том, как наладить удобство кодирования и повысить читаемость, как работать со строками, что такое ошибка сегментации и почему бесконечный цикл на самом деле не такой уж и бесконечный.

Лекция №6

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

Лекция №7

Сколько времени понадобится на то, чтобы найти нужную строчку в хаотичном массиве данных, не имея при этом достаточного количества необходимой информации? Не стоит пугаться, выход есть всегда: данные можно отсортировать. В седьмой лекции Дэвид Малан расскажет об основных алгоритмах сортировки данных, о том, эффективны ли они и зачем их изучать.

Лекция №8

Из лекции вы узнаете, что такое рекурсия и как её применять, разберетесь с понятием сортировки слиянием и поймете, как можно реализовать её с помощью рекурсии. Станете на шаг ближе к пониманию компилятора Clang и его работы, а также столкнетесь с побитовыми операторами, позволяющими добраться до отдельных битов данных.

Лекция №9

На занятии Дэвид расскажет общие принципы работы вредоносного ПО, почему нельзя до конца быть уверенным в коде приложения и какова роль «протокомпилляторов» в этом процессе. Кроме того, он подробнее остановится на рекурсии, сравнит разные алгоритмы для одних и тех же задач и научит менять переменные местами.

Лекция №10

После 10 лекции CS50 вы прикоснетесь к миру графики, узнаете как кодируется изображение, какой перед вами тип файла, изучите 16-ричные числа и средства работы со строками, а также swap с указателями. Теперь вы — грамотный с точки зрения IT человек, не верящий в преувеличение сцен кино.

Лекция №11

Лекция посвящена одному из самых сложных моментов CS50 — работе с памятью и указателями. Вы узнаете о том, как правильно выделять память, чтобы не было ошибки сегментации, рассмотрите функции библиотеки CS50 и начнете работать с Valgrind, мощным инструментом для поиска утечек памяти.

Продолжение курса вы можете найти во второй части нашего обзора.

Оцените курс
ОтвратительноПлохоУдовлетворительноХорошоОтлично! (0)
Загрузка...

Добавить комментарий