Гарвардский курс CS50 на русском: пятнадцатая лекция

Алоха! Мы продолжаем публиковать лекции легендарного Гарвардского курса CS50, которые мы переводим и озвучиваем специально для JavaRush.

Представляем вам 15-ю лекцию про введение в веб-программирование и знакомство с языком программирования PHP и языком разметки HTML. Впервые в истории студенты двух учебных заведений — Гарварда и Йеля — при помощи современных технологий параллельно проходят обучение на курсе.

Напомним, что всего в курсе 24 лекции и постепенно мы переведём все.


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

1-я лекция: вступительная, знакомит с общими понятиями языков программирования, а также с командой преподавателей и системой предстоящих занятий.

2-я лекция: также является вступительной и знакомит с общими понятиями языков программирования, продолжая тему первой лекции.

3-я лекция: знакомит с понятием и функциями компилирования и рассказывает, каким образом в программах появляются баги (начиная с самого первого «компьютерного жучка»), как их распознать и чем они могут быть вызваны.

4-я лекция: знакомит с типами данных и циклов, некоторыми базовыми функциями и основной схемой составления программы, а также демонстрирует ограниченность возможностей компьютеров и исторические примеры багов, не прошедших бесследно.

5-я лекция: продолжение о багах, плюс раскрывает понятие структуры программы, объясняет, зачем нужны функции внутри кода, в чём важность области действия значений, и вводит функцию strlen. Также из неё вы узнаете, как в CS50 борются с любителями списывать, и научитесь экономить оперативную память компьютера во избежание ошибки сегментации.

6-я лекция: об основах криптографии, массивах и аргументах командной строки.

7-я лекция: знакомит с основными методами сортировки данных. Дэвид Мэйлен рассказывает о пузырьковой сортировке, сортировках выбором, вставкой и слиянием, а зрители проверяют их на практике.

8-я лекция: про сортировку данных методом слияния, а также краткий экскурс в мир побитовых операций.

9-я лекция: продолжение знакомства с оператором условия — if, введение понятие рекурсии, а также обсуждение скандала концерна Volkswagen и проблемы компьютерной безопасности. Лектор детально рассматривает функцию перестановки - swap, демонстрирует приёмы работы с отладчиком программ и раскрывает структуру и механику оперативной памяти.

10-я лекция: о разных методах составления списков, сохранении информации о программе и использовании указателей и указуемых.

11-я лекция: изучение указателей, разбор структуры функций библиотеки CS50, знакомство с утечкой памяти, введение понятия linked list и других структур данных с детальной демонстрацией.

12-я лекция: про особенности стека, очереди и связного списка. Разбор возможных проблем, связанных с доступом к памяти. Тут же рассматривается структура двоичного дерева, префиксного дерева и работа со сжатием файлов.

13-я лекция: о хэшировании данных, сетевых протоколах и о том, как при помощи зашифрованных соединений защитить себя от подозрительных незнакомцев.

14-я лекция: введение в веб-программирование и знакомство с языками HTML и CSS.



Подробнее о CS50


На кого рассчитан курс?


Если вы — новичок, пройдите CS50. Если кто-то из ваших знакомых приглядывается к ИТ и программированию, советуйте CS50 не глядя. Я серьезно.

CS50 подойдет любому человеку, кто решил стать «айтишником». Пожалуй, его можно рекомендовать и способным 12-летним, и умудренным опытом «перебежчикам» из других профессий. Идеально — старшеклассникам и студентам.

Курс очень прогрессивный и обновляется из года в год. При этом в отличие от большинства подобных университетских обучающих программ (например, MIT 6.00X) от слушателя не требуются знания университетской математики, достаточно школьного уровня.


Что изучают на CS50?


— Основы компьютерных наук и программирования. Системы счисления, работа с командной строкой в Linux, циклы, условные переходы и прочие радости;

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

— Концепции абстракции, структуры данных, инкапсуляции, управления памятью. Основы компьютерной безопасности. Процесс разработки ПО и веб-разработка;

— Основы языка программирования C и визуального языка Scratch. Собственно, все основные примеры и задания студенты делают на языке C;

— Основы баз данных и SQL;

— Веб-разработка: основы CSS, HTML, JavaScript и PHP. Естественно, только самые азы;

— Основы подготовки презентации проектов по программированию.



Поддержите нас плюсом и подписывайтесь на нас и сообщество «Наука».

Наука | Научпоп

7.7K постов78.5K подписчиков

Добавить пост

Правила сообщества

Основные условия публикации

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

- Посты должны по возможности избегать кликбейта и броских фраз, вводящих в заблуждение.

- Научные статьи должны сопровождаться описанием исследования, доступным на популярном уровне. Слишком профессиональный материал может быть отклонён.

- Видеоматериалы должны иметь описание.

- Названия должны отражать суть исследования.

- Если пост содержит материал, оригинал которого написан или снят на иностранном языке, русская версия должна содержать все основные положения.


Не принимаются к публикации

- Точные или урезанные копии журнальных и газетных статей. Посты о последних достижениях науки должны содержать ваш разъясняющий комментарий или представлять обзоры нескольких статей.

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

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


Наказывается баном

- Оскорбления, выраженные лично пользователю или категории пользователей.

- Попытки использовать сообщество для рекламы.

- Фальсификация фактов.

- Многократные попытки публикации материалов, не удовлетворяющих правилам.

- Троллинг, флейм.

- Нарушение правил сайта в целом.


Окончательное решение по соответствию поста или комментария правилам принимается модерацией сообщества. Просьбы о разбане и жалобы на модерацию принимает администратор сообщества. Жалобы на администратора принимает @SupportComunity и общество Пикабу.

15
Автор поста оценил этот комментарий

хм, кто смотрит эти лекции ? ну как вам ?

я просто пол года назад только первую глянул

раскрыть ветку
Автор поста оценил этот комментарий

Флеша засекли на лекции CS50

Автор поста оценил этот комментарий

Мне это кажется совсем как для дебилов. Хотя мы в политехе просто переписывали код явы(java) с листочка в notepad и оценку ставили больше за внимательность при наборе кода, а не за знания... Т.е. вот у меня вопрос - я считаю себя хорошим программером на похапэ, будет ли мне это полезно посмотреть?

раскрыть ветку
Автор поста оценил этот комментарий

ребят, я может не в теме, а нету этих лекций на торренте? не заливали? дома инета нет, а посмотреть хочется

Автор поста оценил этот комментарий

Извиняюсь, что не по теме. А есть подобные переводы лекций из ведущих учебных заведений, для экономистов? Гугл кидает на платные сайты, да и то, с лекциями российских ВУЗов.