Разное
★ Рубрика: Разное

Рекомендации Google по изучению

Крепкая база знаний в сфере Computer Science особенно важна для успешного разработчика ПО. Это руководство позволит студентам вузов приступить к самостоятельному развитию своих технических навыков. Его можно использовать, чтобы найти подходящие для себя курсы, но будьте внимательны при их выборе: убедитесь в том, что вы выбираете курсы по своей специальности. Онлайн-курсы, перечисленные в этом руководстве, не заменяют учебную программу вашего вуза. Тем не менее, они станут прекрасным дополнительным инструментом для вашего самообучения или для ознакомления с конкретной дисциплиной.

Использование руководства:

  • Используйте руководство по своему усмотрению
  • Есть множество вещей, не перечисленных здесь, которые стоит изучить — вперёд!
  • Даже если вы изучите это руководство вдоль и поперёк, это не гарантирует вам трудоустройство в Google
  • Руководство постоянно пополняется — проверяйте обновления

Следите за страницей Google+ для студентов, на которой публикуются дополнительные советы и ресурсы, и где можно пообщаться с другими заинтересованными студентами.


Рекомендации для теоретического изучения

  • Познакомьтесь с вводным курсом Computer Science

Примечание: Прослушайте начальный курс Computer Science, в котором представлены основы программирования.

Онлайн-ресурсы: Udacity — Введение в Computer Science, Coursera — Computer Science 101

  • Попробуйте программировать хотя бы на одном объектно-ориентированном языке: C++, Java или Python

Онлайн-ресурсы для новичков: Coursera — Учимся программировать: Основы, Введение от МТИ в программирование на Java, Урок по Python от Google, Coursera — Введение в Python, Электронная книга по Python в открытом доступе

От нас: подборки по C++, Java, Python

Онлайн-ресурсы для продолжающих изучение: Udacity: Проектирование компьютерных программ, Coursera — Учимся программировать: Пишем качественный код, Coursera — Языки программирования, Университет Брауна — Введение в языки программирования

  • Изучите другие языки программирования

Примечание: Добавьте в свой репертуар JavaScript, CSS, HTML, Ruby, PHP, C, Perl, Shell, Lisp, Scheme.

Онлайн-ресурсы: Руководство по HTML от w3school.com, CodeAcademy.com

От нас: каталог книг, видеолекции

  • Тестируйте свой код

Примечание: Научитесь отыскивать баги, создавать тесты и взламывать собственное ПО.

Онлайн-ресурсы: Udacity — Методы тестирования ПО, Udacity — Дебаггинг ПО

  • Развивайте логическое мышление и изучите дискретную математику

Онлайн-ресурсы: Математика для Computer Science от МТИ, Coursera — Введение в логику, Coursera — Линейная и дискретная оптимизация, Coursera — Вероятностные графовые модели, Coursera — Теория игр

  • Развивайте сильное понимание алгоритмов и структур данных

Примечание: Изучите фундаментальные типы данных (массивы, записи, кортежи), сортировочные алгоритмы (быстрая сортировка, сортировка слиянием, пирамидальная сортировка) и структуры данных (бинарные древа поиска, красно-чёрные деревья, таблицы хеширования), большое «О».

Онлайн-ресурсы: Введение в алгоритмы от МТИ, Coursera — Введение в алгоритмы: Часть 1 и Часть 2, Список алгоритмов, Список структур данных, Книга: Руководство по разработке алгоритмов

От нас: подборка материалов по алгоритмам, структурам данных и дискретной математике

  • Развивайте свои знания операционных систем

Онлайн-ресурсы: Computer Science вместе с университетом Беркли

  • Изучите онлайн-ресурсы по искусственному интеллекту

Стэнфордский университет: Введение в робототехнику, Обработка естественных языков, Машинное обучение

  • Научитесь строить компиляторы

Онлайн-ресурсы: Coursera — Компиляторы

  • Изучите криптографию

Онлайн-ресурсы: Coursera — Криптография, Udacity — Прикладная криптография

  • Изучите параллельное программирование

Онлайн-ресурсы: Coursera — Гетерогенное параллельное программирование


Рекомендации для практического изучения

  • Поработайте над своим проектом

Примечание: создайте и обеспечьте работоспособность сайта, сервера или, например, постройте простого робота.

Онлайн-ресурсы: Список проектов Apache, Лето кода от Google, Сообщество разработчиков Google

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

Примечание: Github — отличный способ читать код других людей или внести вклад в существующий проект.

Онлайн-ресурсы: Github, Kiln

  • Поработайте над проектом с другими программистами

Примечание: Это улучшит ваши навыки работы в команде и поможет вам научиться учиться у других.

  • Практикуйте свои знания алгоритмов и программирования

Примечание: Знание алгоритмов отлично тренируется в соревнованиях по программированию.

Онлайн-ресурсы: CodeJam, ACM ICPC

  • Научите чему-нибудь других

Примечание: Помогая учиться другим, вы углубляете свои собственные знания.

  • Станьте участником программы стажировки

Примечание: Старайтесь подавать заявки на программы стажировки заранее. Как правило, заявки начинают приниматься за несколько месяцев до начала программы.

Онлайн-ресурсы: Вакансии Google


Войти и комментировать [ Вход | Регистрация ]