1

Этап 1

Структура и интерпретация компьютерных программ (SICP)

7

Этап 7

Архитектура компьютера

12

Этап 12

Операционные системы + *NIX

16

Этап 16

Информатика

20

Этап 20

Математика

25

Этап 25

Алгоритмы и структуры данных

28

Этап 28

Профессия "Бэкенд JS-программист (node.js)" на Hexlet.

30

Этап 30

Английский язык

31

Этап 31

Практика

1

Этап 1

Структура и интерпретация компьютерных программ (SICP)

7

Этап 7

Архитектура компьютера

12

Этап 12

Операционные системы + *NIX

16

Этап 16

Информатика

20

Этап 20

Математика

25

Этап 25

Алгоритмы и структуры данных

28

Этап 28

Профессия "Бэкенд JS-программист (node.js)" на Hexlet.

30

Этап 30

Английский язык

31

Этап 31

Практика

13 ноября 2017 21 августа 2022
Цель завершена 11 мая 2021

Автор цели

Общая

Настоящий программист

Название цели провокационное, ибо кто такой настоящий программист не знает ни кто, а точнее, у каждого свой ответ на этот вопрос.

Для меня это значит:

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

Исходя из того, что целью является стать программистом, а не уметь программировать, скажем на JavaScript или PHP, обучение в этот раз (а уже были попытки) начну с "базы" - математика + алгоритмы и структуры данных + архитектура ЭВМ и т.д. Параллельно буду практиковаться в решении задач, с помощью языка JavaScript, подробнее будет понятно из этапов цели.

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

Многие этапы будут выполняться одновременно, некоторые последовательно.

Отчеты в этой цели каждый день, еженедельные "саммари" в блоге kovaldmitriy.ru

Цель будет дополняться.

 Критерий завершения

Зарабатываю программированием (офис или Upwork).

 Личные ресурсы

время - несколько часов в день, базовые знания в верстке, ЯП python, js, php.

  1. Архитектура компьютера

    Цель этапа.

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

    Курс отсюда

    1. Книга “Код. Тайный язык информатики” Чарльз Петцольд.

    2. Курс Введение в архитектуру ЭВМ. Элементы операционных систем.

  2. Операционные системы + *NIX

    Цель этапа

    • Процесс/Поток (понятие, состояния, жизненный цикл, сигналы)
    • IPC (пайпы, сокеты)
    • Владение командной строкой (bash)
    • Умение оценить состояние системы (ps, top, free, df, du)
    • Понимание системы прав в linux
    • Просмотр логов (syslog)
    • Перенаправления и потоки
    • Переменны окружения
    • Системы инициализации (systemd)
    • SSH
    • Генерация и использование ключей
    1. Курс hexlet "Операционные системы"

    2. Книга “Современные операционные системы”. Эндрю Таненбаум, Х. Бос.

    3. Курс hexlet "Linux: Пользователи"

    4. Книга “Операционная система UNIX”. Андрей Робачевский, Сергей Немнюгин, Ольга Стесик.

    5. Книга “Руководство администратора Linux”. Эви Немет, Гарт Снайдер, Трент Р. Хейн.

  3. Информатика

    Трудно отнести к какому то одному этапу, но в целом важные знания )

    1. Курс на stepik "Введение в теоретическую информатику"

  4. Математика

    Цель этапа

    Получить базовые знания в следующих разделах математики

    • Теория множеств
    • Булева алгебра
    • Комбинаторика
    • Теория автоматов
    • Теория графов
    • Статистика
    • Подготовить мозг к пониманию алгоритмов )

    Источники, в основном, курсы МФТИ в "исполнении" Райгородского

    1. Курс на stepik "Основы дискретной математики"

    2. Курс на stepik "Ликбез по дискретной математике"

    3. Курс на coursera "Математика для всех"

    4. Курс на coursera "Комбинаторика для начинающих"

    5. Курс на coursera "Современная комбинаторика"

    6. Курс на coursera "Теория вероятностей для начинающих"

    7. Курс на coursera "Теория графов"

    8. Курс на coursera "Случайные графы"

  5. Алгоритмы и структуры данных

    Цель этапа

    • Массивы
    • Ассоциативные массивы/Словари
    • Связаные списки
    • Графы/Деревья
    • Очереди
    • Сортировка массивов
    • Алгоритмическая сложность
    • Обход деревьев
    • Операции над списками (вставка, удаление, переворот, поиск циклов и т.п.)
    1. Книга "Грокаем алгоритмы. Иллюстрированное пособие для программистов и любопытствующих". Адитья Бхаргава

    2. Курс на coursera "Алгоритмизация вычислений"

    3. Книга "Алгоритмы. Вводный курс". Кормен

    4. Книга "Алгоритмы. Построение и анализ" Кормен

    5. Книга "Структура и интерпретация компьютерных программ"

    6. Курс на Hexlet "Структура и интерпретация компьютерных программ"

  6. Профессия "Бэкенд JS-программист (node.js)" на Hexlet.

    Пройти все этапы и минимум 3 проекта.

    Ссылка на курс ru.hexlet.io/professions/backend

  7. Английский язык

    Цель этапа

    • Читать любую техническую документацию, понимая 80-90% слов
    • Вести деловую переписку, уровень intermidiate
    • Разговорный английский - понимать и поддерживать разговор на простые темы + профессиональные термины.

    На первом этапе главный способ достижения - чтение документации и художественной литературы, занося неизвестные слова в ANKI или LinguaLeo (есть Premium) + слушать радио (BBC).

    На следующих этапах (через 6-9 месяцев, видимо) - сериалы, метод Умин, Пимслер, Italki и пр.

    Изучение языка один из важнейших аспектов в профессии "программист", поэтму ежедневные занятия должны быть протяженностью не менее 2-х часов.

  8. Практика

    Цель этапа

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

    • hexlet (практика)
    • codewars
    • leetcode

    На последующем этапе внедрять полученные знания на hexlet, путем разработки проектов.

  • 4722
  • 13 ноября 2017, 08:28
Регистрация

Регистрация

Уже зарегистрированы?
Быстрая регистрация через соцсети
Вход на сайт

Входите.
Открыто.

Еще не зарегистрированы?
 
Войти через соцсети
Забыли пароль?