CS50 (Computer Science 50) — вводный онлайн курс по компьютерным технологиям из Гарварда и, начиная с 2015 года, Йельского университета. Основным лектором является Дэвид Малан — один из известнейших преподавателей CS.
Содержание курса CS50:
- Основы компьютерных наук и программирования. Системы счисления, работа с командной строкой в Linux, циклы, условные переходы и пр.;
- Концепции алгоритмов и алгоритмичности мышления. Вы узнаете о том, какие задачи можно решать с помощью программирования и каким образом;
- Концепции абстракции, структуры данных, инкапсуляции, управления памятью. Основы компьютерной безопасности. Процесс разработки ПО и веб-разработка;
- Основы языка программирования C и визуального языка Scratch. Основные примеры и задания выполняются на языке C;
- Основы баз данных и SQL;
- Веб-разработка: основы CSS, HTML, JavaScript и PHP;
- Основы подготовки презентации проектов по программированию.
CS50 завоевал статус самого популярного курса Гарварда, надеемся, он понравится и Вам. Ниже приведен список всех лекций и их краткое описание.
Ниже представлены все 23 серии Гарвардского курса по основам программирования, который был прочитан осенью 2015 года. Курс переведён на русский язык и озвучен студией Vert Dider по заказу JavaRush.
.
Здесь Вы можете скачать видео и дополнительные материалы по курсу CS50 (на русском языке):
Лекция №1
Первое занятие является вводным и несет информативный характер. Вы познакомитесь с двоичной системой, ASCII кодом, алгоритмами и множеством различных необходимых понятий.
.
Лекция №2
Вторая серия курса продолжает первую. Из нее вы более подробно узнаете об алгоритмах, о том, для чего они нужны, и как работают. Также вы научитесь работать со Scratch — специальным языком программирования, который в игровой форме поможет Вам писать программы.
.
Лекция №3
Теперь у вас появится новый инструмент — язык программирования C. Знакомство с ним будет проходить легче благодаря уже знакомому Scratch. После лекции вы сумеете работать со своим кодом с помощью командной строки и узнаете некоторые интересные факты.
.
Лекция №4
Из четвёртой лекции вы узнаете о типах данных, еще большем количестве различных определений и научитесь пользоваться библиотеками. В качестве практики будет предложено несколько задач, которые помогут закрепить полученную информацию.
.
Лекция №5
В пятой лекции вы узнаете о том, как устранять баги. Также узнаете про бесконечные циклы и что такое функциональная декомпозиция. Познакомитесь со строками и с понятием «ошибка сегментации».
.
Лекция №6
Шестое занятие будет проведено лектором Робом Боуденом, но Дэвид также будет на месте. Вы поймете, что такое массивы и какими они бывают. А также познакомитесь с криптографией.
.
Лекция №7
Седьмая лекция курса знакомит с основными методами сортировки данных. Дэвид Мэйлен рассказывает о пузырьковой сортировке, сортировках выбором, вставкой и слиянием, а зрители проверяют их на практике.
.
Лекция №8
Рекурсия, сортировка слиянием, компилятор Clang: все это станет понятно вам после восьмой лекции этого курса. Вы узнаете, как применять побитовые операторы, и вообще поймете цель их использования.
.
Лекция №9
Продолжение знакомства с оператором условия — if, введение понятие рекурсии, а также обсуждение скандала концерна Volkswagen и проблемы компьютерной безопасности. Лектор детально рассматривает функцию перестановки — swap, демонстрирует приёмы работы с отладчиком программ и раскрывает структуру и механику оперативной памяти.
.
Лекция №10
Десятая лекция о разных методах составления списков, сохранении информации о программе и использовании указателей и указуемых.
.
Лекция №11
После одиннадцатой лекции Вы сможете свободно работать с указателями и памятью. Узнаете, что такое char* и string, их сходства и различия, а также начнете работать с Valgrind.
.
Лекция №12
Двенадцатая лекция посвящена особенностям стека, очереди и связного списка. Разбор возможных проблем, связанных с доступом к памяти. Тут же рассматривается структура двоичного дерева, префиксного дерева и работа со сжатием файлов.
.
Лекция №13
В этой лекции вы займетесь веб-программированием и познакомитесь с интернет-технологиями. Еще перейдете от командных строк в C к программированию на PHP, JavaScript, познакомитесь с HTML, CSS, SQL и прочим.
.
Лекция №14
Вы закончите изучение HTML и CSS, узнаете как работает веб-сервер Apache, а также увидите реализацию загрузки главной страницы Facebook.
.
Лекция №15
Пятнадцатое занятие глубже введет вас в веб-программирование и познакомит с PHP и HTML.
.
Лекция №16
Ваше знакомство с веб-разработкой продолжается, но теперь вы узнаете и о том, как работать с базами данных и что такое MySQL.
.
Лекция №17
Вы продолжите знакомство с базами данных и с SQL.
.
Лекция №18
Погружение в JavaScript и front-end разработка –темы восемнадцатой лекции.
.
Лекция №19
В девятнадцатой лекции вы продолжите работать с JavaScript, а также узнаете о том, как компьютерные технологии используются в археологии.
.
Лекция №20
Компьютерная безопасность и то, как работать с паролями, что делать с вредоносным программным обеспечением — все то, о чем вы узнаете из двадцатой лекции. Будет также затронута проблема неприкосновенности личных данных.
.
Лекция №21
Эта видеозапись курса будет об искусственном интеллекте. Вы познакомитесь с Элизой. И это не очередной лектор, знакомство вас удивит и надолго останется в памяти. Обработка естественного языка и распознавание речи, невербальное общение также будут объяснены и обсуждены во время лекции.
.
Лекция №22
В этом видео профессор Йельского университета демонстрирует использование искусственного интеллекта в играх. Вы рассмотрите алгоритмы минимакс, альфа-бета-отсечение, а также разберете игру в крестики-нолики.
.
Лекция №23
В двадцать третьей лекции подводятся итоги курса, в игровой форме повторяются некоторые темы, идет непринужденное общение.
.
Надеемся, что данная статья была Вам полезна!
.