Лучшие IT-курсы западных вузов 2016 года.
Данный пост − попытка определить лучшие ИТ-курсы западных вузов, которые находятся в открытом доступе. Конечно, по версии нашего сообщества. Ну и, разумеется, с годами предпочтения меняются, поэтому версия 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.
Архитектура компьютера
Архитектура ПК, курс Принстонского университета на Coursera.