The center exists to enable talented students and graduates to develop in areas of interest to them: Computer Science, Data Science or Software Engineering.

In this part, we post the records of our popular online courses on Stepik and recall that until April 11 open a new set in the CS center in St. Petersburg and Novosibirsk.

### Mathematics

**Introduction to Mathematical Analysis, Alexander Khrabrov. **

The course introduces the basic concepts of mathematical analysis: sequences, limits, continuity, derivatives and integrals.

**Mathematical analysis: part 1 and part 2, Alexander Khrabrov. **

The course will talk about sequences, limits, continuity, derivatives and integrals (indefinite and definite).

**Educational program in discrete mathematics, Alexander Omelchenko.**

Linear algebra, combinatorics, graph theory, discrete probability for students of IT specialties.

**Probability theory, Alexander Khrabrov.**

The course introduces basic concepts: probability space, conditional probability, random variables, independence, mathematical expectation and dispersion. The law of large numbers and some versions of limit theorems are proved.

**Graph theory basics, Alexander Omelchenko. **

Basic concepts, trees and cycles, connectivity, matching, graph coloring and planar graphs for students of IT specialties.

**Fundamentals of enumeration combinatorics, Alexander Omelchenko. **

The main emphasis is on basic methods and approaches that can successfully solve combinatorial problems that arise in practice. To take the course, you need to be confident in the course of school mathematics.

### Programming

**Java Basic course, Alexey Vladykin.**

Beginner course: compilation and launch of Java-programs, language syntax, type system, the basics of object-oriented programming, the most important classes of the standard library.

**C ++ programming: part 1 and part 2, Alexander Smal.**

The course is designed for students who possess the syntax of at least one of the standard structural programming languages. Particular attention is paid to discussing the basic principles of programs and the process of compiling them. The second part includes advanced language features, templates, errors, multithreading.

**Functional programming in Haskell: part 1 and part 2Denis Moskvin. **

The first part of the course introduces the conceptual apparatus and programming methods characteristic of functional languages. And the second part is with new data types and type classes that simplify working with effects and allow you to design and use composite effects.

### Computer science

**Algorithms: theory and practice. Methods and Algorithms: theory and practice. Data structures, Alexander Kulikov. **

The course deals with the basic algorithmic methods: greedy, divide and conquer, dynamic programming. And in the second part – data structures that are most often used in practice: arrays, lists, queues, stacks, dynamic arrays, priority queues, systems of disjoint sets, hash tables, balanced trees.

**Theoretical informatics: computational complexity, Alexander Shen. **

Overview course: resolving trees, circuits of functional elements, propositional logic, enumeration tasks, class PSPACE, acceleration of enumeration.

### System Programming

**Introduction to computer architecture. Elements of operating systems, Cyril Krinkin.**

As part of the review course, students and listeners will understand how programs are executed on modern computers from the very beginning, from the simplest logic circuits and microprocessors to modern multiprocessor and distributed systems.

**OS, Michael Krinkin. **

Memory management, scheduling and multitasking, thread synchronization tools, user space and system calls. The course assumes basic knowledge of C or C ++.

**Linux programming basics, Cyril Krinkin. **

The course covers the basic tools and all the main components: process management, interprocess interactions, network capabilities.

We wish you a good time!

## 0 Comments