Geekbrains

Факультет Fullstack JavaScript

  • Начальный уровень
  • Наставник: Есть
  • Сертификат: Есть
  • Формат: Online
  • Рассрочка: Есть
  • Язык: Русский
  • Осталось мест: Неограничено
Записаться

Факультет Fullstack JavaScript

Освойте с нуля язык программирования JavaScript, чтобы стать Fullstack-разработчиком. Вы научитесь создавать сайты, мобильные приложения и высоконагруженные сервисы.

Fullstack-разработчики — универсальные программисты, которые разрабатывают и серверную, и клиентскую часть проекта. Эти специалисты очень востребованы, так как могут заменить программистов разного профиля. Fullstack-разработчики владеют широким стеком технологий, поэтому могут создать веб-проект в одиночку. При этом им достаточно знать всего один язык программирования — JavaScript.

Для кого этот курс?
  • Новичкам
    Поможем с нуля освоить профессию fullstack-разработчика - вы научитесь делать сайты, высоконагруженные сервисы и приложения.
  • Начинающим веб-разработчикам
    Освоите полный цикл создания сайтов и приложений. После обучения сможете перейти на позицию fullstack-разработчика и делать высоконагруженные сервисы под ключ на фрилансе.
  • Практикующим IT-специалистам
    Подскажем, как перейти в востребованное направление и зарабатывать больше.
Программа обучения
Основной блок — 3 месяца
  • Введение в программирование
    Познакомитесь с языками программирования, поймёте разницу между языком и программированием, научитесь строить блок-схемы и познакомитесь со структурами данных.
  • Математика и информатика
    Повторите школьный курс информатики, логики и математики.

  • Введение в контроль версий
    Познакомитесь с контролем версий и принципами работы в git и github, изучите синтаксис языка Markdown.
  • Знакомство с языком программирование C#
    Знакомство с языком программирования C#: функциями и массивами, рекурсиями и двумерными массивами. Узнаем, как не нужно писать код.
  • Введение в базы данных
    Познакомитесь с понятием «базы данных», разберетесь с их видами и основными подходами к работе с данными. Узнаете методы проектирования баз данных, а также способы модификации их структуры.
  • Профориентация
    Изучим колесо компетенций и матрицу Декарта. Познакомимся со специализациями и выберем дальнейшее направление развития.
Специализация — 9 месяцев
  • Знакомство с треком обучения и направлениями: интро
    Познакомитесь с форматом и треком обучения, поймете назначение каждого курса.

  • Основы Питон
    Познакомитесь с языком Python, изучите данные, функции и модули, попробуете поработать с кодом.

  • Знакомство с Веб-технологиями
    Разберём основные понятия в веб-разработке. Познакомимся с языком разметки документов HTML, основами языка оформления стилей документа CSS, основами JavaScript, бэкенда PHP и MySQL, а также форматами передачи данных JSON и XML.

  • Операционные системы (Linux)
    Будем разбираться с серверной системой на базе Linux, рассмотрим один из самых популярных дистрибутивов Ubuntu (построен на базе Debian).Серверные системы Linux используют текстовый интерфейс, поэтому графические оболочки не будут использоваться как основа, хотя графический интерфейс может помочь в начале знакомства с Linux (для это существует Desktop-версия ОС Ubuntu).Мы научимся понимать файловую структуру Linux, работать в консоли, применять основные команды, работать с удаленной системой по SSH.Отдельно будет рассмотрена работа Linux как платформы для веб-приложений, мы настроим и запустим полноценный стек сервисов для работы веб-сайта на базе Nginx и PHP.Важным аспектом системного администрирования является установка программ (пакетов) из репозиториев и автоматизация действий (скрипты bash) – все эти темы мы рассмотрим на отдельных занятиях.Кроме того, будут рассмотрены вопросы безопасности и сетевой подсистемы ОС Linux.

  • Объектно-ориентированное программирование
    Один из основных подходов к программированию, где на первом месте стоят объекты. Используется для упрощения сложного кода. Чтобы это сделать, программу делят на уникальные блоки, которые называются объектами, данные внутри него называются свойствами, а функции — методами.

  • Алгоритмы и структуры данных
    Курс нацелен на получение знаний о структурах данных и алгоритмов, которые необходимы начинающему программисту для старта карьеры. Сложность алгоритмов, О-нотация.

  • Исключения в программировании и их обработка
    Во время работы программы иногда возникают критические ошибки, которые приводят к аварийному завершению программы. Большинство подобных ошибок можно избежать, если научить программу правильно их обрабатывать. Чтобы программа знала, что делать, если возникла какая-то ошибка, используют обработчики исключений.

  • Unit-тесты
    Кроме проверки пользовательского интерфейса и описанных пользовательских сценариев, очень важно проверять и код на предмет его корректной работы в разных ситуациях. Для решения такой задачи используют юнит-тесты - это программа, которая проверяет правильность работы небольшой части кода. Наличие таких тестов позволяет разработчикам сразу после внесенных изменений проверить, что код после этого работает верно, что позволяет найти критичные ошибки в коде до непосредственного тестирования, и уже после этого отдать задачу тестировщику

  • Базы Данных и SQL
    Познакомитесь с языком запросов SQL. Научитесь писать запросы, делать расчёты и работать с таблицами. Узнаете основные ограничения SQL. Поработаете с MySQL и познакомитесь с альтернативными базами данных.

  • Контейнеризация
    На курсе изучите различия между микросервисной и традиционной архитектурой, научится работать с Docker и Docker Compose, а так же создавать собственные Dockerfile. Большая часть курса посвящена Kubernetes - самому популярному оркестратору контейнеров. После окончания курса студент сможет разворачивать приложения в Kubernetes, в том числе с помощью GitLab CI/CD.

  • Архитектура ПО: принцип SOLID, проектирование ООП, чистая архитектура
    После успешного прохождения данного курса вы разберетесь в универсальных принципах классического объектно-ориентированного проектирования, усвоите подход SOLID, ознакомитесь с наиболее часто применяемыми паттернами разработки ПО, освоите навыки проектирования программных компонентов. Узнаете основные принципы проектирования “чистых” архитектур.

  • Контроль Версий Углубленно (Git)
    В данном курсе мы изучим специальные команды Git, узнаем, как с ними работать на практике, научимся использованию системы контроля версий Git и работе с репозиторием на продвинутом уровне.

  • Организация CI/CD
    Во время курса мы познакомимся с основными понятиями и средствами CI/CD и инструментами, рассмотрим интеграцию и взаимодействие средств CI/CD и Docker’a, Углубимся в CI.

  • Парадигмы программирования и языки парадигм
    После успешного прохождения данного курса вы начнете разбираться в современных парадигмах программирования, будете понимать как они взаимосвязаны, сможете уверенно рассуждать об их достоинствах и недостатках, обретете системное понимание эволюционного развития подходов к разработке ПО. Благодаря всему этому сможете принимать оптимальные решения при выборе парадигмы в зависимости от задачи.

  • Профориентация по направлению и языкам
    Рассмотрим основные направления – фронтенд, бэкенд и мобильную разработку. Пройдемся по основным языкам, которые используются в направлениях. Сориентируемся в выборе дальнейшего трека обучения.

Технологическая специализация — 3 месяцев
  • Фронтенд и веб-программирование (углубленно для программистов)
    Рассмотрим JavaScript и TypeScript подробнее.

  • Веб-вёрстка HTML/CSS
    Познакомимся с основами создания сайта, работой с макетом и создание блочной структуры. Разберемся с основами позиционирования и создания адаптивного сайта. Изучим новые возможности HTML5 и CSS3. Проверим сайт на ошибки, изучим вспомогательные инструменты.

  • Основы языка JavaScript
    Изучим основные операторы JavaScript циклы, массивы, структуры данных. Познакомимся с объектами и обработкой событий в JavaScript. Познакомимся с DOM. И напоследок узнаем о анонимных функциях, замыканиях.

  • Продвинутый курс JavaScript
    Студенты получат системные структурированные знания и навыки работы с основными АПИ, доступными в современных браузерах, включая АПИ объектной модели документа (DOM), Web Storage, History, IndexedDB, WebSocket, Web Workers, WebRTC, SVG, Canvas.Приобретенные на курсе знания позволят студентам создавать функциональные, интерактивные, динамические веб приложения, используя всю мощь доступных в браузерах технологий, успешно и качественно решать задачи, возникающие перед фронтенд разработчиками, используя лучшие практики и подходы, применяемые профессионалами.

  • Проект
Преимущества
  • Интерактивные вебинары и записи занятий
    Вебинары проходят в Zoom вы задаёте вопросы преподавателю, получаете ответы и общаетесь с однокурсниками. Каждый вебинар легко пересматривать в записи, даже если его пришлось пропустить.
  • Актуальная программа
    Вы освоите программу обучения даже без технического образования. Уже через полгода вы cможете начать работу frontendразработчиком, а после обучения станете fullstackразработчиком.
  • Практикующие специалисты
    Преподаватели ведущие специалисты из GeekBrains и Delivery Club. У них есть опыт в проектировании корпоративных порталов и микросервисных программ и разработке интернетмагазинов.
  • Командная разработка
    Обучение приближено к рабочей среде. Вы создадите проект вместе с другими разработчиками обсудите идею, распределите роли, составите план. Это поможет прокачать soft skills, которые важны разработчикам умение ставить задачи и договариваться о результате.
  • Доступ к сообществу GeekBrains
    Вы найдёте полезные контакты и единомышленников в вашем городе, сможете делиться опытом в базе знаний GeekBrains. Будете посещать закрытые митапы, хакатоны и другие онлайн и офлайнмероприятия как слушатели и спикеры.
Знания и навыки, которые приобретете
  • Frontend:
  • Разработка frontend-приложений на React
  • Семантическая верстка HTML5 + CSS3
  • React для SPA
  • Redux + Redux-Saga / Redux Observable
  • Styled-components, makeStyles, SASSBackend:
  • Разработка backend-приложений на Node.js
  • JavaScript и TypeScript
  • Express.js, Nest.js
  • PostgreSQL, TypeORM, Memcached, MongoDB, Redis
  • Cluster, WorkerДополнительная информация:
  • Знаю функциональное и объектно-ориентированное программирование
  • Умеют работать с командной строкой Linux
  • Есть опыт разработки desktop-решения на базе Electron.js
  • Есть опыт разработки мобильного приложения на React Native
Инструменты и программы
  • Git
  • SQL
  • NoSQL
  • HTML
  • CSS
  • JavaScript
  • ReactJS
  • NodeJS
  • TypeScript
  • Vue.js

Преподаватели

  • Алексей Кадочников

    Frontend Developer в Mail.ru Group

    Ведущий преподаватель GeekBrains, обучил более 30 000 студентов. Эксперт в области backend-разработки для интернет-магазинов.

  • Артем Манченков

    Full Stack Developer в Delivery Club

    Более 6 лет в профессиональной разработке. Имеет опыт в проектировании корпоративных порталов, CRM-систем и коммерческих сайтов.

  • Валерий Шибанов

    Fullstack-разработчик в Mail.ru Group

    В настоящее время участвует в разработке desktop-приложения для стриминга DonationAlerts Studio. До этого работал программистом в GeekBrains, где занимался проверкой различных концепций: разрабатывал прототип мобильного приложения, работал над интеграцией с образовательными сервисами, участвовал в разработке системы управления обучением.

  • Сергей Герасименко

    Frontend-разработчик в ОАО «РЖД»

    Работает в Информационно-вычислительном центре Управления ОАО «РЖД». Разрабатывает сайты, веб- и бизнес-приложения (JEE), в том числе уникального ПО «САОС» для «РЖД». Преподаёт курсы по веб- и Java-программированию в учебных центрах «Трайтек», «Диполь» и других.

  • Игорь Кубиков

    Fullstack-разработчик

    Фрилансер, программирует с 2012 года. Пишет на PHP и Java, работает с фреймворком Yii2. Знает, как проектировать большие сложные приложения. Охотно делится опытом и подсказывает, как строить работу с заказчиком.