Мы продолжаем публиковать лекции легендарного Гарвардского курса CS50, которые мы переводим и озвучиваем специально для JavaRush. И рады вам представить уже 20-ю серию (напомним, что в курсе их 24).
В этой серии цикла рассматривается тема компьютерной безопасности: излагаются основы личной безопасности в Интернете, принципы работы с паролями, объясняется специфика вредоносного программного обеспечения. Также в лекции затрагиваются проблемы неприкосновенности личных данных в современную цифровую эпоху, в том числе в общественно-политическом контексте.
Список переведённых на сегодняшний день лекций под катом.
Что вы узнаете, прослушав этот курс:
Основы компьютерных наук и программирования;
Концепции алгоритмов и алгоритмичности мышления. Какие задачи можно решать с помощью программирования и каким образом;
Концепции абстракции, структуры данных, инкапсуляции, управления памятью. Основы компьютерной безопасности. Процесс разработки ПО и веб-разработка;
Основы языка программирования C и Scratch;
Основы баз данных и SQL;
Веб-разработка: основы CSS, HTML, JavaScript и PHP;
Основы подготовки презентации проектов по программированию.
Список переведённых лекций:
1-я лекция: вступительная, знакомит с общими понятиями языков программирования, а также с командой преподавателей и системой предстоящих занятий. 2-я лекция: также является вступительной и знакомит с общими понятиями языков программирования, продолжая тему первой лекции. 3-я лекция: знакомит с понятием и функциями компилирования и рассказывает, каким образом в программах появляются баги (начиная с самого первого «компьютерного жучка»), как их распознать и чем они могут быть вызваны. 4-я лекция: знакомит с типами данных и циклов, некоторыми базовыми функциями и основной схемой составления программы, а также демонстрирует ограниченность возможностей компьютеров и исторические примеры багов, не прошедших бесследно. 5-я лекция: продолжение о багах, плюс раскрывает понятие структуры программы, объясняет, зачем нужны функции внутри кода, в чём важность области действия значений, и вводит функцию strlen. Также из неё вы узнаете, как в CS50 борются с любителями списывать, и научитесь экономить оперативную память компьютера во избежание ошибки сегментации. 6-я лекция: об основах криптографии, массивах и аргументах командной строки. 7-я лекция: знакомит с основными методами сортировки данных. Дэвид Мэйлен рассказывает о пузырьковой сортировке, сортировках выбором, вставкой и слиянием, а зрители проверяют их на практике. 8-я лекция: про сортировку данных методом слияния, а также краткий экскурс в мир побитовых операций. 9-я лекция: продолжение знакомства с оператором условия — if, введение понятие рекурсии, а также обсуждение скандала концерна Volkswagen и проблемы компьютерной безопасности. Лектор детально рассматривает функцию перестановки — swap, демонстрирует приёмы работы с отладчиком программ и раскрывает структуру и механику оперативной памяти. 10-я лекция: о разных методах составления списков, сохранении информации о программе и использовании указателей и указуемых. 11-я лекция: изучение указателей, разбор структуры функций библиотеки CS50, знакомство с утечкой памяти, введение понятия linked list и других структур данных с детальной демонстрацией. 12-я лекция: про особенности стека, очереди и связного списка. Разбор возможных проблем, связанных с доступом к памяти. Тут же рассматривается структура двоичного дерева, префиксного дерева и работа со сжатием файлов. 13-я лекция: о хэшировании данных, сетевых протоколах и о том, как при помощи зашифрованных соединений защитить себя от подозрительных незнакомцев. 14-я лекция: введение в веб-программирование и знакомство с языками HTML и CSS. 15-я лекция: знакомство с языком программирования PHP и языком разметки HTML. 16-я лекция: продолжение рассмотрения языка PHP, теперь для разработки веб-приложений, а также знакомство с базами данных и MySQL. 17-я лекция: продолжение знакомства с базами данных SQL. 18-я лекция:: введение в JavaScript и программирование на стороне клиента. 19-я лекция:: продолжается знакомство с языком JavaScript, а также демонстрируется использование компьютерных технологий в сфере археологии. 20-я лекция:: рассматривается тема компьютерной безопасности: излагаются основы личной безопасности в Интернете, принципы работы с паролями, объясняется специфика вредоносного программного обеспечения. Также в лекции затрагиваются проблемы неприкосновенности личных данных в современную цифровую эпоху, в том числе в общественно-политическом контексте.