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

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

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

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

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.
Поделиться с друзьями
-->

Комментарии (11)


  1. vbifkol
    12.12.2016 10:25

    Круто. А есть доступное для скачивания? На ютубе в деревне смотреть шибко неудобно, а детям показать хочется.


    1. Cobolorum
      12.12.2016 10:57

      Мисье, не знает про плагины для браузеров?


      1. vbifkol
        12.12.2016 11:16

        Мисьте знает, но это же грех по отношению к авторам и переводчикам, а труд поддержать хочется.


        1. Xalium
          12.12.2016 12:14
          +1

          Я в таких случаях просто перехожу на каждое видео, лайкаю его, ну и несколько секунд рекламы смотрю.
          Потом все оптом скачиваю с помощью Youtube-DLG,


  1. Xalium
    12.12.2016 12:14
    -1

    а сколько все лекций в этом курсе?


    1. Kybinsky
      13.12.2016 02:29
      -1

      24 лекции


  1. sborisov
    12.12.2016 12:45

    Cпасибо. Очень нравится то, что вы делаете.
    Рекомендую к просмотру, всем знакомым подросткам, думаю, для них всё будет понятно и наглядно., пусть развиваются.
    Заметил, что на сайте, перестали обновлять страницу, после 13й лекции.
    http://javarush.ru/cs50.html


  1. vbifkol
    13.12.2016 11:33

    А дидактические материалы к курсу есть в свободном доступе?


  1. raacer
    13.12.2016 20:04

    Веб-разработка: основы CSS, HTML, JavaScript и PHP;

    o_O Гарвард упал в моих глазах.


    1. raacer
      13.12.2016 20:24
      +1

      «Зато, Божечки, какой короткий код!» — говорит лектор, и приводит вот такой код на PHP:

      function check($word)
      {
          if ($table[$word] == true)
          {
              return true;
          }
          else {
              return false;
          }
      }
      


      https://youtu.be/vgpKEH3rEGs?t=17m30s

      Что-то я не пойму, чем они там занимаются ))


      1. raacer
        13.12.2016 20:43

        В итоге у препода не заработал его программа, которая должна была разослать сообщения всем сидящим студентам, и он отправил его вручную через интерфейс почты. Мастер-класс по программированию :)