Добро пожаловать в Гарвард! Перед вами — легендарный гарвардский курс «CS50. Основы программирования» на русском языке!
CS50 подойдет любому человеку, который решил стать «айтишником». Его можно рекомендовать и способным школьникам, и умудренным опытом «перебежчикам» из других профессий. Вы изучите основы программирования и основные концепции компьютерных наук.
Курс очень информативен, но при этом подан настолько увлекательно, что лекции смотрятся как любимый сериал.
Если вы — новичок, пройдите CS50. Если кто-то из ваших знакомых приглядывается к ИТ и программированию, советуйте CS50 не глядя. Я серьезно.
CS50 подойдет любому человеку, кто решил стать «айтишником». Пожалуй, его можно рекомендовать и способным 12-летним, и умудренным опытом «перебежчикам» из других профессий. Идеально — старшеклассникам и студентам.
Курс очень прогрессивный и обновляется из года в год. При этом в отличие от большинства подобных университетских обучающих программ (например, MIT 6.00X) от слушателя не требуются знания университетской математики, достаточно школьного уровня.
Что изучают на CS50?
— Основы компьютерных наук и программирования. Системы счисления, работа с командной строкой в Linux, циклы, условные переходы и прочие радости;
— Концепции алгоритмов и алгоритмичности мышления. Вы узнаете о том, какие задачи можно решать с помощью программирования и каким образом. О бинарном поиске, простом по сути, но очень эффективном и требующем тщательности в реализации, Дэвид Малан расскажет сходу, прямо на нулевой лекции. И попробуйте потом забыть сцену с разрывом телефонного справочника, а вместе с ней — и полученные знания! Вообще, курс охватывает все основные алгоритмы, которые нужно знать и понимать «айтишникам»;
— Концепции абстракции, структуры данных, инкапсуляции, управления памятью. Основы компьютерной безопасности. Процесс разработки ПО и веб-разработка;
— Основы языка программирования C и визуального языка Scratch. Собственно, все основные примеры и задания студенты делают на языке C;
— Основы баз данных и SQL;
— Веб-разработка: основы CSS, HTML, JavaScript и PHP. Естественно, только самые азы;
— Основы подготовки презентации проектов по программированию.
Уровни | Цели |
---|---|
Уровень 0 | Системы счисления. Алгоритмы. Визуальный язык Scratch и программы на нём. |
Уровень 1 | Основные команды Linux. Язык Си, его синтаксис. Первая программа (hello world). |
Уровень 2 | Что такое криптография? Простые криптографические шифры. Баги. Си: строки и массивы. |
Уровень 3 | Алгоритмы сортировки. Компилятор. Побитовые операции. |
Уровень 4 | Рекурсия. Стек памяти и локальные переменные. Кодирование изображения. Структуры (struct). Основы адресной арифметики. |
Уровень 5 | Указатели, структура памяти, стек, очереди и связные списки. |
Уровень 6 | Начинаем программировать в вебе. HTML, CSS, протокол TCP/IP и HTTP. |
Уровень 7 | Язык программирования PHP. Динамическая типизация. |
Уровень 8 | Шаблон MVC. Немного о языке запросов SQL. |
Уровень 9 | JavaScript, Ajax и DOM. |
Уровень 10 | Глобальное информационное поле. Искусственный интеллект. |