Друзья, сегодня мы хотим представить вам все 23 серии Гарвардского курса по основам программирования, который был прочитан осенью 2015 года. Курс переведён и озвучен нашей студией по заказу JavaRush, и мы хотим сказать им огромное спасибо за поддержку! На кого рассчитан курс CS50? Если вы новичок, пройдите CS50. Если кто-то из ваших знакомых приглядывается к ИТ и программированию, советуйте CS50 не глядя. Я серьезно. CS50 подойдет любому человеку, кто решил стать «айтишником». Пожалуй, его можно рекомендовать и способным 12-летним, и умудренным опытом «перебежчикам» из других профессий. Идеально — старшеклассникам и студентам. Курс очень прогрессивный и обновляется из года в год. При этом в отличие от большинства подобных университетских обучающих программ (например, MIT 6.00X) от слушателя не требуются знания университетской математики, достаточно школьного уровня. Что изучают на CS50? — Основы компьютерных наук и программирования. Системы счисления, работа с командной строкой в Linux, циклы, условные переходы и прочие радости; — Концепции алгоритмов и алгоритмичности мышления. Вы узнаете о том, какие задачи можно решать с помощью программирования и каким образом. О бинарном поиске, простом по сути, но очень эффективном и требующем тщательности в реализации, Дэвид Малан расскажет сходу, прямо на нулевой лекции. И попробуйте потом забыть сцену с разрывом телефонного справочника, а вместе с ней — и полученные знания! Вообще, курс охватывает все основные алгоритмы, которые нужно знать и понимать «айтишникам»; — Концепции абстракции, структуры данных, инкапсуляции, управления памятью. Основы компьютерной безопасности. Процесс разработки ПО и веб-разработка; — Основы языка программирования C и визуального языка Scratch. Собственно, все основные примеры и задания студенты делают на языке C; — Основы баз данных и SQL; — Веб-разработка: основы CSS, HTML, JavaScript и PHP. Естественно, только самые азы; — Основы подготовки презентации проектов по программированию. Приятного просмотра! Плейлист всех 23 серий курса: https://vk.cc/5NL1k6: ↘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-я серия: тема восемнадцатой серии цикла — введение в ДжаваСкрипт и программирование на стороне клиента. ↘19-я серия: в девятнадцатой серии цикла продолжается знакомство с языком ДжаваСкрипт, а также демонстрируется использование компьютерных технологий в сфере археологии. ↘20-я серия: в двадцатой серии цикла рассматривается тема компьютерной безопасности: излагаются основы личной безопасности в Интернете, принципы работы с паролями, объясняется специфика вредоносного программного обеспечения. Также в лекции затрагиваются проблемы неприкосновенности личных данных в современную цифровую эпоху, в том числе в общественно-политическом контексте. ↘21-я серия: в двадцать первой серии цикла профессор Сказелатти из Стэнфорда рассказывает о системах обработки естественных языков. В лекции рассматриваются алгоритмы распознавания речи, раскрывается понятие статистических моделей распознавания речи, скрытых марковских моделей, вопросно-ответной системы, семантической обработки текста, а также затрагивается тема создания систем невербального общения. ↘22-я серия: в двадцать второй серии цикла профессор Сказелатти из Йельского Университета демонстрирует использование искусственного интеллекта в играх. ↘23-я серия: в двадцать третьей серии цикла подводятся итоги курса, в игровой форме повторяются некоторые темы, идет непринужденное общение.

Теги других блогов: программирование курс Harvard