Гарвардский курс CS50 на русском: появились 3 и 4 лекции
400 тыс. просмотров и письмо из Гарварда
На прошлой неделе мы закончили работу над переводом 3 и 4 лекции Гарвардского курса по Основам Программирования CS50, выложили их в сеть и сразу же нарвались на хорошие новости: нашему партнеру по переводу, студии Vert Dider, пришло письмо из Гарварда!
«Недавно мы заметили, что JavaRush уже загрузил в сеть русскоязычную версию нашего курса CS50. Исходя из комментариев, перевод получился очень высокого качества, да и ролики уже успело посмотреть большое число людей. Это просто прекрасно! Мы очень рады тому факту, что образование становится доступно людям во всем мире». — говорилось в письме.
Оригинал письма:
Чего уж тут греха таить, вдохновляет не по-детски!
И действительно, результаты нашей работы русскоязычное сообщество встретило весьма радушно (400 000 просмотров и хорошие отзывы прямое тому доказательство), а те, кто всё-таки остался недоволен, главным образом сетовали на чрезмерную простоту первых лекций и не самую академичную в представлениях «наших» людей подачу.
Серьезно — не равно скучно
Первые две лекции действительно очень легкие (подробнее о первой лекции читайте здесь, о второй — здесь). Они читаются в Гарварде и Йеле на так называемой «нулевой», то есть вводной неделе. Их предназначение — элементарное введение в компьютерные науки для слушателей с любым уровнем подготовки. Поэтому помимо объяснения двоичной системы счисления и понятие алгоритма первые программы предлагается сделать на «детском» визуальном языке Scratch. К тому же всё подано в стиле увлекательного шоу, что у некоторых пользователей никак не вяжется с академическим образованием. Но если задуматься, разве это плохо? Мы просто привыкли к мысли, что серьезное образование — штука скучная.
Спешим заверить: совсем не обязательно, и курс CS50 — живое тому доказательство. Сразу после вступительной недели начинается первая (третья и четвертая лекции), а вместе с ней — серьезная работа, но увлекательность лекций остается на прежнем уровне (а тем, кому было слишком легко, становится еще интереснее). Студентам выдается на обработку солидный пласт материала.
Лекции 3 и 4: начинаем учить язык Си
Правильнее даже будет сказать не язык Си, а основы программирования посредством Си. Посмотрите, что к концу первой недели должен знать студент CS50, и не просто знать, но доказать свои знания на практике:
- Основные команды командной строки Linux, компиляция и запуск новосозданных программок с их помощью в облачной IDE
- Программа типа «Hello, world» с пониманием её синтаксиса.
- Библиотеки C, для чего и как их подключать к собственным программам.
- Что такое компилятор, как он устроен в C (в общих чертах, разумеется).
- Функции С, аргументы и значения, void, функция main и вызов из неё других функций.
- Численные и символьные типы данных.
- Ввод и вывод данных, спецификаторы вывода, плейсхолдеры.
- Точность при использовании разных типов данных.
- Арифметические и логические операторы. Деление по модулю.
- Оператор присваивания.
- Условные выражения if-else.
- Переключатели switch.
- Циклы do-while, while-do, for. Бесконечные циклы.
- Баги и к чему они приводят.
Конечно же, большинство тем подается в ознакомительном формате, но правильном таком ознакомительном, практическом: по результату изученного человек к концу первой недели создает 3 программки на C, в которых есть циклы, условия, ввод и вывод на экран, приведение типов и реализация несложного, но вполне применимого «жадного» алгоритма.
Нам кажется, что для абсолютных новичков — прекрасное начало!
Интересные факты в лекциях 3 и 4: цена багов, гигантский древний калькулятор и пояснение неопределенности от… Siri
Дабы чересчур не иссушать лекции, в качестве исторического введения нас знакомят с «огромным калькулятором» Mark 1 — гарвардской разработкой, первым американским программируемым компьютером, и по совместительству первой полностью автоматической, то есть не требующей непосредственного вмешательства человека, машиной. Хотя перфокарты, конечно, можно было вставлять только «ручками». Этот огромный программируемый арифмометр, созданный в 1941, а запущенный в работу в 1944 году. На данный момент «обитает» в Гарвардском музее.
Также знакомят с первым зафиксированным багом (думаем, хабровчанам нет смысла представлять его дополнительно), а на четвертой лекции демонстрируют короткий фильм о том, как ошибки в программном обеспечении становились причинами мировых катастроф.
А вот видео из четвертой лекции, где Дэвид Малан просит Siri пояснить волнующий его вопрос:
Что дальше?
Уже на второй неделе курса (5 и 6 лекции) студенты подробнее изучают циклы, строковый тип данных, возвращаются и углубляются в работу функций, учатся ловить «баги», узнают о приведении типов и массивах. Ну, а дальше происходит и вовсе нереальная штука для новичков: им рассказывают основы криптографии. Да, на самом простом уровне, но зато в конце недели студенты сами реализуют два вполне себе настоящих шифра: Цезаря и Виженера.
Словом, CS50 не даст заскучать во всех смыслах. Для тех, кто не просто смотрит лекции, но проходит CS50 курсом, мы перевели дополнительные материалы и задания для 3 и 4 лекции. Все здесь — javarush.ru/cs50.html
Следите за нашими анонсами. Дальше будет еще интереснее!