Гарвардский курс CS50 на русском. Все серии



    Друзья, мы рады сообщить, что перевод всего гарвардского курса CS50 закончен.

    Мы писали, что в курсе 24 серии, однако последние две оказались одной и той же лекцией (одна прочитана в Гарварде, а другая в Йеле), поэтому в списке переведённых лекций не 24, а 23.

    Список лекций под катом.

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


    Курс переведён и озвучен нашей студией по заказу JavaRush, и мы хотим сказать им огромное спасибо за поддержку!

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

    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-я лекция: введение в JavaScrip tи программирование на стороне клиента.



    19-я лекция: продолжается знакомство с языком JavaScrip, а также демонстрируется использование компьютерных технологий в сфере археологии.



    20-я лекция: рассматривается тема компьютерной безопасности: излагаются основы личной безопасности в Интернете, принципы работы с паролями, объясняется специфика вредоносного программного обеспечения. Также в лекции затрагиваются проблемы неприкосновенности личных данных в современную цифровую эпоху, в том числе в общественно-политическом контексте.



    21-я лекция: профессор Сказелатти из Йельского Университета рассказывает о системах обработки естественных языков. В лекции рассматриваются алгоритмы распознавания речи, раскрывается понятие статистических моделей распознавания речи, скрытых марковских моделей, вопросно-ответной системы, семантической обработки текста, а также затрагивается тема создания систем невербального общения.



    22-я лекция: профессор Сказелатти из Йельского Университета демонстрирует использование искусственного интеллекта в играх. В лекции рассматриваются алгоритмы минимакс и альфа-бета-отсечение, а также разбирается игра робота в крестики-нолики.



    23-я лекция: подводятся итоги курса, в игровой форме повторяются некоторые темы, идет непринужденное общение.

    Vert Dider
    Студия переводов и озвучивания
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 33

      +4
      Любителям не только посмотреть, но и сохранить себе:
        0
        Ссылки на лекции ведут непонятно куда.
          0
          Поправили.
          0
          Самое главное в этих лекциях не сами видео(но они тоже безусловно интересны), а практика от самого CS50. Такой вопрос, практика за 2015 год будет активна все время, т.е. можно будет проверять решенные задачи с помощью их скриптов автопроверки?
            0
            этого никто обещать не может, увы. Пока что все работает.
            ну а переведенные допматериалы есть у javarush, о которых «при поддержке» говорится в начале каждого ролика. вроде бы перевели еще не все.
            0
            Огромное спасибо за ваш труд.

            Но как же оригинально у вас расположены ссылки! Неряшливо, как говаривал один научрук, перечеркивая оригинал работы ручкой.

            Ворчание
            1-15 — на статью со ссылками на лекции 1-15
            16 — на статью с лекциями 1-16
            17, 18, 19 — на ютуб
            20 — на статью со ссылками на лекции 1-20
            21 — на статью про 21 лекцию
            22 — на статью со ссылками на лекции 1-22
            21 — на ютуб
              0
              Поправили.
              +2
              Знакомый-программист посмотрел несколько этих лекций, и сказал, что быстрее и продуктивнее тупо взять пару учебников и заниматься с ними, без ненужной воды и лишней траты времени.
              Так вот, посоветуйте кто-нибудь сведущий, стоит ли начинать знакомство с программированием с просмотра этого курса?
                +1
                Вопрос из разряда — «учиться плавать в лягушатнике или же сразу с лодки с середины озера до берега?».
                Утрирую, конечно, но в любом случае кругозор и системность в IT очень пригодятся. Лекции это дают. Другое дело, что у каждого своя скорость восприятия информации и некоторым что-то может показаться «слишком уж пережёванным» — особенно «знакомым программистам», которые широту своего кругозора воспринимают как должное. Иными словами — данный курс лекций — «больше вширь, чем вглубь», что новичкам таки полезнее, чем сразу на глубину…
                  0
                  «учиться плавать в лягушатнике или же сразу с лодки с середины озера до берега?».
                  С лодки. И это относится не только к плаванию, но и к языкам программирования, просто языкам, да и, практически, любой сфере деятельности (кроме, разве что, медицины).
                    +3
                    Это лучше всего относится к иллюстративному материалу статьи «Ошибка выжившего».
                      0
                      А потом появляются всякие говнокодеры с портянками кода на тысячи строк в одном файле, без знания элементарных/базовых аргоритмов, после которых начинаются «брожения в умах» насчет «дешевле написать с нуля, чем это г… поддерживать». А также копипастеры со stackoverflow, которые не задумываются о том, что «под копотом» у кода, который они копируют и оптимальный ли это код для конкретно их задачи…
                        0
                        А после этого курса путь в говнокодеры закрыт?
                          –1
                          А за что минусуют человека? Совершенно верно ведь говорит.
                          В любом случае, должен быть наставник, который будет регулярно показывать на ошибки. И да, по началу код будет такой, который проще удалить и написать с нуля. Благо, с каждой итерацией код будет все чище, и писать его будут гораздо быстрее.
                            0
                            Не обязательно именно после этого курса, но если человек получит и правильно будет применять на практике базовые знания, то шанс стать говнокодером существенно уменьшится. Я не рассматриваю разнообразных супер-гениев.
                            А насчет Вашего комментария про «относится практически к любой сфере деятельности (кроме, разве что, медицины»… Строительство или архитектура? Механика? Электроника? Биология? Вы серьезно верите, что хотя бы в эти сферы может сунуться человек «с улицы» и ему соверешенно не нужна теоретическая подготовка, а сразу вперед за станок/паяльник/скальпель в руки?!
                              +1
                              Дело в том что этот курс вряд ли изменит ситуацию, слишком уж поверхностны знания в нем. В то же время он очень большой и пытается охватить необъятное. Максимум что он сможет сделать это заинтересовать человека который никогда не расматривал карьеру в программировании. Он даже выглядит как рекламная агитка, рекламирующая свой универ. Он ни в коем случае не бесполезен, нет, но если вы хотите научится программировать то можно найти лучшее применение 24 часам вашего времени. А изучать это по этому курсу это все равно что предлагать человеку с улицы, который ищет ответ на вопрос «как стать врачом?», посмотреть Анатомию Грей.
                        0
                        ИМХО, есть смысл попробовать курс.
                        Я, например, всегда вполне успешно работал с книгами, вообще никаких проблем. Отчасти из-за этого всегда несколько скептически относился к тем, кто выбирает онлайн курсы — типа, ну раз через книги не смогли, хоть так прокачиваться тоже вариант. А недавно таки зарегистрировался и начал проходить CS50 на edx.org, и я скажу, что уровень вовлеченности гораздо выше, чем в практике с книгой. Ощущаешь себя частью сообщества. Смотришь, слушаешь, читаешь, пробуешь что-то в их браузерной IDE, решаешь задачки — пирамида Марио в командной строке, шифр Виженера, заливаешь на проверку, что-то по ходу еще гуглишь и т.д.
                        По обеспечению уровня вовлеченности, думаю, может конкурировать ситуация когда есть: 1). важная для вас прикладная задача, 2). соответствующая книга, 3). понимание, что технология, нужная для решения задачи, находится в этой книге. И тогда все идет как надо, за уши не оттащить, иногда бывает, ложишься спать не из-за сонливости или усталости, а просто из-за понимания что завтра на работу и таки хоть несколько часов поспать все-таки надо.
                        0
                        Солидарен с вашим знакомым, очень много воды, шуточек-прибауточек, вызовов на сцену участников действия.
                        Тем не менее если обучаться с нуля курс может оказаться полезным, в полу-игровой форме без сильного давления на мозги.
                        Удручает, что вход в профессию новичков будет без базового математического образования, т.е. кодить в принципе научат, а понимать глубину, булеву алгебру, логику, автоматы, алгоритмы увы нет.
                        Особенно заметна базовая подготовка в процессе работы, когда «разработчик» эффективнее «кодера» на порядок.
                          0
                          для обучения не эффективно, а как заинтересовать вариант отличный.
                            0
                            Посмотрел одну лекцию из середины — понравилась. Смотрел для знакомства с заинтересовавшей темой. Если цель изучить конкретный язык найдите курс по нему, а для общего развития и выбора дальнейшего направления по моему самое то. Ну и посмотрите сами одну две лекции :)
                              0
                              Всё индивидуально. Лично я просто не могу по книгам учиться, а вот на практике или по лекциям/туториалам вполне неплохо получается.
                                0
                                Зависит от вашего предпочтительного типа восприятия (аудиал, визуал).
                                Кому-то видео лучше заходит, кому-то чтение.
                                  0
                                  Знакомый программист фигни не посоветует, не то что эти дядьки из Гарварда)
                                  У всех разное восприятие, если для кого-то «взять пару учебников» интересно и эффективно, то почему бы и нет, а кому-то лучше один раз посмотреть лекцию где живой преподаватель скачет, рвет для наглядности телефонные справочники и разжевывает так что любому далекому от программирования человеку становится понятно.
                                    0
                                    Если у вас есть какой-то базис, то лучше книгу возьмите. А с нуля — само то, как по мне. Начнёте, втянетесь, там и книгу в руки возьмёте.
                                      0
                                      Как по мне, эти лекции скорее тест на профпригодность. Если посмотрел, все понял, еще и понравилось, то значит это твое, учи дальше. А если дальше первой лекции не выдержал, то путь в программисты заказан.
                                      Но отдельные интересные факты из видео может не только новичок почерпнуть.
                                      +1
                                      Спасибо! Нужное дело делаете.
                                        0
                                        А есть что-то похожее, но про Python?
                                          +1
                                          В оригинальном курсе на edx.org в 2017-м вместо PHP уже используется Python. При этом, как и ранее, в начале изучается С.
                                          +1

                                          Интересно, какой Ктулху помешал вам выложить не только видео, но и текст лекций? Читать гораздо удобнее.

                                            +1
                                            Сделайте, пожалуйста, транскрипт
                                              0
                                              Ну а мое мнение, что не надо такие лекции переводить, а полезнее пытаться изучать сразу в оригинале.
                                              К тому же, язык у Дэвида достаточно понятный, хотя по началу речь кажется слишком быстрой.

                                              Минут через 30-40 прослушивания начинаешь понимать о чем он говорит)))
                                                0
                                                Только для недобрых комментов! Господа, есть такая тема, как популяризация… слышали? Не всем дано быть кодерами, но общее должен знать каждый (смотрите первую лекцию внимательнее)
                                                  0
                                                  Здравствуйте.
                                                  Спасибо за труд.
                                                  Планируется ли перевод дополнительных материалов и практических заданий?

                                                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                  Самое читаемое