Harvard CS50

Harvard CS50

Добро пожаловать в Гарвард! Перед вами — легендарный гарвардский курс «CS50. Основы программирования» на русском языке!

CS50 подойдет любому человеку, который решил стать «айтишником». Его можно рекомендовать и способным школьникам, и умудренным опытом «перебежчикам» из других профессий. Вы изучите основы программирования и основные концепции компьютерных наук.

Курс очень информативен, но при этом подан настолько увлекательно, что лекции смотрятся как любимый сериал.

Комментарии (50)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Vladislav Ivanov1 уровень, Санкт-Петербург
12 марта, 16:44
Еще даже не понял а уже пишу отзыв.
AlphaBravo9 уровень, Москва
20 февраля, 10:35
Курс действительно классный, спасибо JavaRush за перевод. Узнал много нового и понял путь, который должен пройти каждый, кто хочет стать Программистом (именно с большой буквы П), а не code monkey. В этот путь входит изучение UNIX-окружения и всего связанного с ним инструментария (язык С, язык интерпретатора и командной строки (стандартно bash, python), VCS, конвейеры, библиотеки и пр.), хотя бы основы теории алгоритмов и матлогики, сами алгоритмы и структуры данных, общее понимание работы процессора (с использованием ассемблера), сетей и ОС на низком уровне, ООП на С++ (без STL и boost), функциональная парадигма программирования. Желательно в процессе изучения всего этого пилить консольные программы и игры для конкретно своих нужд, благо в Unix-среде это делается просто и всё для этого есть из коробки. В ней ты сильнее ощущаешь свою власть над машиной (или вернее сказать, единение с ней), и проявляется больше возможностей для творческого самовыражения. Компьютер не должен быть черным ящиком, как это бывает с Windows или MacOS. Он должен быть инструментом, выражающим ВАШУ мысль и созидательное начало. Взаимодействуйте с opensource-сообществом, ибо оно источник новых идей и хранилище ваших. Изучение Java точно не входит в начало этого пути, как утверждается на этом сайте (впрочем как и .NET, JavaScript и прочее ремесленничество для зарабатывания бабла), ибо она необратимо калечит алгоритмическое мышление и восприятие программирования как вид искусства. Людям, начавшим кодить с корпоративно-энтерпрайзного языка, впоследствии трудно даются фундаментальные вещи, указанные абзацем выше, и лучше их называть просто разработчиком ПО или девелопером, но никак не программистом. Нельзя штукатура-маляра научить быть архитектором-художником или из скрипача-виртуоза стать дирижёром-композитором. Очень советую всем прочитать книгу Э. Реймонда "Искусство программирования для Unix", которая заложит в вас фундамент понимания всего сказанного мной выше.
Shams Babadjanov0 уровень
14 февраля, 08:02
Ребята большое вам спасибо за перевод. Хотя я не новичок в области ИТ но много интересного узнал от этого курса. Если есть ещё такие замечательные курсы переводите их тоже на русский ;) плиз. Спасибо удачи вам.
Роман2 уровень
26 октября 2018, 19:47
Всем привет. Подскажите, а почему уровни не засчитываются? Первый уровень прошел, а он все в прогрессе статус.
enot_001 уровень, Минск
1 ноября 2018, 12:50
Никакой роли это не играет, но у меня такой же косяк.
Юля0 уровень
2 июня 2018, 15:46
ПК 2.4. Реализовывать методы и технологии защиты информации в базах данных. - обоснованность выбора сетевой технологии и, исходя из неё, методов доступа к базе данных; - обоснованность выбора и настройки протоколов разных уровней для передачи данных по сети; - выполнение алгоритма устранения ошибок межсетевого взаимодействия в сетях; - обоснованность использования сетевых устройств для защиты данных базы данных при передаче по сети; - выполнение алгоритма обеспечения непротиворечивости и целостности данных в базе данных; - обоснованность внесения изменения в базу данных для защиты информации; - обоснованность использования аппаратных средств защиты; - обоснованность использования программных средств защиты ПК 3.1. Анализировать проектную и техническую документацию на уровне взаимодействия компонент программного обеспечения. - алгоритм оценки проектной документации - алгоритм оценки технической документации - обоснованность определения данных, обеспечивающих взаимодействие компонентов в соответствии с проектной документацией - правильность и полнота анализа функциональности программного продукта в соответствии с технической документацией ПК 3.2. Выполнять интеграцию модулей в программную систему. - алгоритм написания кода взаимодействия программных модулей на языке программирования -корректность добавления функций программной системы в соответствии с задачей -алгоритм подключения добавленных ресурсов ПК 3.3. Выполнять отладку программного продукта с использованием специализированных программных средств. -алгоритм локализации ошибок в программе
Юля0 уровень
2 июня 2018, 15:45
ПК 3.5. Производить инспектирование компонент программного продукта на предмет соответствия стандартам кодирования. - алгоритм оценки структуры программного кода на необходимость оптимизации - корректность и точность выбора доминирующего критерия качества программного продукту в соответствии с учебной задачей ПК 3.6. Разрабатывать технологическую документацию. - алгоритм исследования предметной области с целью составления требований к программному продукту - корректность разработки логической структуры программного продукта для получения модели логической структуры данных в соответствии с учебной задачей - корректность разработки физической структуры программного продукта для получения модели физической структуры данных в соответствии с учебной задачей.
Юля0 уровень
2 июня 2018, 15:45
Здравствуйте! Выпустите пожалуйста по этой видео уроки 5 документов, соответствующих 5 приложениям. • Дневник рограммных средств отладки ПК 1.4. Выполнять тестирование программных модулей.  Разрабатывает наборы тестов, которые демонстрируют все возможные тестовые сценарии в соответствии со спецификацией  Выполняет ручное тестирование программного кода модуля по разработанным наборам тестов  Выполняет тестирование программного кода модуля по алгоритму с использованием специализированных программных средств ПК 1.5. Осуществлять оптимизацию программного кода модуля.  Выполняет алгоритм оценки производительности программы по времени выполнения, по затрачиваемым ресурсам вычислительной системы  Выполняет усовершенствование кода с целью оптимизации программы, применяя стандарты разработки кода ПК 1.6. Разрабатывать компоненты проектной и технической документации с использованием графических языков спецификаций.  Разрабатывает сценарии использования программы по спецификации программы - обоснованность приведения к нормализации и установки отношений между объектами баз данных; - обоснованность выбора методов описания и построения схем баз данных в соответствии с учебной задачей; - выполнение алгоритма построения схем баз данных; - обоснованность использования методов манипулирования данными в соответствии с учебной задачей; - обоснованность выбора типа запроса к СУБД в соответствии с учебной задачей; - выполнение алгоритма построения запроса к СУБД
Алексей 13 уровень
24 февраля 2018, 15:39
В курсе говорится про задачи, примеры...а где они?
7 марта 2018, 17:42
Посмотрите здесь - https://javarush.ru/quests/lectures/questharvardcs50.level01.lecture06 В курсе много заданий и примеров)
havijman0 уровень
26 января 2018, 17:34
А где сам курс?
9 февраля 2018, 09:25
Нажмите "Первая лекция"/"Последняя лекция" или просто "Уровень 0" и начинайте с 0-й лекции.
Маркус3 уровень, Москва
20 января 2018, 19:55
просто так в гарвард не поступишь,русских туда не пускают ps для етого тут курс