Complex Logic

Back to Programs

Graduates of this special program will have general expertise in various areas.

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, in the Product Strategy, Vision, Marketing, and Innovation course, students will learn how to build their own project, create financial forecasts, and develop the project for the entire product. Data Science (part 2) will give an insight into machine learning, where students will try some of the most popular concepts. Networks & Clouds offers fundamentals of networks, storage, and security. In the System Architecture course, students will get familiar with the main concepts of systems architecture. 

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


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

Networks & Clouds

  • OSI, analogues, comparison

  • Data layers of OSI, REST/RPC/SOAP/GraphQL, solutions for this levels

  • SSH, Telnet, working remotely, solving OverTheWire: Bandit

  • Media layers

  • Clouds

  • Containerization

  • IoT, smart home, zigbee/bluetooth, wifi, making smart home ourselves

Systems Architecture

  • C++ - syntax, OOP basics, UB, numbers

  • RUST - syntax, programming paradigms, safe/unsafe, comparison with C++

  • Memory allocation, caching algorithms

  • Memory (its components), cache-friendly algorithms

  • Assembler (Instructions, RISC, CISC, x86, Intel, asm basics)

  • Syscalls

  • Processes, Scheduling

  • Threads, mutexes, condvars, atomics

  • Verilog

  • System limits - rlimit, cgoups, Linux namespaces, seccomp

Data Science

  • Visual data exploration and communication

  • Imputation and outlier detection in time series exploratory analytics

  • Outlier detection using PyOD library, KNN, SVM and other methods

  • Forecasting using neural networks in pytorch

  • Data Analysis with Tableau

  • Declarative Visualization with Vega-Altair

  • Long short-term memory networks (LSTM) for time series

  • Recurrent neural networks (RNN) and Gated recurrent units (GRUs) for time series

Product Strategy, Vision, Marketing, and Innovation

  • Description of the project or product selected by the student or teacher

  • Building a business plan for the project and presentation of the project

  • Financial evaluation of the project, Risk assessment, and forecasts

  • Implementation of the project, search for sponsors and further promotion of the project

Check admissions to learn if you are eligible and enrol.