**CMC Lomonosov MSU – Skoltech’s Master of Science Program «Advanced Computing and Networks»**

**Description:**

The purpose of the master of science program «Advanced Computing and Networks» is to prepare masters of science who specialize in the intersection of computer networks, design of complex distributed systems, data processing and analysis, and machine learning. This program is implemented jointly with the Skolkovo Institute of science and technology (Skoltech). The program is implemented in English.

Lectures, seminars and laboratory work are conducted in accordance with the schedule approved before the beginning of the semester at Lomonosov MSU and Skoltech. Upon completion of training, students pass the final state exam and defend master of science disssertation in English. Students enrolled in the joint program receive diplomas from Lomonosov MSU and Skoltech upon completion.

**List of courses:**

**Entrance examination:**

- written exam in applied mathematics and computer science (100 points);
- Testing that includes the following sections:

English TOEFL ITP, interview and E&I Challenge.

**Order of admission**

- After submitting documents to MSU (foreign applicants should first visit web-page for additional information on the admission procedure), the applicant must submit documents to Skoltech via the form on the Skoltech website (apply.skoltech.ru)
**until July 16.** - The written exam in applied mathematics and computer science is held in July
**(in 2021, July 22).**The exam is held in Lomonosov Moscow State University. Exam option is compiled in the English language. The work must be written in English. - In the spring, the faculty of CS holds the Lomonosov Universiade in applied mathematics and computer science. The winners and prize-winners of the Lomonosov Universiade in the field of Applied mathematics and computer science are entitled to benefits when passing a Written exam in applied mathematics and computer science.
- Students enrolled in the «Advanced Computing and Networks» program can pass the TOEFL ITP English exam on their own and provide a certificate. If there is no certificate, the exam is held at the end of June or end of July at the Skoltech. (in 2021, July 29-30).
- The interview is conducted at the Skoltech.
**(In 2021, July 29-30).**Instructions for completing the interview are sent after you submit your documents to Skoltech. - The E&I Challenge is held at the Skoltech.
**(In 2021, July 29-30).** - Also, students entering the program «Advanced Computing and Networks» must provide their portfolio, including, among other things, a motivational letter and two letters of recommendation in English.

Curriculum

Information about the program on the website of CS MSU (Curriculum, abstract and admission procedure 2021)

Information about the program on the website of Skoltech

Skoltech instruction for students «how to enter»

For potential students may be interested in the following materials:

- How do I write a motivational letter to the University?
- How to make a resume for the University?
- How do I get an interview for a master’s degree?
- What do I need to know about academic recommendations?

**Computer Networking and Telecommunications**

**Semester (terms):**

1 (1-2)

**Lecturer:**

Corr. RAS, Professor R.L. Smelyansky

**Description:**

The aim of this course is to shows students the modern trends in architecture of computer networks, protocol stack, network management, methods and tools of network operation analysis. Along the course, computer networks are considered from the viewpoint of a telecom provider. The focus is on the study of and practice in software defined networks, methods and tools for network operation analysis as by means of simulation (NPS and Mininet systems) as my means of formal verification methods and network calculus. The basic modules of the course are: Modern data transmission systems; MPLS technology; Software defined networks; Analysis of computer networks operation by means of simulation; Methods of QoS management in computer networks; Routing policies management in computer networks; Storage area networks.

**Prerequisites:**

Qualification of a bachelor in technology, computer networks.

**Applied Statistical Methods**

**Semester (terms):**

1 (1-2)

**Lecturer:**

Assistant professor A.I. Maysuradze

**Description:**

The course covers the basic methods of applied statistics and statistical recognition. In order to connect two parallel widespread notations, the presentation is carried out both from the point of view of classical statistics and from the point of view of data science. Particular attention is paid to the typology of statistical recognition problems: the receipt of additional information changes the problem statements themselves. As an illustration of the use of the basic tools presented in the course, an introduction is given to some additional sections of statistics that are often used in data collection and analysis.

**Prerequisites:**

Linear algebra, Python basics.

**Real-time computer systems: architecture, approaches to design and analysis**

**Semester (terms):**

3 (5-6)

**Lecturer**:

Senior researcher V.V. Balashov

**Description:**

The aim of this course is to introduce the students to the main principles of real time information control systems (RT ICS) design, organization of computations in RT ICS, typical architectures of computational blocks and data transfer networks of RT ICS, basic algorithmic problems of computations and data exchange scheduling in RT ICS, as well as algorithms for solving these problems. Specific emphasis is made on analysis of timing properties of RT ICS operation and justification of its conformance to deadlines, as well as to testing of RT ICS as hardware/software systems.

**Prerequisites:**

Qualification of a bachelor in technology, computer architecture.

**Distributed Algorithms: Principles of Design and Application**

**Semester (terms):**

2 (3-4)

**Lecturer:**

Professor V.A. Zakharov

**Description:**

The aim of this course is to shows students specialized in software engineering how to design, implement, and analyze distributed algorithms, to introduce them to the basic algorithmic problems arised in the designing of distributed systems (network protocols, embedded systems, multiprocessor computer systems, parallel programs), to the common solutions to these problems, to mathematical models and techniques used in the development and analysis of distributed algorithms. Much attention is payed to the correctness and complexity issues.

**Prerequisites:**

Qualification of a bachelor in technics, basics of algorithms.

**Mathematical Foundations of Software Verification**

**Semester (terms):**

3 (5-6)

**Lecturer:**

Professor V.A. Zakharov, Researcher V.V. Podymov

**Description:**

This course is aimed at teaching students mathematical foundations, techniques, and software tools used for formal verification of various in-formation systems (sequential and distributed programs, network protocols, microelectronic circuit designs, etc.). Much attention is payed to the model checking approach to the verification of computing systems.

**Prerequisites:**

Qualification of a bachelor in technics, basics of mathematical logic.

**Introduction to Cloud Computing**

**Semester (terms):**

4 (7-8)

**Lecturer:**

Senior researcher V.A. Antonenko

**Description:**

This course is aimed to familiarize students specializing in programming with the basics of building a cloud infrastructure with an emphasis on the network component, as well as developing and testing cloud services. The focus is on the classification of cloud infrastructures, the architecture of cloud infrastructure management systems, as well as the architecture and requirements of cloud applications.

**Prerequisites:**

Qualification of a bachelor in technology, computer networks.

**Software Defined Networks Fundamentals**

**Semester (terms):**

2 (3-4)

**Lecturer:**

Assistant lecturer V.N. Pashkov

**Description:**

This course is aimed to in-depth study of the fundamentals of software-defined networks and approaches to the practical implementation of new technologies in modern computer networks. Software-defined networks are one of the most sought-after technologies in the field of computer networks. The technology is designed to increase the flexibility and speed of network management, accelerate the introduction of new services on the market. The technology is already used in well-known companies such as Google, Microsoft, Amazon, VmWare, AT & T, etc. As part of an additional task, students are invited to implement an application for the SDN controller using one of the control protocols.

**Prerequisites:**

Qualification of a bachelor in technology, computer networks.

**Quality of Service in Computer Networks**

**Semester (terms):**

4 (7-8)

**Lecturer:**

Programmer E.P. Stepanov

**Description:**

The course is dedicated to one of the most fundamental problems of computer networks: how to provide subscribers of a computer network with the communication of the quality they need. The course covers a variety of technologies that are used to solve the problem of quality in the modern Internet, corporate networks, data centers, and content distribution and distribution networks.

**Prerequisites:**

Qualification of a bachelor in technology, computer networks.

**Introduction to IoT**

**Semester (terms):**

1 (1)

**Lecturer:**

Assistant Professor A.S. Somov

**Description:**

In the last decade, the Internet of Things (IoT) paradigm has slowly but steadily and increasingly permeated what researchers and engineers study and build. The term “Internet of Things” doesn’t have a single definition and people today often use it to interchangeably refer to Wireless Sensor Network (WSN), Machine-to-Machine (M2M), Web of Things (WoT) and other concepts.

The focus of this course is to learn about these technologies that will be extending the Internet as we know it and use it today, to interconnect not only people and computers but also sensors and associated objects.

The course will be divided into two strongly coupled parts. The first part of the course covers the IoT ‘pillar’ technologies, i.e. embedded systems, wireless sensor networks, semantic technologies, and theory behind them while the second part will have a special focus on IoT development, i.e. IoT apps, open platforms, sensors and actuators, software/middleware. Apart from covering the theory behind the IoT and “how to connect things to the Internet”, the course will therefore also engage the students to demonstrate the feasibility of simple IoT real applications and will challenge them to improve their applications through the use of cognitive technologies and cloud computing.

**Prerequisites:**

It is an introductory course on IoT and there are no specific prerequisites.

**Deep Learning**

**Semester (terms):**

2 (4)

**Lecturer:**

Associate Professor V.S. Lempitsky

**Description:**

The course is about Deep Learning, i.e. a new generation of neural network-based methods that have dramatically improved the performance of AI systems in such domains as computer vision, speech recognition, natural language analysis, reinforcement learning, bioinformatics. The course covers the basics of supervised and unsupervised deep learning. It also covers the details of the two most successful classes of models, namely convolutional networks and recurrent networks. In terms of application, the class emphasizes computer vision and natural language analysis tasks. The course involves a significant practical component with a large number of practical assignments.

**Prerequisites:**

Linear algebra, Machine learning, confident mastery of Python coding basics.

**Introduction to Blockchain**

**Semester (terms):**

3 (6)

**Lecturer:**

Associate Professor A.A. Frolov

**Description:**

This course provides an overview of modern blockchain technology and its practical applications (Cryptocurrency, Certification, Anchoring. Industrial examples.) We will start from basic cryptography and distributed database systems and show how these tools are used in the blockchain. The covered topics are the following:

- Introduction to cryptography, type of cyphers. Private and Public cryptosystems
- Hash functions. Digital signatures and certificates. Public key infrastructure
- Secret sharing, esoteric protocols, mental poker
- Introduction to database systems. Distributed database systems
- The main concept of the blockchain. Consensus and Impossibility of Distributed Consensus with One Faulty Process
- Network and computational assumptions. Consensus properties
- Atomic broadcast. Tendermint. Exonum.
- Cryptocurrency, Certification, Anchoring. Industrial examples

**Prerequisites:**

Basic programming, Calculus

**Communication Technologies for IoT**

**Semester (terms):**

3 (6)

**Lecturer:**

Associate Professor of the Practice D.V. Lakontsev

**Description:**

This is a newly developed course that prepares students for applying modern telecommunication technologies, both wired and wireless in the Internet of Things area.

The course combines lectures and labs related to hardware, transmission techniques, the medium-access control layer, networking, applications and standards for the IoT communication technologies. All technologies are considered with a use-case based approach that shows their practical application in real industrial and research scenarios.

**Prerequisites:**

Basic programming, basic MATLAB

**Digital Signal Processing**

**Semester (terms):**

1 (2)

**Lecturer:**

Research Scientist D.N. Ivanov

**Description:**

Digital signal processing (DSP) refers to various techniques for improving the accuracy and reliability of digital communications. The goal, for students of this course, will be to learn the fundamentals of Digital Signal Processing from the ground up. Starting from the basic definition of a discrete-time signal, we will work our way through Fourier analysis, filter design, sampling, signal statistics estimation theory, interpolation and quantization to build a DSP toolset complete enough to analyze a practical communication system in detail. We will also deal with modulation, synchronization and propagation channel modes. Hands-on examples and demonstration will be routinely used to close the gap between theory and practice.

The extra topics covered in this course are:

- Fundamentals of random signal theory and analysis;
- Modelling communication signals as random processes;
- Baseband signal processing, signal synthesis and filter design for communication;
- Statistical signal processing in communication;

It is hoped that through learning this course students will be equipped with a clear picture of DSP as well as a necessary foundation for further study of advanced DSP topics in the future.

**Prerequisites:**

Students are expected to have a basic understanding of Linear algebra, Probability theory, Programming, Fourier transform, Complex numbers, Trigonometry, Convolution, Calculus

**High-Performance Computing**

**Semester (terms):**

2 (4)

**Lecturer:**

Associate Professor S.G. Rykovanov

**Description:**

High-Performance Computing refers to accumulation and usage of computing power well beyond a typical desktop or laptop computer. This is a main course for various aspects of HPC and a further development of the Scientific Computing course. Together with the theoretical part and discussion of basic parallel algorithms, the course will have a practical component aimed at solving different research and industry-related problems on different computing architectures, such as modern CPUs and GPUs. The course will provide sufficient knowledge and experience in using standard parallel libraries (such as OpenMP, MPI, OpenACC and CUDA) as well as visualization software (ParaView, Visit). Students will be given a chance of using Skoltech’sworld-class HPC facilities to learn typical methods and rules of working on the large-scale collectively used supercomputers. The course is designed in such a way that students who successfully pass the exam will be able to use advanced methods of HPC in their everyday work.

**Prerequisites:**

Students should know the basics of Unix-like systems, C/C++ programming language and preferably have the basic knowledge of Python. Knowledge of basic undergraduate mathematics (calculus, linear algebra, ODEs and PDEs) is a plus.

**Machine Learning**

**Semester (terms):**

2 (3)

**Lecturer:**

Full Professor I.V. Oseledets

**Description:**

The course is a general introduction to machine learning (ML) and its applications. It covers fundamental modern topics in ML, and describes the most important theoretical basis and tools necessary to investigate properties of algorithms and justify their usage. It also provides important aspects of the algorithms applications, illustrated using real-world problems. The course starts with an overview of canonical ML applications and problems, learning scenarios, etc. and introduction into theoretical foundations of ML. We present the most novel theoretical tools and concepts trying to be as succinct as possible. Then we discuss in depth fundamental ML algorithms for classification, regression, boosting, etc., their properties as well as their practical applications. The last part of the course is devoted to advanced ML topics such that metric learning, kernel mean embedding of distributions, anomaly detection, reinforcement learning, etc. Within practical sections, we show how to use the methods above to crack various real-world problems. Home assignments include application of existing algorithms to solve applied industrial problems, development of modifications of ML algorithms, as well as some theoretical exercises. The students are assumed to be familiar with basic concepts in linear algebra, probability and real analysis. The success and even feasibility of conducting many modern industrial and scientific projects in a variety of domains is increasingly dependent on a correct analysis of the collected information. Therefore, nowadays almost every specialist should have an idea of the opportunities and limitations that arise when using the existing arsenal of methods and tools for Data Mining. The objective of the course is precisely to create the student’s understanding of the analytical activity and the corresponding mathematical theory. The main classes of problems of machine learning and methods for their solution are considered. The skills of solving such problems using common statistical packages are given.

**Prerequisites:**

Numerical Linear Algebra and Optimization Methods.

**Innovation Workshop**

**Semester (terms):**

2 weeks in September, can be arranged for 2nd-year students

**Description:**

«The Innovation Workshop (IW) is a unique one-month, full-time, intensive “boot camp” style MS-level course that unites the entire Skoltech incoming class with Skoltech faculty and esteemed invited mentors to create a foundational experience in Entrepreneurship and Innovation (E&I) for all. IW is designed to instil a positive “can-do” teamwork attitude in the Skoltech culture, as well as to cultivate the art of prototyping the entire end-user need. IW students prototype quickly, under pressure, with help from others, and based on whatever resources are at hand.

Experiential inquiry-based learning leads IW student through the entire technology innovation cycle along the three pillars of innovation:

- Impact (a.k.a. End User Need),
- Embedded Technology Prototype (provided and validated by good science),
- End User Delivery (a.k.a. Business Model).

This work is performed in cross-disciplinary teams operating under time pressure thus creating a real-life experience of a complex innovation project. IW is less about knowledge and more about developing skills and attitudes necessary to lead a successful life in innovation. It is also an opportunity for students to learn more about Skoltech’s basic values and meet the entire class and most of the faculty in an intensive relationship-building setting.»

**Prerequisites:**

Qualification of a bachelor in technics, technology, natural sciences.