Front-End Development Bootcamp
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.
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.
Basics block - 2.5-3 months
Bootcamp Intro
Product Based Study
About the program
Learning and Working tasks Managment
Communication
Slack info
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)
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)
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
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
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
Internship
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
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
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
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
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
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
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)
Internship
Advanced block 3.5-4 months
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
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
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
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
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
Internship
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
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
MobX Introduction
MobX Fundamentals
MobX Applications Principles and Concepts
Connecting MobX to React
Additional Resources
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
Internship