JavaScript Course


Start of the course
November 22, 2021
Duration of education (Mon, Wed, Fri):
3.5 months
Duration of paid internship (5 days/week, 8 hours/day):
2.5 months
* The program provides the possibility of additional classes on Saturday and Tuesday, the final schedule will be sent to the applicants, who get enrolled in said program.

Course description

The course is designed for people who wish to work with the client-side of websites and the ever so popular JavaScript programming language. The program offers you knowledge of the web-markup, HTML&CSS and the React.js + Redux frameworks and involves working with the Git version control system.


Students will be developing 3 projects during the course, based on which the judging committee determines which graduates are selected for further study/internship.

The projects cover all the material that is learned during the previous modules and allow to merge the gained knowledge by practicing.


During the educational process, students must complete homework assignments and academic projects, based on which the judging committee grades their practical skills and knowledge, as well as teamwork capabilities.


Andrii Halich
Andrii Halich
Oleksandr Tserkovnyi
Oleksandr Tserkovnyi
Dmytro Ostapenko
Dmytro Ostapenko
Kyrylo Aistrakhanov
Kyrylo Aistrakhanov
Serhiy Rossokha
Serhiy Rossokha

Course structure

Front-end Basics

Front-end Basics

  • HTML basics
  • HTML basics
  • Introduction to the Internet
  • Front-end basics. HTML / CSS / JS overview
  • Introduction to HTML
  • Encoding HTML pages
  • The DOCTYPE tag
  • The title tag
  • Tags in HTML
  • HTML5 semantic tags
  • CSS basics
  • CSS syntax
  • Basic CSS rules
  • CSS selectors
  • Priority in CSS
  • CSS Specificity
  • Class naming rules
  • Units in CSS
  • Block model, indents
  • css
  • GIT Basics
  • Pseudo-classes
  • Pseudo-elements
  • Position property
  • Flexbox
  • Flexbox container properties
  • Flexbox elements properties
  • CSS Grid
  • CSS Animation
  • Transformation in CSS
  • CSS preprocessors. SASS, SCSS
  • Adaptive design
  • Mobile first approach

Javascript basics

Javascript fundamentals

  • Javascript standards
  • Data types and variables
  • Operators in Javascript
  • Conditional operators
  • Working with console
  • Prompt
  • Cycles, functions, arrow functions
  • Numbers
  • Rows
  • Regular expressions
  • Objects
  • Arrays
  • Working with date and time

Working with HTML

  • Document Object Model (DOM)
  • Searching for items in the DOM tree
  • Working with the content of the element
  • Manipulation of DOM-elements and their attributes
  • Dimensions and scrolling
  • Events
  • Bubbling and capturing
  • Canceling default browser events
  • Event delegation

Advanced Javascript

Working with advanced functions

  • Residual parameters and the spread operator
  • Global object
  • Constructor functions
  • Closures
  • The context of this in functions
  • Decorators and call forwarding, call / apply
  • Binding context to function, bind
  • Lexical environment in arrow functions
  • Scheduling: setTimeout and setInterval
  • localStorage

OOP in Javascript

  • Prototype inheritance
  • Working with ES6 classes
  • Error handling
  • Javascript code testing

Asynchronous JS

  • Callback
  • Promise
  • JSON format
  • AJAX requests
  • Promises chaining
  • POST, PUT, DELETE requests
  • Request headers
  • CORS basics
  • Axios
  • Working with cookies
  • Promise API
  • Error handling for network requests
  • Async / await
  • Event loop
  • ES6 modules

React.js + Redux

  • js basics
  • Basic React concepts
  • Create-react-app
  • JSX markup, rendering elements
  • Conditional rendering
  • Basic component stylization
  • Components, types of components
  • Component status
  • Event handling and interaction with the component
  • Lists and keys
  • Props, PropTypes
  • defaultProps
  • Component life cycle
  • ErrorBoundary
  • Refs
  • Basic hooks
  • SPA, routing


  • Flux architecture
  • Connecting Redux to the project
  • Sample data from the state (mapStateToProps)
  • Interaction of components with the store (mapDispatchToProps)
  • Actions, reducers, dispatch. Redux-devtools
  • Using hooks in Redux
  • combineReducers
  • Redux-ducks
  • Middleware and side effects in the store
  • Memosed selectors

Advanced React.js

  • Working with forms
  • React component testing
  • Advanced hooks
  • Productivity optimization
  • Working with the server
  • Context API
  • Advanced styling methods
  • Patterns, application architecture

What do
students get

  • Knowledge of HTML, CSS and the JavaScript programming language
  • Understanding of the client-server architecture in the context of web-app development
  • js and Redux knowledge
  • The ability to develop a website, a web-interface and a web-application
  • The ability to understand other people’s code while understanding how it works
  • Teamwork skills
Fill in the form