Данный пост-опрос ? попытка определить лучшие ИТ-курсы западных вузов, которые находятся в открытом доступе. Конечно, по версии нашего хабрасообщества. Ну и, разумеется, с годами предпочтения меняются, поэтому версия 2016 года.
К чему вопрос
Возможно, вы уже читали на Хабре нашу новость о локализации Гарвардского курса по основам программирования CS50. Если нет и вам лень переходить по ссылке, то скажу здесь, что мы — команда JavaRush и студия Vert Dider — работаем над переводом этого прославленного курса по основам программирования на русский язык. На данный момент мы выложили в открытый доступ две вводные лекции и дополнительные материалы с условиями практических заданий.
Надо сказать, интерес CS50 вызвал немалый, что и натолкнуло на мысль: а не попробовать ли нам перевести другие классные курсы? Только вот выбрать нужно, какие именно, отобрать самые лучшие, поскольку учебных материалов на просторах интернета — великое множество. Вот мы и решили обратиться к коллективному разуму Хабра дабы отобрать потенциальные «суперхиты» и начать работу над ними.
К кому вопрос
Да к любому человеку, который заинтересован в получении новых знаний на русском или ментору/преподавателю/советчику, ищущему адекватные учебные материалы для себя или учеников.
- Вы прошли или начали проходить какой-то классный курс, посвященный любой айтишной теме на английском и всем его советуете;
- Вы находили хороший курс, он показался вам интересным, но на английском учиться не получается или лень;
- Нашли хороший курс, но отложили «до лучших времен»;
- Ищете материалы по теме и хотите изучить что-то айтишное;
- Ищете материалы для своих студентов/учеников/джуниоров и так далее.
Что делать
Голосовать за курсы, приведенные в списке ниже, или предлагать в комментариях собственные варианты. Желательно, но не обязательно, указывать степень знакомства с курсом: прошел полностью, смотрел некоторые лекции/прошел не полностью, посоветовали, случайно наткнулся, стало интересно.
Наш первоначальный отбор
В нашей компании многие пробовали проходить или просто находили интересные курсы в сети. Мы отобрали несколько претендентов. Они представлены в очень разных форматах, некоторые — просто видеолекции на Youtube, часть из них подкреплена возможностями образовательных платформ вроде edX или Coursera.
Алгоритмы и структуры данных
Algorithms: Design and Analysis, Part 1. Алгоритмы: построение и анализ, часть первая. Курсеровский курс Стэнфордского. Один из самых популярных по теме.
Algorithms. Part 1. Курс по алгоритмам Принстонского университета профессора Роберта Сэджвика, автора одной из самых известных книг по алгоритмам и структурам данных. Курс серьезный, академический. Чем ценен для JavaRush и наших студентов — все алгоритмы приведены на Java.
Возможная проблема: курс на старой платформе Coursera, возможно, станет недоступен после 1 июля. Тем не менее, в открытом доступе есть отдельно видео и материалы курса.
Introduction to Algorithms. Введение в алгоритмы, только уже авторства Массачусетского технологического.
Введение в программирование и компьютерные науки
Introduction to Computer Science and Programming Using Python. Введение в компьютерные науки с использованием языка Python. Также Массачусетский технологический институт.
Programming Paradigms (CS107) Парадигмы программирования, Стэнфордский университет. Видеолекции, в которых рассказывается о применении разных языков программирования в зависимости от задач. Рассматриваются задачи на C, C++, Assembler, Python, а также параллельное программирование.
ООП и прочие методологии программирования
Programming Methodology (CS106A). Методологии программирования. Запись стэнфордских лекций, введение в разработку приложений с разбором принципов современных программных средств: объектно-ориентированное проектирование, декомпозиция, инкапсуляция, абстракция, и тестирование. Использует язык программирования Java. Акцент — хороший стиль программирования и встроенных объектов Java. Для тех, кто уже немного программирует.
Programming Abstractions (CS 106В). Программирование абстракций. Продолжение предыдущего курса CS106A (см выше) или даже его приемник. Для объяснения тем — рекурсии, алгоритмического анализа, абстракции данных — используется С++.
Object Oriented Programming in Java. Объектно-ориентированное программирование на Java Калифорнийского университета. Очень интересный курс, в котором студентов знакомят с реальным проектом, на базе которого изучается ООП, визуализация данных и немного алгоритмы. Рассчитан на тех, кто уже немного программирует. Думаем, первых 5-7 уровней JavaRush для старта изучения этого курса будет вполне достаточно.
Android
Begin Programming: Build Your First Mobile Game. Программирование для новичков: напиши первую андроид-программу. Курс представлен на платформе Futurelearn.
Базы данных и SQL
Introduction to Databases. Стэнфордское введение в базы данных.
HTML, CSS, JS
HTML, CSS and JavaScript. Простое введение в веб-разработку для начинающих. Сначала HTML и CSS, затем переход к базовому JavaScript (переменные, массивы, циклы, события, функции) и, наконец, исследование более продвинутых элементов JS — управления событиями, обработка массивов, DOM.
Архитектура компьютера
Computer Architecture.
Архитектура ПК, курс Принстонского университета на Coursera.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Комментарии (14)
datalink
30.06.2016 14:56+2Проголосовал за «Алгоритмы» Седжвика. Стоит учесть, что там немалая ценность в задачках и развесистом автогрейдере.
Еще очень полезным/интересным в свое время оказался https://www.coursera.org/course/proglang
Вот тут есть подробнее https://www.coursetalk.com/providers/coursera/courses/programming-languages-1
Sorokinv
30.06.2016 20:13+1EDX MITx 15.071x The Analytic Edge — ML + основы языка R. Прошел в мае 2014. Один из лучших курсов по методам ML и на примере использования языка R. В конце затрагивается система оптимизации решений на Excel и Libre Office (оптимизация задачи составления расписаний). Курс очень плотный с практикой.
EDX Microsoft DAT203x Data Science and Machine Learning Essentials — Очень хороший легкий систематический курс по задачам ML, Azure ML и работе на нем с помощью Python и R. Теории практически нет, но он дает хорошую систематику по основным задача с практикой. Прошел в марте 2016.
unicons
30.06.2016 22:25Для тех, кто хочет не просто пробрести какие-то узкофункциональные навыки, а разобраться с программированием и компьютерами, как единой системой, рекомендую проектно-ориентированный курс на Coursera «Компьютер с нуля: от логического элемента Nand до игры Tetris», где авторы рассматривают на практических примерах все уровни абстракции, лежащие между кодом и его физической реализацией в железе. Считаю этот курс уникальным и заслуживающим внимания. Вот линк: www.coursera.org/learn/build-a-computer/home/welcome
klimenko_serj
30.06.2016 22:25старый добрый SICP от MIT!!! — есть полный перевод книги, и где-то встречал корявый перевод первых трех лекций (субтитры).
urticazoku
30.06.2016 23:23R выше уже упомянули. Есть еще курс Анализ данных в естественных науках, точнее это специализация, курсов там 4.
igorek_uk
01.07.2016 06:29Хотелось бы посмотреть CS231n: Convolutional Neural Networks for Visual Recognition по причине не очень хорошего понимания английского.
indieloki
01.07.2016 10:26Может быть machine learning от Стенфорда? www.coursera.org/learn/machine-learning
igorek_uk
01.07.2016 21:53Там вроде есть русские субтитры. Сам не смотрел еще, застрял на специализации от Яндекса и МФТИ. Еще текстовые переводы можно найти тут: http://coursera.abbyy-ls.com/ru
Ghedeon
03.07.2016 21:03Пользуясь случаем: порекоммендуйте что-то по теории вероятностей.
knagaev
08.07.2016 14:42Вот это очень понравилось
Теория вероятностей для начинающих от Московский физико-технический институт
alexx1941
Стэнфордский курс Programming Methodology (CS106A) очень классный!