Program

Frontend

Frontend is a program for beginners in the field of programming. We will learn JavaScript, React.js and work with Git from the most popular programming languages. The course will illustrate real-life examples selected by Israeli programmers and meet the latest industry standards. Mentors who are always with you will help you gain all the important knowledge. Students will solve complex tasks individually or in groups, will have the opportunity to apply their knowledge in their projects.

Application to the program is currently not active
Start date

-

Duration

2.5 months/300 hours

Group size

25 students

Schedule

I, III, V 15:00-21:00 II, IV 8:30-14:30, VI 9:30-15:30

Admission requirements
Expectation

Readiness for intensive training

Language skills

Knowledge of English at least Intermediate level

Requirement

To have a personal computer or a laptop

Age

18 years and older

Upon the course completion you will::

Be proficient in JavaScript

Understand client-server architecture logics in writing real apps context

Be able to work the React.js frameworks creating apps from scratch and writing texts

Work in GIT version control system

Read someone else’s code with the understanding of how it works

Tune soft-skills, be ready for interview, self-presentation and product showcase

Program

Frontend
10

Number of modules

HTML is a logical layout tool of a web page. Using the layout structure, data can be entered on the page. During the first module, students will learn to describe this structure using HTML tags (special markers that the browser can read).

Also students will study the basics of CSS to know the process of informing the correct display of HTML tags to the browser and achieve a proper page rendering according to the layout.

The language study includes:

  • core developer tools
  • CSS selectors
  • elements design
  • blocks size and position control on the page
  • blocks elements model: margins and indents
  • CSS3 and HTML5 standards
  • basic animation
  • version control system basics

HTML defines a website layout, CSS is responsible for the appearance, and JavaScript puts everything into action.

Using JavaScript code, a programmer determines a page reaction on user’s action. This module program includes introduction into language syntax and the first interactive pages writing.

Students will experience the following:

  • data types, their differences and applications
  • type conversion
  • variables and naming conventions
  • conditions, operators, arrays, loops, functions
  • scope of variables
  • function execution context
  • control structures
  • object model
  • window object model
  • Localstorage/Sessionstorage
  • browser events, response to mouse clicks and keyboard keys
  • connection and usage of the library
  • jQuery plugins basics
  • Also students will be familiarized with the event loop order and callback functions.

During the course students will master their skills in working with developer’s console, debugging and checking the code for errors. After finishing two modules of the training, students will be able to create their first web page with a necessary layout and interactive behavior.

Any web page should be easy to use and look decent and readable on all types of devices. For this purpose the program provides an advanced layout training module.

Students will gain knowledge in the following areas:

  • preprocessors SCSS, SASS
  • CSS BEM methodology
  • layout with pixel accuracy
  • adaptive layout
  • Mobile first layout
  • project builders, Gulp and its modules
  • Git version control system advanced usage
  • Bootstrap 4 basics

This module is a deeper immersion into object-oriented programming (OOP), basic design patterns, functional programming fundamentals, the ES6 ES7 (ECMAScript) standard capabilities, MVC architecture.

The following topics are covered:

  • destructure
  • execution context – call, apply, bind methods
  • closure
  • “garbage collector”
  • error handling
  • object-oriented programming basics
  • prototyping
  • EcmaScript6 standard classes
  • Drag&Drop
  • client-server architecture basics
  • regular expressions basics
  • POST, PUT, DELETE requests
  • HTTP protocol
  • cookies
  • Async/Await

Students will gain insights into the standards of Web Workers API, WebSocket, JSON, AJAX, XMLHttpRequest, Promise, Single Page Application, basic RESTful API.

Learning how to build a complex web app with React.js. Students will get acquainted with a fundamentally new and innovative approach in websites pages and apps сomposition.

The module covers the following topics:

  • JSX layout
  • virtual DOM
  • components
  • work with Props / State component
  • React Router
  • React Forms
  • React hooks
  • Redux
  • Work with Immutable JS in a React / Redux application.
  • Extra skills

A compulsory study of the Git version control system, that helps effectively organize teamwork is included.

The following topics are explored:

  • Git Bash usage
  • workflow from creating a repository to sending it to a remote server
  • work with branches
  • work with configuration files
  • Workshops

Along with all modules students are able to attend workshops and participate in webinars from international IT professionals.

Students will gain insights into the field of “Business Intelligence” (BI) and data analytics, learn about business analysis development and its usage. Main topic: technologies, ideas for implementation data warehousing, data visualization and the upcoming BI direction.

Students will:

  • create understanding of business analysis
  • gain knowledge of new data analytics tools
  • generate ideas for data warehouse implementation
  • discuss the prospects for area studying

React Native is the framework that allows to use single programming language for both Android and iOS in the process of development the native mobile apps.

The workshop covers the following topics:

React and React Native: main differences

  • setting the environment
  • creating a project build for Android and IOS
  • special tools usage
  • application debug

Node JS is the software platform that allows to use JavaScript in a much wider applications range. Due to Node JS developing application server side without learning an additional BackEnd language became possible.

The following topics are covered:

  • introduction to the Node.js platform
  • environment set up and development tools
  • apps organizing, modular approach
  • work with the console (terminal)
  • simple web server creation, work with http-requests
  • event processing (features of Event Loop)
  • Express framework
  • hosting Node.js app on the Heroku cloud service

From the middle of the course, students simultaneously will begin to invest into development of internal qualities and start preparing for projects showcase.

We will simulate full-fledged job interviews, as close as possible to real ones.

We will work on each student’s CV, his skills to present the project and his brand.

The final project will be implemented in teams where each student has a specific role, taking into account completed tasks according to the SCRUM method. Project idea: an online store with own product and unique interactive interface. At the end students have projects showcase.