Real-Time Frontend

Back to Programs

This specialty was created for those who are interested in front-end development.

During the first semester, we focus on the essential fundamentals, such as basic concepts of math and programming, which are the same for all programs.

In the Math & Statistic course, students will learn about discrete mathematics and the basics of probability theory. Algorithms & Data Structures covers the basic algorithms on graphs, data structures, and recurrence relations. Also, during the first semester, students learn how to process and analyze data, and build simple models based on this data in the Data Science course. In the Advanced Programming Languages course, students will learn about programming languages and their fundamental differences.

During the second semester, you will first get acquainted with the main tools of Front-end development in the Introduction to Front-End Development course. In parallel with this, you will learn JavaScript, React, TypeScript and Angular in the Frontend programming languages course, as well as learn the principles of UX / UI Design. The result of the semester will be a written group project on the Real-Time Frontend course.

 

Semester 1

Math & Statistics

  • Number theory

  • Sets, functions, and sequences

  • Logic

  • Induction

  • Sequences

  • Combinatorics

  • Relations

  • Recurrence relations

  • Graphs (basics)

  • Counting techniques

  • Graphs and Numbers

  • Growth of Functions

  • The probability of an Event

  • Conditional probability

  • Discrete Random Variables

  • Continuous probability

  • Sampling Theory

  • Statistics

Algorithms and Data Structures

  • Graphs (basics)

  • BFS and DFS

  • Dynamic Programming

  • LIS, LCS and other 2D problems

  • Heaps

  • Dijkstra, Floyd, Bellman-Ford

  • DFS applications

  • Knapsack problem

  • Dynamic programming over subsets

  • Amortized Time Complexity (Queue via Stack)

  • Disjoint Set Union

  • Dynamic programming on a tree

  • Minimum Spanning Trees

  • Matching

  • Segment Trees

  • Binary Search Trees

  • LCA

  • What is NP and how is it useful?

  • Strings

Data Science

  • Basic tools for data analysis

  • Simple data collection and analysis

  • Data Types in Statistics

  • Visualization

  • Stat in Data Science

  • Probability and its applications

  • Estimation, Confidence Intervals

  • Hypothesis testing

  • Correlation and Dependence

  • Regression

  • Generalized linear model

  • Feature engineering (Linear Regression Deep Dive)

  • Decision Trees

  • ANOVA

Advanced Programming Languages

  • Grammars, Regular Expressions, Backus-Naur Form

  • Computation Models

  • Functional Programming

  • Clojure Programming Language (Basics, Concurrency, Actors, Refs, Atoms, Macros)

  • Compiling and linking

  • Monads

  • Custom hierarchies and multimethods in Clojure

  • Logical Programming

  • Prolog

  • LLVM (basics, garbage collection)

  • Constraint Programming

  • MiniZinc

  • Guiding the Search in Constraint Programming

  • Data Oriented Programming

  • Data storage and querying in XML ecosystem

Semester 2

Introduction to Front-End Development

  • HTML, CSS and Javascript

  • Web pages, websites and web applications

  • Popular development tools

  • Frameworks and libraries

  • APIs and services

  • HTML documents, linking documents, images in HTML, HTML and tables, forms

  • Document Object Model

  • Web accessibility

  • Selection and styling, box model, responsive design

  • Single page application

Frontend programming languages

  • JavaScript. Programming Paradigms. Testing

  • React, React Components, Data and State, Hooks, Redux, JSX and testing

  • Navigation, Updating and Assets in React.js

  • TypeScript

  • The typing system of TypeScript

  • Common types in Typescript

  • Functions in TypeScript

  • Interface, Modules and Loaders

  • Angular

  • Templates and mustaches, computed props, and directives

  • Custom directives

  • Components, events, modules, and routing.

UX/UI Design

  • Familiarity with UX and UI

  • UX Goals + Quality Components

  • UX process

  • Figma's first steps

  • Tools of empathy

  • Design evaluation

  • Form design

  • Components in user interface design

  • Frames, layers and basic shapes

  • Type, Text, Meshes and Constraints

  • Manipulation elements

  • Working with images

  • Frame

  • Usability testing

Real-Time Frontend

  • Project fundamentals, creating a modern HTML structure for a web application

  • UX, validating forms and writing unit tests

  • Table reservation system using React

  • Development of a group project together with a team from the Real-Time Backend specialty

Check admissions to learn if you are eligible and enrol.