About the course

The Frontend Development Bootcamp is an intensive 6-month program designed to provide aspiring developers with real-world experience and skills required to excel in the fast-paced world of web development.

This boot camp goes beyond traditional classroom learning by immersing participants in a simulated startup environment, working collaboratively in a team with QA professionals, project managers, and DevOps specialists. Throughout the boot camp, participants will engage in agile methodologies, particularly the popular Scrum framework, using Sprints to plan, develop, and deliver software projects. They will gain hands-on experience with modern frontend technologies and frameworks like HTML, CSS, JavaScript, and React.

By the end of the Frontend Development Bootcamp, participants will have a comprehensive skill set and a deep understanding of the collaborative nature of software development. They will be equipped with the knowledge and experience necessary to excel as frontend developers in a dynamic startup environment or any other software development setting.

  • HTML, CSS

  • Java Script

  • Git and GitHub

  • TypeScript

  • Object Oriented Programming

  • React

  • Internship with Legion IT start-ups' products

  • Please note: the learning materials, examples, assignments are in English, some of the course instruction is provided in Russian

  • Prerequisites: Basic Computer Skills, English Proficiency, Motivation and Dedication

  • Upon successful completion of the course participants will receive a verified digital diploma.

Curriculum

  • 1

    ***** PART 1 - Front-End Development Fundamentals *****

    • Basics block - 2.5-3 months

  • 2

    About Frontend Development Bootcamp

    • Bootcamp Intro

    • Product Based Study

    • About the program

    • Learning and Working tasks Managment

    • Communication

    • Slack info

  • 3

    HTML and CSS Introduction

    • HTML Intro

    • One picture instead of many words

    • Visual Studio Code (VCS) Installation

    • Visual Studio Code Intro

    • HTML Elements and Tags

    • Working with Texts

    • Create a List

    • HTML Attributes and Hyperlinks

    • Working with Images

    • M2. Assignment

    • M2. Assignment Solution

    • Forms and Inputs

    • Radio Buttons

    • Checkboxes and Buttons

    • Dropdown Lists

    • CSS Intro

    • Adding CSS to Web Page

    • CSS Selectors

    • Code examples from the lesson

    • HTML and CSS quiz

    • M2- HTML and CSS Assignment

    • M2T. Training Assignments (Optional)

  • 4

    HTML Next Level

    • HTML Elements

    • Block and inline elements and core differences

    • Semantic HTML and why do we need to use this

    • Quiz: Semantic

    • Html classes and ID’s CSS

    • Quiz: Class/ID

    • Lists in HTML

    • Quiz: HTML Lists

    • Forms in HTML

    • Quiz: Forms

    • HTML tables

    • Quiz: Tables

    • HTML Layout

    • Quiz: Layout

    • HTML Responsiveness

    • M3 - HTML/CSS Classes and IDs

    • File Paths in HTML

    • Introduction to Accessibility in HTML

    • HTML More Advanced material

    • M3T. Training Assignments (optional)

  • 5

    CSS Next Level

    • Selectors in CSS

    • Attribute Selectors in CSS

    • CSS Box Model

    • Working with Margin, Padding, Border, and Content

    • Quiz: Box Model

    • CSS PSeudo elemens and pseudo classes

    • CSS Layout

    • Flexbox and its properties for creating flexible layouts.

    • CSS Grid for grid-based layouts.

    • Quiz: Flexbox / GRID

    • Understanding "display" Property in CSS

    • Quiz: Display property

    • Mastering CSS Text Styling

    • CSS Transitions and Animations:

    • CSS Preprocessors

    • CSS Best Practices and Optimization

    • CSS Frameworks ( Bootstrap)

    • Overflow and z-index properties

    • Quiz: Visibility

    • Mastering Fonts in CSS

    • Quiz: Fonts

    • Responsive Design Media queries and their usage for creating responsive layouts.

    • Quiz: Responsive layout

    • Images And Responsive Images ( ADD MORE ABOUT REGULAR AND BACKGROUND IMAGES)

    • Responsive Design: CSS Mobile-First Approach: Building Responsive Webpages

    • M4 CSS Next Level Assignment

    • M4T. Training Assignments

  • 6

    JavaScript Introduction

    • Intro and Installation

    • First JS program

    • Variables

    • Functions

    • Naming conventions

    • First Assignment

    • Assignment Solution

    • Arrays

    • Objects

    • Objects Methods

    • Second Assignment

    • Assignment Solution

    • If-Else Statements

    • For Loops

    • For In loops

    • Debug Mode

    • The code from the lesson

    • JavaScript quiz

    • Semicolons in JavaScript: To Use or Not to Use?

    • M5 - Java Script assignment

  • 7

    Working with VCS: Git and GitHub

    • Git intro

    • What is Version Control System

    • Main Functionality of Git

    • Example of the Team Work

    • Git and GitHub setup

    • Global Config

    • Windows users - how to add git to System variables

    • First Commit and Push

    • Pull and Conflicts

    • Git Clone

    • Pull Requests

    • Checkout and new branches

    • GitHub project Configurations

    • Commands List

    • Bonus: Using Git from Terminal

    • Git Ignore

    • Git Presentation

    • Git command line cheat sheet

    • Git quiz

    • M6 - JavaScript Assignment

  • 8

    Work Project Internship Part 1 - HTML, CSS

    • Internship

  • 9

    Data types, variables operators and other fundamentals

    • Data Types

    • Values and Variables

    • Type Conversation

    • Data Types Quizz

    • String and Template Literals

    • String Literals

    • The Switch Statement

    • Equality Operators: == vs ===

    • Boolean Logic And Logical Operators

    • Operators

    • M7 - Data types, variables operators and other fundamentals

  • 10

    Functions, and basic Object methods

    • Activating Strict Mode

    • Functions

    • Function Declaration VS Expressions

    • Arrow Functions

    • Functions Calling Other Functions (call backs)

    • Review Functions

    • M8.1 Functions Assignment

    • Arrays Intro

    • Basic Array Methods

    • Arrays assignment

    • Objects Intro

    • Objects Copying value and reference

    • Dot vs. Bracket Notation

    • Object Methods and this keyword

    • Objects Assignments

    • Looping Arrays

    • The while Loop

    • M8.2 Assignment Loop and Array manipulations

    • M8T. Training Assignments

  • 11

    DOM and Events Basics

    • Set Up

    • How to think as a developer, debugger and helpful resources

    • What is DOM and how we can "manipulate" it

    • Selecting and Changing DOM elements

    • Click Events

    • CSS styles and classes manipulation

    • M-9. DOM Manipulations and Events Assignment

  • 12

    JavaScript Fundamentals

    • Overview

    • JavaScript Engine and Runtime

    • Execution Contexts and The Call Stack

    • Scope, Scope Chain and Scope in practice

    • Hoisting and Temporal Dead Zone

    • The "this" keyword

    • Primitives VS Objects ( Ref Types)

    • M10. How JavaScript works

  • 13

    Data structures, Operators, Strings

    • Array and Object Destructuring

    • Spread operator "..."

    • Rest Pattern and Params

    • Short Circuiting and "&&" and "||" and Nullish Coalescing Operator "??"

    • Logical assignment operator

    • Array looping, for of loop

    • Object literals ES6

    • Optional chaining

    • Objets looping

    • Map and Set

    • Working with Strings

    • M11. Data structures, Operators, Strings

  • 14

    Closer look at Functions

    • Default function parameters

    • Passing Params : Value VS Reference

    • Firs class and Higher Order functions

    • Function Params - Callback Functions

    • Functions returning functions

    • Call & apply methods

    • The bind method

    • Immediately invoked Function Expressions IIFE

    • Closures

    • M12. Function's Assignments

  • 15

    Working with Arrays

    • Simple Array methods

    • ForEach + ForEach with Map and Set, Looping arrays

    • Creating DOM Elements

    • Data Transformations: map, filter, reduce

    • Methods Chaining

    • Array Methods ( find(), findIndex(), some(), every()flat(), flatMap() )

    • Sorting Arrays

    • Which methods to use ?

    • M13. Array Metods Assignment

    • M13T. Training Assignment (optional)

  • 16

    Work Project Internship Part 2 - JavaScript

    • Internship

  • 17

    ***** PART 2 - Front-End Development Advanced *****

    • Advanced block 3.5-4 months

  • 18

    Numbers, Dates, Internalization

    • Number conversion and is Number check

    • Math and Rounding

    • The Remainder Operator

    • Numeric separators

    • BigInt

    • Dates

    • Operations with Dates

    • Internalization dates

    • Internalization Numbers

    • Timers ( SetTimeout, SetInterval methods)

    • M14. Numbers, Dates, Internalization

  • 19

    Advanced DOM and Events

    • How DOM Works

    • Select, Create, Delete elements in DOM

    • Styles, attributes, classes

    • Event types and Event handlers

    • Event Propagation, Bubbling & Capturing

    • Event Propagation in Practice

    • Event Delegation Building navigation example

    • DOM Traversing

    • Passing Arguments to event handlers

    • Scroll Event - Implementing a Sticky Navigation

    • Lazy Loading Images

    • Lifecycle DOM Events

    • Defer and Async script loading

    • M15. Advanced DOM and Events

  • 20

    Object Oriented Programming with javascript

    • What is Object-Oriented Programming?

    • OOP IN JS

    • Constructor Function and "new" operator

    • Prototypes

    • Prototypal Inheritance and The Prototype Chain

    • Prototypal Inheritance on Built-In Objects

    • ES6 Classes

    • Setters and Getters

    • Static methods

    • Object Create (Object.create())

    • 16.1 OOP Assignment

    • Inheritance Between "Classes": Constructor Functions

    • Inheritance Between "Classes": ES6 Classes

    • Inheritance Between "Classes": Object.create

    • Another Class example

    • Encapsulation: Protected Properties and Methods, Encapsulation: Private Class Fields and Methods

    • Chaining

    • OOP Summary

    • 16.2. OOP Assignment

  • 21

    RESTful API introduction

    • Introduction

    • Setup

    • Sending GET request

    • Working with collections

    • Postman Variables

    • First Assignment

    • Assignment solution

    • Request parameters

    • POST request, sending JSON body

    • UPDATE and DELETE

    • Second assignment

    • Assignment Solution

    • What is Rate limiting?

    • UI representation

    • Run collection

    • Export and Import

    • Working with lists of results

  • 22

    Asynchronous JS, Promises, Async, Await, Ajax

    • How web works Request/Response

    • Callback Hell :)

    • Promise and Fetch API

    • Consuming Promises

    • Chaining Promises

    • Rejected promise Handling

    • Manual Error Throw

    • Async under the hood : The Javascript Event Loop

    • The Event Loop in practice

    • Simple Promise

    • Geolocation Promisifying

    • Consuming Promises with Async/await

    • try catch Error handling

    • Returning Values from Async Functions

    • Running Promises in Parallel

    • Promise : race, allSettled etc.

    • M18. Asynchronous JS Assignment

  • 23

    Work Project Internship Part 3 - Client-Server

    • Internship

  • 24

    ReactJS Intro

    • Intro To React and why to use front end frameworks

    • React Programming Patterns

    • React CRA and first setup

    • JSX and how to use it

    • React Components

    • Components Interacting

    • M19.1. JSX Templates and Rendering

    • React Forms

    • React Styles

    • React components Library MUI and alternatives

    • M19.4 React Styles

  • 25

    React (React Router and Hooks)

    • React Routing

    • React Hooks, What and Why ?

    • M19.2 React hooks

    • React Combination of Hooks, Custom Hooks and Components and Data

    • M19.3 React Hooks Combinations

  • 26

    React State Management (MobX)

    • MobX Introduction

    • MobX Fundamentals

    • MobX Applications Principles and Concepts

    • Connecting MobX to React

    • Additional Resources

  • 27

    Introduction to Typescript

    • Introduction to Typescript

    • Typescript setup

    • Typescript Type definitions introduction

    • Introduction to Interfaces in Typescript

    • Union & Type alias in Typescript

    • any, never, void, unknown - in Typescript

    • Typescript Working with React

    • Creation and extension of classes in Typescript

    • Generics interfaces and functions in Typescript

    • How to use Enums in Typescript

  • 28

    Work project Internship Part 4 - React and Typescript

    • Internship