There are no translations available.
Master programme «IT in Software Engineering»
1. General information
The master program is designed for 120 credits (ECTS) and the duration of two academic years of training. After the dissertation defense a student receives the degree of Master in Computer Sciences. Both Russian and foreign students are invited to the program. Lectures and tutoring are given in fulltime mode in English and Russian.
2. Aims
The program aims to develop the student's knowledge in the field of computer science and skills in management and software development with special attention to the means of automating software development.
Computer Sciences include such topics as algorithms, programming languages, data management, knowledge base methodologies, acquisition of knowledge, human computer interaction, systems engineering, systems design automation, digital libraries and collections, network computing. Information Technology field includes standards, design and implementation of information systems, life cycle processes.
Master's Programme "Information Technologies in Software Engineering» (IT in SE) focuses on indepth study of the automation of software development at different stages, starting with the development of mathematical models of computational processes, and to evaluation of the performance of hardware and software.
The labor market in the field of information technology is constantly growing. Any company, organization has a ITdepartment responsible for implementation and support of information technologies used in the organization. Computer companies, software developers are concerned about the low productivity of manual labor. An automation process requires the participation of highly skilled professionals. The preparation of such specialists is precisely focused the master programme "Information Technology in Software Engineering» (IT in SE).
3. Learning outcomes
After completing the master programme “Information Technologies in Software Engineering” (IT in SE), the student will be able to:
 § analyze information processes in the real world to create Internet of Things systems;
 § apply modern information technologies for creation and development of software;
 § assess quality of applied software using mathematical models and simulation;
 § create effective distributed hardware and software systems for big data processing;
 § design life cycle processes of reliable and secure cloud computing systems;
 § select mathematical methods for prediction of designing software properties;
 § solve problems of enterprise management using high effective information technologies.
4. Admission criteria
Applicants who choose the major in Information Technology in Software Engineering are expected to have a B.Sc. in computer science, information technology, applied mathematics or relevant fields of science. The applicants’ degree must contain programming languages, discrete mathematics, hardware topics. The students should have basic knowledge in networking and good programming skills. Students must have a bachelor's degree or diploma, preferably (but not necessarily) in the following areas or related fields:
 § Computer science and information technology;
 § Information technology;
 § Mathematics and computer science;
 § Software and management information systems;
 § Applied mathematics and computer science;
 § Applied computer science;
 § Information systems and technology;
 § Business Informatics etc.
All applicants must pass an examination on the subject "Programming Languages". As tuition is given in Russian and English, the students must have good oral and writing skills in the English language. For participation in double degree program applicants should require to pass the TOEFL test with a level at least 500, or the IELTS test with a level at least 5.5.
5. Methods of teaching
Learning and teaching of IT in SE typically involves a combination of the following:
 § Lectures are delivered in the lecture room equipped with a projector, a screen and technical means for remote operation. Lectures are held mainly on theoretical disciplines, including a lot of math, where students it is difficult to sort out some issues on their own.
 § Computer labs. The purpose of the work in a computing laboratory is to get skills of practical work with the software, information technology in an interactive mode under the direct supervision of a teacher, works "in a programmer’s team."
 § Practice (seminar) training in the classroom. Moderated discussion on information technology in general, the problems of the current work on projects with other students. The moderator can be a teacher or a student.
 § Projects. Independently or in team performance research or practical work, which has a complete character. Project results are reported and discussed in practical or laboratory classes.
 § Selfstudy. Selfstudy is the work of the student with literature and software in the library, public computer labs or at home to study the content of discipline.
 § Traineeship. Fourand sixweek research, teaching and industrial traineeship, during which a student receives the skills in accordance with aims of the traineeship.
 § Dissertation. Independent work on writing a text. The text contains a statement of objectives, methods and results of the final project.
The aims and learning outcomes of the programme are reached through the different courses included in the degree. Assessment and examination take place at course level and details concerning assessment and grading for the courses can be found in each respective course descriptor. All students are encouraged to take part in the evaluation of the programme. Each course in the programme is also evaluated separately and these evaluations form the basis of the continual development of the programme
6. Forms of assessment
All subjects (except for the traineeships and workshop) finish with semester examination. The seminar ends with a “pass”. The traineeships is exposed to credit assessment. In the current scientific work in 1 – 3 semester credits are exposed. Assessments: "excellent" – the highest rating, "good", "satisfactory", "unsatisfactory." In assessing the "unsatisfactory" credit units (ECTS) in the discipline are not counted in the total amount of credits for the training period.
7. Thesis criteria
Preparation of Master's thesis begins in the 1st semester, after the approval of dissertation topics. In the 4th semester, does not provide classroom training and practice, this time devoted entirely to scientific work, preparation and defense of the thesis.
The dissertation text (thesis) must conform to certain requirements of the faculty, and must be approved by the supervisor and the head master's program. The department sends the thesis for the external review. If all requirements are satisfied then the date of the theses defense at the State Certification Commission can be set up.
8. Curriculum of the master programme «IT in Software Engineering» (IT in SE)
To obtain a master's degree student must "earn" at least 120 credits (ECTS) in accordance with the following structure of the curriculum:
№

Disciplines

ECTS

hours

hours per week

form of control

module


Total

in auditorium

selfstudy

I year

II year


1 semester

2 semester

3 semester

4 semester


weeks in sem.


15

13

13

20




1

2

3

4

5

6

7

8

9

10

11

12


М.1.

General science block

30

1080










М.1 C

Core part (obligatory)

12

432










М.1 C.1

Philosophy and Methodology of Science

2

72

30

42

2




exam

CM


М.1 C.2

Academic Writing in English

2

72

26

46



2


exam



М.1 C.3

Information Security

4

144

44

100

3




exam

CM


М.1 C.4

Image processing and computer vision

4

144

44

100

3




exam

SM


М.1 E

Elective part, including disciplines by student choice

18

648










1

2

3

4

5

6

7

8

9

10

11

12


М.1 E.1

Principles of Technical Computing, Scientific Presentations and Publishing

4

144

30

114

2




exam

CM

М.1 E.2

Performance evaluation

4

144

38

106



3


exam

SM


Disciplines by student choice (2 of 6):

10

360









М.1 E.3

EM

5

180

38

142


3



exam

EM

М.1 E.4

EM

5

180

44

136

3




exam

EM

М.2.

Professional block

30

1152










Core part

10

540









М.2 C.1

Advanced Information Technologies

3

108

38

70


3



exam

CM

М.2 C.2

Objectoriented CASEtechnologies and DB

3

108

38

70


3



exam

SM

М.2 C.3

Parallel and Distributed Programming

4

144

38

106


3



exam

CM


Elective part, including disciplines by student choice

20

720









М.2 E.1

Mathematical Modeling of Information Systems and Processes

5

180

38

142


3



exam

CM

М.2 E.2

Seminar on IT in Engineering

3

108

40

68

1

1

1


pass

CM

1

2

3

4

5

6

7

8

9

10

11

12


Disciplines by student choice (3 of 9):

12

288









М.2 E.3

SM.el

4

144

38

106



3


exam

SM.el

М.2 E.4

SM.el

4

144

38

106



3


exam

SM.el

М.2 E.5

SM.el

4

144

38

106



3


exam

SM.el

М.3

Traineeship and research work

50

1800









М.3.1

Traineeship (research, teaching, software development)

21




6

6

9


pass


М.3.2

Research Topics

9




4

3

2


pass


М.3.3

Final Project

20







20



М.4

Final certification

10

360






10




Defense of master thesis (dissertation)









mark



Final exam









mark



Total

120

4320

600

1560

14

16

15

0




number of exams:





5

5

5





number of passes:





3

3

3




Modules and disciplines

Number of disciplines

ECTS

General Studies (Common module)

7

25

Academic Writing in English

1

2

Major Subject (Specialization module), obligatory studies

3

11

Major Subject (Specialization module), elective studies

3 of 9

12

Elective Module

2 of 6

10

Traineeship (research, teaching, software development)

3

21

Research Topics


9

Final Project, Final certification


30

Total:

16 + 3

120

Common module – CM (mandatory subjects):
№

Discipline

ECTS

1

Philosophy and Methodology of Science

2

2

Information Security

4

3

Principles of Technical Computing, Scientific Presentations and Publishing

4

4

Advanced Information Technologies

3

5

Parallel and Distributed Programming

4

6

Mathematical Modeling of Information Systems and Processes

5

7

Seminar on IT in Engineering

3

Specialization module – SM (mandatory subjects):
№

Discipline

ECTS

1

Image processing and computer vision

4

2

Performance evaluation

4

3

Objectoriented CASEtechnologies and DB

3

In the Specialization module 3 subjects should be selected from the following list:
№

Discipline

ECTS

1

Computability & Computational Complexity

4

2

Modeling and Analysis of Concurrent Systems

4

3

Principles of Model Checking

4

4

Computer Ethics

4

5

Advanced Requirements Engineering

4

6

ADSA Model Driving Engineering

4

7

Program Verification

4

8

Cloud Computing

4

9

Selected Topics in P2P Systems

4

In the Elective module (EM) 2 subjects should be selected from the following list:
№

Discipline

ECTS

1

SOA and Webservices

5

2

Algorithmic Graph Theory

5

3

Multi Agent Systems

5

4

Advanced Logic

5

5

Ubiquitous computing

5

6

XML Technologies

5

Module description
М1.C3

INFORMATION SECURITY 4 ECTS


Programme level

IT in Software Engineering (MSc. in Computer Science)


Status and period

Common module, mandatory, 1^{st} – 2^{nd} quarter (1 year, 1^{st} semester)


Teachers

Lecturer(s): Ph D. V.V. Podkolzin


Mode of delivery

14 h. of lectures, 30 h. of labs, preparation for labs, preparation of the paper and performance of a course task of 100h. offset in the 1rd semester of the 1nd year. Total workload 144 h.


Assessment

exam, test in written 40%, abstracts 30%, project assignments 30%


Aims

The module deals with modern concepts of information security and their application in ensuring information security and safe use of software. The aim of the module is to teach students to methods of information security and their use in the field of computer science. The aims of the module are the statement of the theory of information security and practice of application of algorithms of cryptoprotection.


Learning outcomes

On successful completion of the module, the students are expected to be able to:
 analyze different approaches to the solution of the problem of protecting copyright, confidentiality, authenticity and integrity of data processed in informational telecommunication systems;
 be able to apply theoretical knowledge for modeling and using (in cryptographic applications) random variables with a given distribution in the form of a program code;
 estimate a complexity of analysis for a cipher in a given context;
 legally correct apply the methods of information security in government and commercial enterprises;
 use open source packages of information security.


Content

Basic requirements to information security. Finite fields. Polynomials over the finite fields. Data series over a finite field. Pseudorandom sequences and their applications. Mathematical model of the substitution cipher. Permutation ciphers. Gamming cipher. Systems of a block ciphers. Systems of stream ciphers. Identification. Passwords. Digital signatures.



Study materials

 Alfyorov A. P, Zubov A.Yu., Kuzmin A.C., Cheremushkin A. V. Cryptography bases — M. Helios of ARV, 2002.
 Nechaev V. I. Cryptography elements (Bases of the theory of information security)  M: Vyssh. шк. 1999 .
 Belov E. B., Los V.P., Meshcheryakov R. V., Shelupanov A. A. Bases of information security. The manual for higher education institutions  M: Goryatchaya linya  Telecom, 2006.
 Malyuk A. A. Information security: conceptual and methodological bases of information security. Studies. grant for higher education institutions.  М: Goryatchaya linya Telecom, 2004.
 Kupriyanov A. I. Sakharov A.V., Shevtsov V. A. Basis of information security: studies. grant for the students of high education— M: Publishing center "Akademiya", 2006.


Language

Russian


Prerequisites

The students have to have skills of programming, elementary receptions of algorithmization and basic knowledge about the main structures of data in volume of bachelor degree courses "Programming on the COMPUTER", "Programming languages and structures of data" (or similar). Also students to know the theory of final fields and discrete math in volume of bachelor degree courses "Discrete mathematics" and "The mathematical analysis"


Module description
М.1 С.4

Image processing and computer vision 4 ECTS

Year and period

MSc. (Fundamental informatics and information technologies), 1 year, period 1

Teachers

Lecturer(s): Ph. D. A.A. Polupanov

Aims

The module is devoted to study of theoretical bases of a multimedia of technologies. The module purpose – to teach the student to develop algorithms of representation and processing of a multimedia of the applications this for the modern multimedia. The task of module is presentation of bases of the theory of a multimedia of technologies and practice of application of specific algorithms for processing of a multimedia of information.

Learning outcomes

On successful completion of the module, students are expected to be able to:
 identify a set of the abstract concepts of multimedia technologies in relating terms;
 develop methods of representation and processing for specific multimedia data;
 design software projects for a given multimedia problems;
 evaluate efficiency of representation a data multimedia on the basis of different criteria;
 use open source packages of multimedia data representation.

Content

In module bases of the information theory, mathematical cybernetics and the functional analysis, necessary for understanding of different algorithms of image processing are explained. Methods and algorithms of optimization (compression) of static images and dynamic images used in the modern formats of representation of a multimedia of data are considered. Also multimedia data types, standards of popular formats of storage graphic, sound are considered, videos of data, are provided algorithms of coding (decoding), lossless compression and with information loss.

Modes of study

Lectures of 14 h., laboratory 30 h., independent work and preparation for examination of 100 h., examination in the 1st quarter of the 1st year. Total amount 144 h.

Evaluation

25, examination written poll of 40 %, practical work and individual task of 60 %

Study materials

 Porev V. N. Computer graphics. – The Village Ptb.: BHV, 2002.
 Sviridov Yu., Tyukachev N. Delphi 5 – creation of multimedia applications. – The Village Ptb.: BHV, 2001.
 Frolov A.V., Frolov G. V. Multimedia for Windows (the management for the programmer, volume 15).  M: Dialogue MEPhI, 1995.
 Straustrup B. Programming language C ++, special prod. – SPb.: «The Nevsky Dialect». – M: "Binomial", 2008.

Prerequisites

The students who have registered in this course, should have skills of programming, own elementary receptions of algorithmization and have basic knowledge about the main structures of the courses of a bachelor degree given in volume «Programming on the COMPUTER», «Programming languages and structures of data» (or similar)

Module description
M1.E1

Principles of Technical Computing, Scientific Presentations and Publishing 4 ECTS

Programme level

Information technology in Software Development (MSc. Fundamental Informatics and Information Technologies)

Status and period

Optional ,1^{st} year, 1^{st} semester

Teachers

Ph. D. Ye.V. Kosobutskaya

Mode of delivery

Facetoface. 30 h. practical lessons, 87 h of homework/personal assignment., 27 h preparing to set off. Total student workload 144 h.

Assessment

pass/failed, test in written 30%, Preparing reports and presentations 70%

Aims

The aims of the course are to study the modern requirements for processing, design and presentation of research results by information technology for further submission to the printed (paper, analysis, Master's thesis) or oral (paper presentation).

Learning outcomes

On successful completion of the module a student is expected to be able to:
 find the best ways to solve typical math problems in research area using specialized software;
 formalize various numeric calculations and convert data to the required format and represent it in graphs and plots;
 develop and release readytouse software with the system’s builtin tools for implementation of decisions of mathematical models (are described by ODE or PDE);
 create and format document in accordance with a specified standards using publishing systems;

Content

Stages of research: choosing the direction of scientific research, search, storage, and processing of scientific information, the formulation of themes, goals and objectives of the research, theoretical and experimental research, analysis of theoretical and experimental research and the formulation of the proposals and presentation of results of scientific work. Information publications, their types and contents. Governmental and international systems of scientific, technical and patent information. Preparation of abstracts of articles in scientific journals, publication on the Internet. Rules for Master's theses. Rules for the preparation of reports and presentations. Problems of distributed document processing and solutions based on modern information technology

Study materials

 Drescher, N. Information support of scientists and engineers: a teaching aid.  St.Pt : Profession, 2008. – 463 p.
 Rassolov E. M. Law and the Internet: theoretical problems  M: Norma, 2009. – 393 p.
 Thero Sh Visibility on the Internet: Search Engine Optimization.  St.Pt. , M.: SymbolPlus, 2009.  285 p
 Kuzin F.A. Master's thesis: a technique of writing, design rules and order of protection.  M.: "Os89", 1999,  296 p.
 Kuznetsov, E.N. Internet in the educational and scientific work: a practical guide.  M: Dashkov and K 2005. – 191p.

Language

Russian, English

Prerequisites

Students enrolled in this course should possess good skills in MS Office, Internet.

Module description
М1.E2

PERFORMANCE EVALUATION 4 ECTS

Programme level

IT in Software Engineering (MSc. in Computer Science)

Status and period

Common module, mandatory, 1^{st} – 2^{nd} quarter (2 year, 3^{rd} (fall) semester)

Teachers

Lecturer(s): Prof. Alexander Mikov

Mode of delivery

Laboratory work – 38 h. (3 h. per week), prelaboratory work, selfstudy and writing reports – 108 h. total, exam in 2^{nd} semester. Total student workload 144 h.

Assessment

Exam; laboratory work assignments 30%, individual tasks assignments 20%, class presentations assignment 20%, final exam 30%

Aims

Aims of this course are to gain insight, through the use of simple models, into the performance and dimensioning of computer and communication systems. Simple queuing models are studied and used for the analysis and evaluation of communication systems, such as switches, access mechanisms in local area networks and broadband communication networks. Different modeling approaches are considered, such as Markov chains, queuing networks and simulation. Various solution methods (such as analytical, numerical and simulation) and approximations are used to evaluate these models and to understand the behavior of the systems being investigated.

Learning outcomes

On successful completion of the module, the students are expected to be able to:
 § translate simple systemrelated performance problems into adequate performance models and (in some cases) solve these model with analytical means;
 § analytically solve simple performance models of M/M/1 and M/G/1 type;
 § analytically solve simple open and closed queuing networks (Jackson queuing networks and GordonNewell queuing networks, respectively);
 § use methods of an eventbased discreteevent simulation;
 § compare modelbased performance evaluation with measurements and simulations to investigate performance problems.

Content

 Computer architectures. Computer networks. Data flows in computer equipment. Effectivity of computational processes. Mathematical models of data flows. Stochastic processes. Markov chains. Probability distributions of time intervals. Independent random values. Probability description of server blocks.
 Queuing models. Poisson oneserver queuing system M/M/1. Waiting time distribution. Idle time. Properties of M/G/1 type systems. Multiserver queuing systems. Queuing systems with priorities.
 Queuing networks. Markovian models of stochastic processes in queuing networks. Input flows, output flows. State transition matrix.
 Simulation methods for performance prediction. An eventbased discreteevent simulation. Pseudorandom numbers generating. Simulation data processing, statistical methods. Simulation languages and software.
 Use of benchmarks to performance evaluation. LINPACK and other packages as tool for measurements.

Study materials

 Mikov A.I. Performance evaluation. KubSU Press, 2013.
 Mikov A.I. Distributed computer systems and algorithms. KubSU Press, 2009.
 Tel J. An introduction to distributed algorithms. Cambridge Univ. Press.
 Andrews G. Foundations of Multithreaded, Parallel, and Distributed Programming. AddisonWesley, 2000.

Language

English

Prerequisites

Students are expected to have working knowledge in probability theory and statistics, as typically taught in introductionary courses on probability theory, so that they can compute expected values, variances, etc. a basic understanding of layered communication protocols/systems.

Module description
М.2 С.1

ADVANCED INFORMATION TECHNOLOGIES 3 ECTS

Year and period

MSc. (Fundamental informatics and information technologies), 1 year, period 2

Teachers

Lecturer(s): Ph. D. A.A. Polupanov

Aims

The module is devoted to the analysis and study of methodological bases of creation of the modern information technologies. The course purpose – to teach the student to understand the modern information technologies from the point of view of their design. The task of module is presentation of theoretical bases of information technologies, the modern standards of their creation, and also reference models of information technologies.

Learning outcomes

On successful completion of the module, students are expected to be able to:
• define a set of the abstract concepts of information technologies relating to given content;
• apply standard of IT creation for performance a specific data domain;
• develop models of information technology for a given problem;
• evaluate the applicability of specific IT model for development a problem oriented software;
• design a set of tests for particular IT software.

Content

In module the systematic study of scientific and methodical bases and system of standards of the information technologies (IT), including study of global concepts of a development of the region of the IT, reference models of primary partitions of IT, the principles of creation of the modern system of the IT standards, the principles of profiling and a taxonomy of profiles is given, to methodology of testing of implementations of IT to standards and profiles, and also classification of information technologies is given.

Modes of study

Lectures of 14 h., laboratory 26 h., independent work and preparation for examination of 82 h., examination in the 2nd quarter of the 1st year. Total amount 122 h.

Evaluation

25, examination written poll of 40 %, practical work and individual task of 60 %

Study materials

 Sukhomlin V.A. «The basic principles of Global information infrastructure (GII)». – M: Moscow state university, 1997.
 Semenov A.S. Information technologies: the obyektivnofocused modeling: Ucheb. Posobiye for higher education institutions.  M: STANKIN, 2000
 Turmoils of, Maksimchuk R. A., Angle M. U., Young B. Dzh., Konallen D., Houston K.A. Objectoriented the analysis and design with examples of appendices, the 3rd prod. – M: Williams, 2008.

Prerequisites

The students who have registered in this course, should have skills of programming, own elementary receptions of algorithmization, have basic knowledge about the main information technologies and processes proceeding in them in volume of courses of a bachelor degree «Information technologies», «The theory of information processes and systems»

Module description
M.2.C.2

Objectoriented CASEtechnologies and databases
3 ECTS

Year and period

MSc. (Fundamental Computer Science and Information Technology), 1 year, period 2, quarter 2

Teachers

Lecturer(s): Ph D. V.V. Podkolzin

Aims

The module deals with modern concepts of objectoriented CASE technologies of development of information systems. The aim of the module is to teach the student to methods of development of projects on the basis of objectoriented approach. The objective of the module is to teach students to create the finished project, including databases, with the help of objectoriented CASE tools.

Outcomes

On successful completion of the course, students are expected to be able to:
 apply objectoriented approach to decomposition of information;
 estimate a choice of CASE tools for the given project;
 develop a new project with assistance of objectoriented CASE tools;
 justify application of objectoriented approach to creation of a certain project;
 create databases with assistance of objectoriented CASE tools;
 modify a software project according to the specified requirements.

Content

Objectoriented paradigm of development of OOS. Requirements to system developments. Charts using for the analysis of devices. A model development of systems behavior. Interaction description. Chart of components. Creation of actuation mechanisms. Creation of the software project.

Modes of study

38 h. of labs, preparation for labs, preparation of the paper and performance of a course task of 70h. offset in the 2rd semester of the 1nd year (quarter 2). Workload 108 h.

Evaluation

pass/fail, abstracts 40%, project assignments 60%

Study materials

 Aleksandrov D. V. Tools of information management. CASE technologies and the distributed information systems. M manual: Finance and statistics, 2011.  225 pages.
 Homonenko A.D. Tsygankov V. M., Maltsev M. G. Databases: The textbook for higher educational institutions. – SPB. CROWN, 2004.
 Trofimov S. A. CASE technologies: practical work in Rational Rose. Prod. the 2nd. – M: Bin Press, 2002.
 J. Rambo, M. Blakh. UML 2.0 Objectoriented modeling and development. 2nd prod. – SPb. : St. Petersburg, 2007

Prerequisites

The students have to have skills of programming, elementary receptions of algorithmization and basic knowledge about the main structures of data in volume of bachelor degree courses "Programming on the COMPUTER", "Programming languages and structures of data" (or similar). Also students to know the theory of databases in volume of courses of a bachelor degree of "Database" and "Development of clientserver software"

Module description
М2.C3

PARALLEL AND DISTRIBUTED PROGRAMMING 4 ECTS


Programme level

IT in Software Engineering (MSc. in Computer Science)


Status and period

Common module, mandatory, 3^{rd} quarter (1 year, 2^{nd} semester)


Teachers

Lecturer(s): Prof. Alexander Mikov


Mode of delivery

Laboratory work – 3 h. per week, prelaboratory work, selfstudy and writing reports – 108 h. total, exam in 2^{nd} semester. Total student workload 144 h.


Assessment

Exam; laboratory work assignments 30%, individual tasks assignments 20%, class presentations assignment 20%, final exam 30%


Aims

Module deals with modern concepts and techniques of parallel and distributed programming. Programming topics are focused on three approaches: distributed programming by means of the MPI library, multithreading programming by means of the OpenMP software interface, parallel programming of GPUs with CUDA. The aims of the module are to produce the understanding main features of the software mentioned above and demonstrate the basic techniques of parallelization of various computational tasks.


Learning outcomes

On successful completion of the module, the students are expected to be able to:
 compare basic architectures of highperformance parallel computers and computer networks for algorithms execution;
 analyze main features of basic tools of parallel programming by comparison alternatives (multicast, eventbased messaging, etc.);
 design correct and scalable parallel algorithms for typical numerical and data manipulation problems by applying basic techniques of computational tasks parallelization (taskbased and dataparallel decomposition, ect.)
 use specialized software to run and debug parallel programs with;
 operate on parallel computer system (i.e. computer cluster) by elaborating original software for typical tasks;
 demonstrate within laboratory work the ability to work autonomously.


Content

Goals of parallelism. Parallel decomposition. Taskbased and dataparallel decomposition. Communication and Coordination. Consistency in shared memory models. Message passing. Atomicity. Mutual exclusion using locks, semaphores, monitors, or related constructs.
Parallel Algorithms, Analysis, and Programming. Constructs for creating parallelism, communicating, and coordinating. Critical paths, work and span, and the relation to Amdahl’s law. Speedup and scalability. Parallel algorithmic patterns (divideandconquer, map and reduce, others). GPUs and the CUDA technology.
The basic concepts of the MPI technology. MPI software. Pointtopoint communications, collective communications, derived data types, groups and communicators, virtual topologies.
The OpenMP interface. A model of a parallel OpenMP program and the data model. Loop parallelization, parallel sections. Synchronization: barriers, critical sections and locks.
Distributed architectures and technologies. Grid, cluster systems. Distributed message sending: data conversion and transmission; sockets; message sequencing; buffering, retrying, and dropping messages. Core distributed algorithms: election, discovery. Faulttolerant algorithms.



Study materials

 Mikov A.I. Distributed computer systems and algorithms. KubSU Press, 2009.
 Tel G. Introduction to distributed algorithms. Cambridge Univ. Press, 2000.
 Tanenbaum A., Steen van M. Distributed systems: Principles and paradigms. – St.Petersburg. : Piter, 2003.
 Voevodin V.V., Voevodin Vl.V. Parallel computing.  BHV: St.Petersburg, 2002.
 Antonov A.S. Parallel programming using MPI technology. MSU Press, 2004. (in Russian)
 Antonov A.S. Parallel programming using OpenMP technology. MSU Press, 2009. (in Russian)
 Andrews G. Foundations of Multithreaded, Parallel, and Distributed Programming. AddisonWesley, 2000.
 Message Passing Interface Forum. MPI: A messagepassing interface standard. International Journal of Supercomputer Applications, 8 (3/4), 1994. Special issue on MPI.
 OpenMP Application Program Interface / Version 3.0 May 2008. OpenMP Architecture Review Board, 2008.
 http://parallel.ru


Language

Russian


Prerequisites

Students have to possess basic programming skills, demonstrate basic algorithmic thinking and know basic concepts of data structures. Recommended BSc. course unit “Programming Languages and Data Structures”


Module description
M2.E1

MATHEMATICAL MODELING OF INFORMATION SYSTEMS AND PROCESSES

Program level

IT in Software Engineering (MSc. in Computer Science )

Status and period

Optional, 2^{nd} quarter (1 year, 2^{nd }semester )

Teachers

Lecture(s): PhD. Olga N. Lapina
Assistant(s):

Mode of delivery

Lectures – 12h., laboratory work – 26h., prelaboratory work, performance of tasks, preexam work – 142h. Total amount 180h.

Assessment

Grade 25, written test 40%, reports 30%, project assignments 30%.

Aims

The module focuses on the study of recent conceptions of mathematical modeling of IT and processes. The aim of the module is to teach students to explore of knowledge about aims and methods of mathematic model building; methods of processing and analysis of the simulation result. The objective of the module is establishing a view about work with recent instrumental modeling means and development methods of computer models.

Learning outcomes

On successful completion of the module, student is expected to be able to:
 outline the main provisions of a systematic approach to the analysis of information systems and processes as object modeling as a substantive theoretical description of systems analysis and examples of their application;
 describe the general sequence of steps carried out in the development, implementation and study of computer models of information systems and processes, formulating goals and objectives of each stage, as well as pointing out the necessary conditions for the application of different methods and modeling techniques;
 characterize the function and capabilities of various mathematical modeling of information systems and processes, formulating the basic theoretical justification methods, and describing the conditions, methods and characteristics of their practical application within existing goals and objectives of modeling;
 justify the choice of a suitable method for the simulation of a particular information system or process within existing goals and objectives of modeling;
 compare modern tools of computer simulation in terms of their purpose, features, characteristics and application for the construction and study of models of different information systems and processes;
 use computer simulation tools for modeling of information systems and processes, planning and conducting experiments, and to perform statistical analysis and validation of simulation results.

Content

The system as a subject of study. The simple, complex and high systems. The model, the principles of building models. The goals and objectives of the information systems modeling. The classification of models. The principles of a systematic approach to modeling. Life cycle of the information system. Life cycle of the model. Perspectives of development of the theory of modeling and its applications.
Typical mathematical models of information systems and processes. Mathematical models of continuous systems. Mathematical models of discrete systems. Planning Science Experiment with models of systems. Dynamic models of information systems. The concept of sustainability information processes. Methodology of simulation. Stages of the simulation. Processing and analysis of the simulation results. Advanced software tools of simulation systems and processes.
Mathematical models of information processes in organizational domains. Document system. Purposeful system. Classical mathematical models of goals and evaluations. Regulatory system. Model regulatory system. Modeling constraints of information systems based on the use of regulatory agents and deontic logic. Types of restriction of IT

Study materials

 Mikov A.I. Information processes and regulatory system in IT: Mathematic models. Problems of engineering. New methods. – M. Book House “Librokom”, 2013, 56p.
 Izbachkov S.Y., Petrov V.N. Information Systems. StP.: Piter, 2008, 655p.
 Sovetov B.Y., Yakovlev S.A. Modeling of systems: Textbook for universities. – M.: High School, 2005, 343p.
 Sovetov B.Y., Yakovlev S.A. Modeling of systems. Practical work: Tutorial for universities – M.: High School, 2005, 295p.
 Kolesov Y.B., Senichenkov Y.B. Modeling of systems: Dynamic and hybrid systems. StP.: BHVPeterburg, 2006, 224p.

Prerequisites

Recommended BSc. Course units of discrete mathematics, the basics of objectoriented design and programming.

Module description
М2.E2

ALGORITHMIC GRAPH THEORY 4 ECTS


Programme level

IT in Software Engineering (MSc. in Computer Science)


Status and period

Elective module, 3^{rd} quarter (2 year, 3^{rd} semester)


Teachers

Lecturer(s): PhD. Konstantin V. Malykhin


Mode of delivery

Lectures 14 h., Laboratory work – 30 h. (3 h. per week), prelaboratory work, selfstudy and writing reports – 100 h. total, exam in 2^{nd} semester. Total student workload 144 h.


Assessment

Exam; laboratory work assignments 30%, individual tasks assignments 20%, class presentations assignment 20%, final exam 30%


Aims

The module focuses on the study of modern graph theory algorithms .
The aims of the course:
 study the basic concepts and get the basic information about the properties of the main types of graphs.
 teach students modern algorithms on oriented trees.
 consider methods for solving visualization and image graphs in the plane.


Learning outcomes

On successful completion of the module, the students are expected to be able to:
 Select an optimal algorithm for solving the problems of information processing.
 own methods of solving problems of rounds graphs and trees and the generation of trees to solve a large class of problems in programming.
 Use algorithms for acyclic graphs in IT.
 Conduct graph visualization on the plane to use the results in different applications in the programming.


Content

Undirected graphs. Digraphs and networks. Oriented trees. Detours graphs and trees in depth and width. Generation of trees. Frames. Acyclic graphs. The basic properties and algorithms. Transitive closure and transitive reduction. Congruent closure equivalence. Finding immediate ancestors. Hertz graph. Visualization. Objectives and methods of visualization. Planar graphs and images. State to state kinetics drawing directed graphs. Hierarchical graphs and graph models. Visualization systems.



Study materials

 Kasyanov V.N., Evstigneev V.A. Graphs in programming: processing, visualization and application.  St., BHVPetersburg, 2003, 1104 p.
 Cormen, T., R. Rivest, Leyzerson Charles K. Stein Algorithms: Design and analysis.  M. Williams, 2005, 1296 p.
 Nechepurenko M.I., Popkov, V.K. and others, Algorithms and programs for solving problems on graphs and networks.  Novosibirsk: Nauka, 1990, 515 p.


Language

Russian


Prerequisites

Recommended BSc. Course units of discrete mathematics, programming


Module description
М2.E3

MODELING AND ANALYSIS OF CONCURRENT SYSTEMS 4 ECTS


Programme level

IT in Software Engineering (MSc. in Computer Science)


Status and period

Common module, mandatory, 1^{st} – 2^{nd} quarter (2 year, 3^{rd} semester)


Teachers

Lecturer(s): Prof. Alexander Mikov


Mode of delivery

Laboratory work – 144 h. (3 h. per week), prelaboratory work, selfstudy and writing reports – 108 h. total, exam in 3^{rd} semester. Total student workload 144 h.


Assessment

Exam; laboratory work assignments 30%, individual tasks assignments 20%, class presentations assignment 20%, final exam 30%


Aims

This course introduces a process calculus for the specification of concurrent systems. It is shown how bisimulation and observational equivalence provide powerful analysis tools for such specifications. It is shown how these principles play a role in an industrial context. Therefore process algebra is enhanced with data. Several analysis techniques are presented to analyze properties of data and process specifications.


Learning outcomes

On successful completion of the module, the students are expected to be able to:
 explain how process algebra can be applied to model concurrent systems;
 study literature where in different steps concurrent phenomena are transformed into abstract formalisms;
 analyze real world information processes, and transform informal description to resulting mathematical structures;
 manipulate mathematical structures in a given context, in order to obtain a specific goal (e.g. giving overview, generating a solution)


Content

The p – Calculus. Behaviour of automata. Sequential processes and bisimulation. Concurrent processes and reaction. Transitions and strong equivalence. Theory of observation equivalence and examples. Mobility. Commitments and strong bisimulation.
Space and motion of communicating agents. Mathematical framework. Bigraphs. Algebra for bigraphs, elementary bigraphs, normal forms, derived operations. Bigraphical structures, categories. Reaction and transitions, bigraphical reactive systems. Behaviour in link graphs. Syntax, reactions, transitions for CCS in bigraphs.
Processes, implementation, traces. Operations on traces. Specifications. Concurrency. Mathematical theory of deterministic processes. Nondeterminism. Sequential processes. Laws. Interrupts, assignments. Shared resources. Sharing by interleaving. Shared storage.
Petri nets as models of concurrent sequential processes in computer systems. Colored Petri nets.



Study materials

 Milnor R., The Space and Motion of Communicating Agents. Cambridge University Press, 2009.
 Milnor R., Communicating and Mobile Systems: the p – Calculus. Cambridge University Press, 1999.
 Hoare C.A.R., Communicating Sequential Processes. Prentice Hall International, 1985.
 Mikov A.I., Information Processes and Normative Systems in IT, URSS, 2013.


Language

English


Prerequisites

At the beginning of the course the student is expected to:
 be interested and motivated to work with mathematical formalisms
 accept the challenge to work on unfamiliar assignments and be willing to take risks, and not quit lightly
 be able to apply formal methods on the level
 be able to deal with mathematical concepts like sets, relations, automata, and induction proofs


Module description
M2.E4

SERVICE ORIENTED ARCHITECTURES AND WEBSERVICES
5 ECTS


Year and period

MSc. (Fundamental Informatics and Information Technologies), 1 year, 34 quarter


Teachers

Lecturer(s): Ph. D. S.G.Sinitsa


Aims

The aim of the course is to teach students to use webservice technologies and architectural styles.
The objectives of the course:
 Introduce students to webservice technologies.
 Introduce students to webservice architectural styles.
 Teach students to design software using service oriented architecture.
 Teach students to use web services using popular cloud platforms, social networks, search engines and payment systems APIs as an examples.
 Teach students to develop and use web services on practice across various popular platforms and programming languages.



Outcomes

Upon successful course completion students are expected to be able to:
 select most suitable web service technologies and tools for given software projects development;
 determine relevant web service architectural style for certain software projects;
 design distributed software systems with service oriented architecture in the form of structure and deployment diagrams;
 implement web service clients for given web projects;
 develop software with service oriented architecture as a part of a team project.


Content

Web service technologies and tools. Web service architectural styles. Software design using service oriented architecture. Using public web services in practice. Custom web services development. Team work.



Modes of study

Lectures 12 h., laboratory 26 h., prelaboratory work and project preparation 142 h., exam in 4th quarter 1st year. Total amount 180 h.


Evaluation

25, exam in written 40%. Practical work and individual project assignments 60%


Study materials

Sinitsa S.G. Webprogramming and webservices / Krasnodar: Kuban State University, 2013. 160 p. (in Russian)
Web services and API specifications from official sites of given services.
Drupal Services and Java Axis Documentation.


Prerequisites

Programming skills for two or more languages, understanding of basic networking and web technologies.


Module description
M2.E5

Principles of model checking
4 ECTS


Year and period

MSc. (Fundamental Informatics and Information Technologies) 2 year, 12 quarter


Teachers

Lecturer(s): Ph. D. S.G. Sinitsa


Aims

The aim of the course is to provide students with general overview of model checking principles.
The objectives of the course:
 Overview of Model Checking verification principles.
 Introduction to systems verification in practice.



Outcomes

Upon successful course completion students should be able to:
 analyze an applicability of model checking for given program verification;
 annotate a program for verification in suitable formal language;
 apply model checking for program verification by using certain software tool;
 design and verify realtime systems by given formal models.


Content

Verification problem, temporal logic, algorithms for model checking, modeling reactive systems, symbolic verification, quantitative analysis and real time systems, model checking application in practice.



Modes of study

Lectures 12 h., laboratory 26 h., prelaboratory work and project preparation 106 h., exam in 2 quarter 2nd year. Total amount 144 h.


Evaluation

25, exam in written 40%. Practical work and individual project assignments 60%


Study materials

Karpov Y. G. Model Checking. Verification of parallel and distributed software / Spb.: BHVStPeterburg, 2010.
Spin Model Checker manual and examples. URL: http://spinroot.com/spin/Man


Prerequisites

Students have to know basic concepts of mathematical logic, graph theory, finite automata theory.


