- PVSM.RU - https://www.pvsm.ru -

Гарвардский курс CS50 «Основы компьютерных наук и искусства программирования»

Гарвардский курс CS50 «Основы компьютерных наук и искусства программирования» - 1

Вот уже несколько месяцев специально для JavaRush мы переводим и озвучиваем самый популярный в мире университетский курс о CS50 — «Основы компьютерных наук и искусства программирования» (трейлер) [1]. Его уже много лет очно читают для студентов Гарварда и для воспитанников Йельского университета, а в последнее время ещё и заочно для многомиллионной аудитории интернета.
Это перевод самой новой версии курса, который стартовал осенью 2015 года. В курсе 24 лекции и постепенно мы переведём их все. Намедни мы перевели 15-ю лекцию, её вы найдёте под катом в списке всех переведённых на сегодняшний день лекций.

Что вы узнаете, прослушав этот курс:

  • Основы компьютерных наук и программирования;
  • Концепции алгоритмов и алгоритмичности мышления [2]. Какие задачи можно решать с помощью программирования и каким образом;
  • Концепции абстракции, структуры данных, инкапсуляции, управления памятью. Основы компьютерной безопасности. Процесс разработки ПО и веб-разработка;
  • Основы языка программирования C и Scratch;
  • Основы баз данных и SQL;
  • Веб-разработка: основы CSS, HTML, JavaScript и PHP;
  • Основы подготовки презентации проектов по программированию.

Список переведённых лекций:

1-я лекция [3]: вступительная, знакомит с общими понятиями языков программирования, а также с командой преподавателей и системой предстоящих занятий.
2-я лекция [4]: также является вступительной и знакомит с общими понятиями языков программирования, продолжая тему первой лекции.
3-я лекция [5]: знакомит с понятием и функциями компилирования и рассказывает, каким образом в программах появляются баги (начиная с самого первого «компьютерного жучка»), как их распознать и чем они могут быть вызваны.
4-я лекция [6]: знакомит с типами данных и циклов, некоторыми базовыми функциями и основной схемой составления программы, а также демонстрирует ограниченность возможностей компьютеров и исторические примеры багов, не прошедших бесследно.
5-я лекция [7]: продолжение о багах, плюс раскрывает понятие структуры программы, объясняет, зачем нужны функции внутри кода, в чём важность области действия значений, и вводит функцию strlen. Также из неё вы узнаете, как в CS50 борются с любителями списывать, и научитесь экономить оперативную память компьютера во избежание ошибки сегментации.
6-я лекция [8]: об основах криптографии, массивах и аргументах командной строки.
7-я лекция [9]: знакомит с основными методами сортировки данных. Дэвид Мэйлен рассказывает о пузырьковой сортировке, сортировках выбором, вставкой и слиянием, а зрители проверяют их на практике.
8-я лекция [10]: про сортировку данных методом слияния, а также краткий экскурс в мир побитовых операций.
9-я лекция [11]: продолжение знакомства с оператором условия — if, введение понятие рекурсии, а также обсуждение скандала концерна Volkswagen и проблемы компьютерной безопасности. Лектор детально рассматривает функцию перестановки — swap, демонстрирует приёмы работы с отладчиком программ и раскрывает структуру и механику оперативной памяти.
10-я лекция [12]: о разных методах составления списков, сохранении информации о программе и использовании указателей и указуемых.
11-я лекция [13]: изучение указателей, разбор структуры функций библиотеки CS50, знакомство с утечкой памяти, введение понятия linked list и других структур данных с детальной демонстрацией.
12-я лекция [14]: про особенности стека, очереди и связного списка. Разбор возможных проблем, связанных с доступом к памяти. Тут же рассматривается структура двоичного дерева, префиксного дерева и работа со сжатием файлов.
13-я лекция [15]: о хэшировании данных, сетевых протоколах и о том, как при помощи зашифрованных соединений защитить себя от подозрительных незнакомцев.
14-я лекция [16]: введение в веб-программирование и знакомство с языками HTML и CSS. Впервые в истории студенты двух учебных заведений — Гарварда и Йеля — при помощи современных технологий параллельно проходят обучение на курсе.
15-я лекция [17]: знакомство с языком программирования PHP и языком разметки HTML.

Автор: Vert Dider

Источник [18]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/programmirovanie/219834

Ссылки в тексте:

[1] (трейлер): https://youtu.be/Sy_wba7l1UU?list=PLawfWYMUziZqyUL5QDLVbe3j5BKWj42E5

[2] мышления: http://www.braintools.ru

[3] 1-я лекция: https://youtu.be/SW_UCzFO7X0?list=PLawfWYMUziZqyUL5QDLVbe3j5BKWj42E5

[4] 2-я лекция: https://youtu.be/64E3t7l3iKw?list=PLawfWYMUziZqyUL5QDLVbe3j5BKWj42E5

[5] 3-я лекция: https://youtu.be/agdXnmEadCM?list=PLawfWYMUziZqyUL5QDLVbe3j5BKWj42E5

[6] 4-я лекция: https://youtu.be/ej3EA451m2c?list=PLawfWYMUziZqyUL5QDLVbe3j5BKWj42E5

[7] 5-я лекция: https://youtu.be/fH92Dq7jO90?list=PLawfWYMUziZqyUL5QDLVbe3j5BKWj42E5

[8] 6-я лекция: https://youtu.be/Et-RXxyC6WM?list=PLawfWYMUziZqyUL5QDLVbe3j5BKWj42E5

[9] 7-я лекция: https://youtu.be/D1u3H9_wmUU?list=PLawfWYMUziZqyUL5QDLVbe3j5BKWj42E5

[10] 8-я лекция: https://youtu.be/dG_CrZKMj7s?list=PLawfWYMUziZqyUL5QDLVbe3j5BKWj42E5

[11] 9-я лекция: https://youtu.be/lqovT3n62ts?list=PLawfWYMUziZqyUL5QDLVbe3j5BKWj42E5

[12] 10-я лекция: https://youtu.be/8pAFikXk1lE?list=PLawfWYMUziZqyUL5QDLVbe3j5BKWj42E5

[13] 11-я лекция: https://youtu.be/owNJ5PYj7s4?list=PLawfWYMUziZqyUL5QDLVbe3j5BKWj42E5

[14] 12-я лекция: https://youtu.be/w0mo-_smP9M?list=PLawfWYMUziZqyUL5QDLVbe3j5BKWj42E5

[15] 13-я лекция: https://youtu.be/AE6GJVKcukU

[16] 14-я лекция: https://youtu.be/HglrIajAsrc

[17] 15-я лекция: https://youtu.be/vgpKEH3rEGs

[18] Источник: https://geektimes.ru/post/283580/