cs50 что это такое

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

cs50 что это такое. Смотреть фото cs50 что это такое. Смотреть картинку cs50 что это такое. Картинка про cs50 что это такое. Фото cs50 что это такое

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

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

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

Курс переведён и озвучен нашей студией по заказу 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-я лекция: подводятся итоги курса, в игровой форме повторяются некоторые темы, идет непринужденное общение.

Источник

Незаслуженно малоизвестные курсы по программированию/computer science

Даже не знаю, нужно ли что-то говорить про качество, это великолепно, это гарвардский CS50. Меня всегда поражало насколько правильно, последовательно и интересно они подают сложные темы, еще больше меня поражает колл-во этих тем (просто откройте описание к ролику, там есть таймкоды).

Отдельный респект автору перевода. Титанический труд, невероятного качества перевод, как и написано выше, таймкоды, буквально на все темы в лекции, код удобно выложен на github(ссылка там же, где и таймкоды). И к сожалению, незаслуженно малое число просмотров(на последнем переводе меньше 1к).

Если вы прошли основы питона, посмотрели CS50, и хотите дальше углубится в изучении computer science(не говоря уже, об изучении ИИ) и python, то этот курс подходит как нельзя лучше.

Интересный подход, каждый урок берется как кейс какая-то известная игра(например понг или марио) и, собственно, разбирается. Начинается все с Lua и Love2D(LÖVE) и переходит в C# и Unity.

Просто куча крутейших курсов на русском. В прошлом посте про поиск хорошего roadmap/плана изучения, я писал, что если вижу упоминание их курса по Python, то для меня это показатель, такой знака качества.

Хотя это про язык с самых его основ, он не для новичков, а для уже программистов, к примеру, решивших выучить новый язык или углубить понимание питона. Он сложный, даже очень сложный, но при этом абсолютно потрясающий, разобрано вообще все. Его стоит посмотреть каждому, кто решил связаться с питоном.

Но есть и для начинающих. К примеру, курс о котором тоже как-то писал:

Уникальная штука, курс где показан тот самый процесс программирования(о самом процессе делал пост).

У них есть еще куча всего интересного(и достаточно редкого):

Идея такая, есть куча инструментов, которые предположительно должен знать студент после изучения Computer Science, обычно это оставляют для самостоятельного изучения, тут же наоборот решили сакцентировать на них внимание(и сэкономить кучу времени студентам).

Уже хотел расписывать как мне понравилась часть про метапрограммирование, и нахваливать их подход к изучению Vim, но вдруг понял, что здесь вот какая проблема: понять насколько это круто, смогут те, кто уже знает что это.

Разумеется это полный бред, краем глаза киношники увидели использование определенных инструментов, и не поняв(или наоборот утрировав, выглядит то это, действительно, впечатляюще) решили, что весь процесс использование компьютера программистом выстроен исключительно на них.

Так вот, в этом курсе научат этими самыми инструментами пользоваться. Кроме того, что их использование довольно эффектно, оно еще и очень эффективно.

Если вдруг кому-то понадобится наиболее полный roadmap по CS.

Выглядит действительно структурировано и последовательно + даю советы как лучше отслеживать свой прогресс и не забрасывать обучение.
Обучался по этой «программе»?

Для меня это скорее шпаргалка для закрытия пробелов, так как многое из списка я изучал в университете в свое время.

Крутяк, что в универе этим занимался.
Я вот только после выпуска спохватился.

Незаслуженно малоизвестные курсы по программированию/computer science

Источник

Обучение на курсе CS50x

Прежде чем записаться на курс Harvard CS50x я сначала пролистал поиск, выискивая отзывы о нём. С удивлением обнаружил, что результатов не так уж и много. Надеюсь эта краткая информация поможет другим страждущим понять, надо ли им это.

Итак, что же нам говорит сайт edX об этом курсе:
CS50x is Harvard College’s introduction to the intellectual enterprises of computer science and the art of programming for majors and non-majors alike, with or without prior programming experience. Topics include abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development. Problem sets inspired by real-world domains of biology, cryptography, finance, forensics, and gaming. As of Fall 2012, the on-campus version of CS50x is Harvard’s largest course.

В переводе на русский это значит следующее: на курс можно записаться всем желающим, даже если у вас за спиной 3 класса церковно-приходской школы. В процессе изучения будут использованы C, PHP, JS, SQL, CSS и HTML. В отличие от курса MIT 6.00X, где требуется High School algebra, при поступлении на CS50x никаких требований к математике не выдвигается, что порадовало, так как с высшим образованием у меня отношения не сложились.

Пара слов о преподавателе курса, Дэвиде Малане

Аналогичным образом ведутся остальные лекции. Скучно? Нет. Интересно? Да!

Типичная неделя в CS50

Обычно неделя состоит из 4 частей:
1. Видеолекция. Она разбита на 2 части (понедельник и среда, как её ведут в Гарварде), но нам она достаётся в рамках одной недели. Каждую лекцию можно скачать в 4-х разрешениях(вплоть до 1080p), есть субтитры на английском и русском(машинный перевод из google translate). Так же для каждой лекции выложены использующиеся исходники, слайды, и дополнительные файлы.
2. Problem Set (так же называемый p-set). Это и есть наше задание на неделю. Оно делится на 2 части — Standard edition и Hacker edition. Standard edition вы должны решить в обязательном порядке, и отправить на сервер cs50 для получения оценки. Hacker edition решается для собственного удовольствия, и отправлять его не надо.
3. Sections. Это видеозапись из комнаты, где собираются студенты чтобы понять какие-то тонкости, или, если у них возникли проблемы, помощники Дэвида объясняют алгоритм решения проблемы.
4. Shorts. Короткие видеоролики объясняющие одну конкретную тему. Например, что такое массивы, как работает шифр Цезаря, пузырьковая сортировка, и т.д. При возникновении проблем с алгоритмами советую смотреть именно эту часть.

P-sets

Поскольку курс начался только в октябре, в эфир выпущено всего 4 недели, хотя остальные есть на торрентах, и их можно спокойно скачать. Однако задания будут доступны только в момент выкладывания видео на сайте edX.
Ниже я напишу какие задания вы решите своими собственными головой и руками:

Остальное

Текущий курс идёт с 15 октября по 15 апреля. Всего будет 8 pset’ов, 2 экзамена, и 1 проект, который вы должны будете сделать самостоятельно, или с кем-нибудь вместе. Записаться на курс нужно прямо сейчас можно в любое время, главное выполнить все задания до 15 апреля. В среднем на одну неделю уходит от 4 до 12 часов, включая просмотр видео. Конечно, если вы, как и я, не любите пользоваться gdb, и вместо этого используете printf() — время может значительно вырасти.

Источник

Гарвардский курс по основам программирования CS50 теперь на русском

cs50 что это такое. Смотреть фото cs50 что это такое. Смотреть картинку cs50 что это такое. Картинка про cs50 что это такое. Фото cs50 что это такое

Предыстория: кто мы и как дошли до жизни такой

Мы — команда проекта JavaRush. А JavaRush, кто еще не в курсе, — это полностью автоматизированный обучающий онлайн-курс по Java. Когда-то давно, именно благодаря поддержке хаброюзеров и статьям на хабре, JavaRush и появился. В то время мы собирались переучить на программистов миллион человек.

Очень амбициозно, не так ли? Но, как говорится, «проект, который можно сделать за две недели, мы делали три месяца. Потому что ничего нельзя сделать за две недели».

В нашу миссию — переучить на Java-программистов миллион — мы по-прежнему верим, но также решили поставить себе тактическую цель поскромнее: сделать офигенный онлайн-курс по Java. Считаю, нам это удалось. Мы продолжаем успешно пилить и допиливать наш JavaRush, обросли успешными «выпускниками»… Но сейчас немного о другом.

Однажды человек из нашей команды случайно наткнулся на видеозаписи лекций Гарвардского курса CS50 («Основы программирования и компьютерных наук»). Вообще-то я известен тем, что очень жестко критикую вузы за их скучные, неинтересные лекции, которые устарели лет на 10 уже в тот самый момент, когда студенты слышат их в первый раз.

Но нет правил без исключений. Гарвардский CS50 — это такой университетский курс, перед которым я снимаю шляпу. Хочу, чтобы все наши студенты и преподаватели посмотрели его. Именно так должен выглядеть современный университетский курс: ярко, познавательно, вдохновляюще.

cs50 что это такое. Смотреть фото cs50 что это такое. Смотреть картинку cs50 что это такое. Картинка про cs50 что это такое. Фото cs50 что это такое

Курс просто шикарен, хотя опытные программисты не найдут там много полезной информации для себя: он рассчитан на новичков. Но им — новичкам — рекомендую обязательно изучить CS50.

Курс настолько крут, что Йельский университет отказался от собственного введения в программирование в пользу CS50. Более того, уже несколько лет CS50 могут проходить не только студенты Гарварда, но и все желающие, на сайте edX, причем, абсолютно бесплатно. Единственное «но»: курс на английском…

cs50 что это такое. Смотреть фото cs50 что это такое. Смотреть картинку cs50 что это такое. Картинка про cs50 что это такое. Фото cs50 что это такое

Короче говоря, CS50 нас настолько впечатлил, что мы решили перевести его на русский, хотя там нет ни слова о Java. Мы нашли классных ребят — студию переводов Vert Dider — и совместно принялись за адаптацию лекций.

А теперь подробнее о CS50

Если вы — новичок, пройдите CS50. Если кто-то из ваших знакомых приглядывается к ИТ и программированию, советуйте CS50 не глядя. Я серьезно.

CS50 подойдет любому человеку, кто решил стать «айтишником». Пожалуй, его можно рекомендовать и способным 12-летним, и умудренным опытом «перебежчикам» из других профессий. Идеально — старшеклассникам и студентам.

Курс очень прогрессивный и обновляется из года в год. При этом в отличие от большинства подобных университетских обучающих программ (например, MIT 6.00X) от слушателя не требуются знания университетской математики, достаточно школьного уровня.

cs50 что это такое. Смотреть фото cs50 что это такое. Смотреть картинку cs50 что это такое. Картинка про cs50 что это такое. Фото cs50 что это такое

Профессор компьютерных наук Дэвид Малан. Возможно, когда вы его увидите, у вас произойдет разрыв шаблона «профессор университета»: он чрезвычайно энергичен и подача информации у него ну очень живая. Думаю, успех курса — во многом его заслуга. Также ему помогают многочисленные ассистенты. Некоторые из них — опытные ребята, некоторые — из числа тех, кто сам совсем недавно прошёл CS50.

Что изучают на CS50

Интересные факты о CS50

Где найти переведенные лекции

Страница, на которой будут размещены лекции курса на русском языке: javarush.ru/cs50.html. Они будут доступны совершенно бесплатно всем пользователям интернета. Перевод первой лекции 20 июня уже был опубликован на ресурсе. Следующую лекцию ждите 27 июня, и далее они будут появляться по мере их готовности.

Следите за обновлениями на страничках JavaRush в социальных сетях:

Источник

Часто задаваемые вопросы

Для ответов на другие вопросы просто напишите в форум со своими одноклассниками!

Есть ли у CS50x тест или викторина?

Неа! CS50 в Гарвардском университете и Йельском университете есть тест и викторина, но на CS50x этого нет.

В чем разница между «менее удобными» и «более удобными» проблемами? Должен ли я сделать то и другое?

Вы не получаете никаких дополнительных баллов за выполнение «более удобных» проблем. Если вы сдадите оба, тот, у которого самый высокий балл, будет засчитан как ваш общий балл pset.

Нужно ли мне пройти проверку перед началом курса?

Неа! Если вы хотите получить сертификат edX, вы можете заплатить за проверку в любой момент в течение года, даже после завершения всех курсовых работ.

Если я заплатил за сертификат до 2017 года, мне нужно снова заплатить?

Нет, вы должны иметь возможность повторно проверить себя через панель инструментов edX.

Если бы я начал CS50x до 2017 года, могу ли я возобновить курс?

Да, любые оценки, которые вы получили по набору проблем прошлых лет, скоро появятся в CS50x 2017. (Мы все еще обновляем учебную таблицу CS50x 2017.) Однако, продвигаясь вперед, вы должны представить набор задач CS50x 2017 в соответствии с syllabus.

Мой ребенок слишком молод, чтобы взять CS50x?

CS50x, пожалуй, лучше всего подходит для возрастов 12 лет и старше. Младшим ученикам может понадобиться помощь родителей.

Как импортировать баллы за предыдущие годы в CS50.me?

Чтобы импортировать баллы за предыдущие годы, перейдите к CS50.me/account и поместите свою учетную запись edX в Connected Accounts.

Когда генерируются сертификаты?

В конце каждого месяца персонал CS50 предоставляет edX список студентов, у которых соблюдены требования CS50x (не менее 70% от каждой из требуемых проблем). В течение нескольких дней edX генерирует сертификаты студентов, после чего они должны появляться автоматически на панели инструментов edX.

Крайние сроки?

CS50x не имеет крайних сроков для наборов проблем или для финального проекта. Вы можете работать и продвигаться в своем собственном темпе.

Я зарегистрировался на edX с помощью своего Facebook, Google или Microsoft и не могу войти в систему, чтобы отправить набор проблем 0. Что мне делать?

К сожалению, открытый идентификатор edX (который мы используем для аутентификации) не поддерживает регистрацию в аккаунтах Facebook, Google или Microsoft. Чтобы обойти это, на данный момент вы должны попытаться сбросить свой пароль (даже если вы никогда не устанавливали его) со страницы Настройки учетной записи в edX. Затем повторите попытку отправить pset0, войдя в систему с электронной почтой, связанной с вашей учетной записью Facebook, Google или Microsoft, которую вы используете для входа в edX, и с паролем, который вы только что установили.

Почему pset0 еще без оценки?

Если прошло некоторое время с момента отправки набора проблем 0, но вы по-прежнему не видите оценку для него в CS50.me, убедитесь, что вы связали свою учетную запись edX в CS50.me/account!

Почему edX считает мой балл 0%?

CS50x не использует встроенные баллы edX, поэтому все оценки учащихся отображаются как 0%. Не волнуйтесь, см. CS50.me там ваши фактические результаты.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *