1
0
forked from SPC/spc-site

Update member pages. Add date

This commit is contained in:
Alexander Nozik 2022-12-21 23:26:27 +03:00
parent ade8f61aa0
commit fa294bef0f
No known key found for this signature in database
GPG Key ID: F7FCF2DD25C71357
10 changed files with 223 additions and 40 deletions

View File

@ -22,32 +22,43 @@ language: en
## Courses in 2022-2023:
### Scientific literature seminar
### [Scientific literature seminar](#)
*curated by [Aleksandr Svetlichnyi](team#svetlichnyi)*
curated by Aleksandr Svetlichnyi
[Telegram](https://t.me/spc_seminar)
### [Statistical methods and data analysis](https://t.me/mipt_statmethods)
Program: [SPC-A-6](https://npm.mipt.ru/youtrack/articles/SPC-A-6)
### [Statistical methods and data analysis](${resolvePageRef("education.stat-methods")})
*by [Alexander Nozik](team#nozik) and [Vladimir Palmin](team#palmin)*
by Alexander Nozik and Vladimir Palmin
Actual program: [SPC-A-6](https://npm.mipt.ru/youtrack/articles/SPC-A-6)
[Telegram](https://t.me/mipt_statmethods)
### Численные методы
Program: [SPC-A-3](https://npm.mipt.ru/youtrack/articles/SPC-A-3)
### [Introduction to scientific programming in Kotlin](${resolvePageRef("education.kotlin")})
*by [Alexander Nozik](team#nozik)*
by Konstantin Tikhonov and Rolan Grinis
Actual program: [SPC-A-6](https://npm.mipt.ru/youtrack/articles/SPC-A-6)
### Instruments of development
Program: [SPC-A-5](https://npm.mipt.ru/youtrack/articles/SPC-A-5)
[Telegram](https://t.me/kotlin_mipt)
curated by Alexander Nozik
### [Numeric methods](https://npm.mipt.ru/youtrack/articles/SPC-A-3)
*by Konstantin Tikhonov and Rolan Grinis*
### [Advanced Python](https://t.me/mipt_npm_python)
Program: [SPC-A-4](https://npm.mipt.ru/youtrack/articles/SPC-A-4)
Actual program: [SPC-A-3](https://npm.mipt.ru/youtrack/articles/SPC-A-3)
by Mikhail Zelenyy
### [Instruments of development](https://npm.mipt.ru/youtrack/articles/SPC-A-5)
*curated by [Alexander Nozik](team#nozik)*
### Computational finance
Program: [SPC-A-10](https://npm.mipt.ru/youtrack/articles/SPC-A-10)
Actual program: [SPC-A-5](https://npm.mipt.ru/youtrack/articles/SPC-A-5)
by Rolan Grinis
### [Advanced Python](https://npm.mipt.ru/youtrack/articles/SPC-A-4)
*by Mikhail Zelenyy*
Actual program: [SPC-A-4](https://npm.mipt.ru/youtrack/articles/SPC-A-4)
[Telegram](https://t.me/mipt_npm_python)
### [Computational finance](https://npm.mipt.ru/youtrack/articles/SPC-A-10)
*by Rolan Grinis*
Actual program: [SPC-A-10](https://npm.mipt.ru/youtrack/articles/SPC-A-10)

View File

@ -0,0 +1,91 @@
---
type: page
title: Introduction to scientific programming in Kotlin
pageName: SPC.education.kotlin
transformation: snark.basic
language: en
---
Recording of lectures in 2019 is available [here](https://www.youtube.com/playlist?list=PL4_hYwCyhAvZzRpbK4iTy9S6_OWZNEiVk).
## Course purpose
As physics (and science in general) develops, computer methods are becoming more and more important in the daily work of a scientist. In conducting an experiment, computer methods and tools are used at all stages of the work: planning the experiment, preparing the installation, collecting data, processing and publishing it. In such a situation, the quality of the programs used is beginning to play an important role. In addition, there is a need for specialists who understand both science and programming and who develop and improve software tools.
Most students (and scientists) are more or less familiar with the basic tools of a programmer, for example, writing simple programs in Python. This is not enough for serious scientific development, so the course aims at a more advanced understanding of hardware, program structure and modern development tools.
As the main programming language we will use `Kotlin`, which appeared recently and managed to gain a large market share. Kotlin has several significant advantages as an initial language for advanced scientific programming:
* Strict typing, a clearly constructed system of types.
* High performance.
* Automatic memory management.
* Fully compatible with a huge number of Java libraries.
* Better toolkit.
* Extensive community.
* Possibility of commercial use.
## Lecturer
[Alexander Nozik](https://www.researchgate.net/profile/Alexander_Nozik) - experimental physicist, data analysis specialist in physical experiment and scientific software.
Senior researcher at the INR RAS, Deputy Head of the MIPT LNPM. [JetBrains Research](https://research.jetbrains.org/groups/npm/) team leader.
[Andrey Shcheglov](https://www.linkedin.com/in/andreyshcheglov/?locale=en_US) - Senior Software Engineer at JetBrains.
## Course format
In 2020, the course is held with the participation of JetBrains and the support of JetBrains Research. The most active students will have the opportunity to participate in summer internships at JetBrains. There is also an opportunity for senior students to do research at the MIPT Laboratory of Nuclear Physics Experiments Methods (participant of JetBrains Research) and at the JetBrains Moscow office.
In this course we will learn to work in Kotlin language and apply it to scientific problems. We will focus on practical aspects and examples, so that no additional knowledge is needed to understand it. For practical examples we will use the development environment [IntelliJ IDEA Community Edition](https://www.jetbrains.com/idea/).
All questions related to the course will be discussed in telegram groups [@mipt-npm](https://t.me/mipt_npm) (scientific) and [Kotlin at MIPT](https://t.me/joinchat/EpV1201A_i0rTOCxHHnxXQ) (any questions about Kotlin).
All those wishing to participate should complete the [form](https://docs.google.com/forms/d/e/1FAIpQLSeNZT8B90pT6fM9oABHFbrtv6pKfoYKfO-ANAjLlgWynMnh_g/viewform).
## Course content
1. **From hard to soft**
1. Program as a set of instructions. Evolution of programs.
2. Memory structure. Segmentation fault.
3. Programming paradigms. Genealogy of languages.
4. Virtual machines, byte-code.
5. Compilation and optimization.
6. Static and dynamic linking. Libraries.
7. Program structure. Entry points.
2. **The tools of the modern programmer**
1. Automatic assembly systems.
2. Version control systems.
3. Integrated development environments.
3. **Kotlin language**
1. Variables, classes and objects.
2. Control flow. Procedural and functional approach.
3. Short circuits.
4. Data structures and operations on them.
5. Properties and Delegates.
6. Parametric types.
7. Extensions.
8. Boxing.
9. Multiplatform projects
4. **Program Architecture**
1. Abstractions and interfaces.
2. basics of collective development with the help of modern tools.
3. Ideology of object programming. Separation of behavior.
4. Ideology of functional programming.
5. **Scientific programming**.
1. Basics of numerical methods. The concept of numerical accuracy. Complexity of algorithms.
2. Numerical differentiation and integration.
3. Random Number Generators and Monte Carlo Modeling.
4. High-performance parallel and competitive computing.
5. The problem of I/O and the main methods to solve it.
6. Data collection systems. Protocols of data exchange.
7. Basics of work with big data.
8. Streaming data processing.
## Reporting
The offset is held in the form of a presentation based on the materials of an individual project. Interim reporting in the form of assignments is also provided.
## Recommended literature
* [Official documentation(en)](https://kotlinlang.org/docs/reference/)
* [Official documentation(ru)](https://kotlinlang.ru/)
* [Kotlin in action](https://dmkpress.com/catalog/computer/programming/java/978-5-97060-497-7/)

View File

@ -0,0 +1,79 @@
---
type: page
title: Statistical methods and data analysis
pageName: SPC.education.statMethods
transformation: snark.basic
language: en
---
## The purpose
Probability theory and mathematical statistics are an integral part of modern research. Calculation of errors, correct presentation of the result, risk assessment - all these are important components of the work of a scientist. At the same time, as practice shows, many scientists (and not just students) complain about the lack of practical skills in this area. This is due to the fact that the teaching of the theoretical aspect of probability theory is often well-placed in technical universities, but the purely practical aspect is completely overlooked.
In our course, we will try to analyze in detail the issues of the practical application of the statistical methods of in planning and processing the results of a physical experiment (using specific examples). Theoretical calculations will be mainly excluded from lectures and left for independent study.
## Course format
The course is planned in the optional format once a week, while lectures will be held every second week, and practical classes (seminars) will be held between the lectures, discussing examples and solving problems from modern experimental physics and everyday life (including laboratory work) .
Announcements of important events, as well as discussion of any issues related to the course, are available in the Telegram group (<https://t.me/mipt_statmethods>).
[Materials](https://github.com/mipt-npm-study/stat-methods)
## Course structure (preliminary program)
1. **Statistical decision-making theory.**
1. Decisions in deterministic tasks.
2. Decisions in non-deterministic tasks, risk function.
3. Conditional probability, decision making strategies.
2. **Basic concepts of probability theory.**
1. Definitions of probability.
2. Function of plausibility.
3. Point and interval estimates of distribution parameters.
4. Confidence intervals.
3. **Errors in physical experiment.**
1. Statistical and systematic errors.
2. Properties of distributions at replacement of variables.
3. Uncorrector stacking.
4. Adding results of various experiments.
4. **Properties of distributions.**
1. Poisson's binomial distribution and distribution.
2. Normal distribution and its properties.
3. Average values, moments of distributions.
5. **Checking statistical hypotheses.**
1. Functions of random variables.
2. Statistical criteria and their properties.
3. Methods of criteria construction.
4. Criteria of data agreement with the theory.
6. **Evaluation of parameters.**
1. Parameter criteria.
2. Maximum probability and chi-square method.
3. Using the probability function to construct the Chi-square maximum and Chi-square maximum. Interval estimates.
4. Interval estimates in the case of normal distribution.
7. **Modern data analysis methods (optional).**
1. Fitting of experimental curves. Criteria of phytate quality. Computer methods for solving optimization problems.
2. Multiparameter analysis. Analysis of correlations.
3. Fisher Information and its Application. Maximum information and its application.
the border between Rao and Kramer.
4. Two approaches to probability: frequency approach and subjective probability. The problem of unique events.
5. Using a computer to analyze experimental data.
## Reporting
The test takes place in the form of a presentation based on the materials of an individual project. Each student has the opportunity to prepare a report analyzing the results of a particular real or thought experiment (you can take laboratory work).
## Recommended literature
* The main textbook for the course - W. Idieu, D. Dryard, F. James, M. Ruth, B. Sadule.
*Statistical methods in experimental physics* M.: Atomizdat, 1976. The Russian-language edition of the book is a bibliographical rarity, but the English version is republished every few years. In addition, an electronic version of the Russian-language edition is available (including the course materials on Google-drive).
* A lot of useful information is contained in the introductory chapters to the MIPT laboratory workshop for the 1st and 3rd courses.
* In concentrated form, information on probability theory and mathematical statistics can be found in the online version of the Particle Data Group (PDG) handbook of particle physics: <http://pdg.lbl.gov/2014/reviews/rpp2014-rev-probability.pdf>; <http://pdg.lbl.gov/2014/reviews/rpp2014-rev-statistics.pdf>.

View File

@ -11,9 +11,7 @@ image: images/people/nozik_2.png
* PhD in particle physics.
* Director of [Scientific Programming Centre](/).
* Senior researcher at https://npm.mipt.ru.
* (ex) Team lead at [JetBrains Research](https://research.jetbrains.org/groups/npm/).
* Google developer expert in Kotlin.
* Teacher of General Physics, Data Analysis and Kotlin at [MIPT](https://mipt.ru/).
email: <a href="mailto:&#100;&#105;&#114;&#101;&#099;&#116;&#111;&#114;&#064;&#115;&#099;&#105;&#112;&#114;&#111;&#103;&#046;&#099;&#101;&#110;&#116;&#101;&#114;">&#100;&#105;&#114;&#101;&#099;&#116;&#111;&#114;&#064;&#115;&#099;&#105;&#112;&#114;&#111;&#103;&#046;&#099;&#101;&#110;&#116;&#101;&#114;</a>
@ -28,9 +26,9 @@ email: <a href="mailto:&#100;&#105;&#114;&#101;&#099;&#116;&#111;&#114;&#064;&#1
## About me
When I finished the school, I had two choices: I liked physics and I liked programming. In the end I decided that physics is more interesting. Now I am doing programming in physics. Currently I am doing software and physical data analysis for a number of experiments in particle physics (Troitsk nu-mass, IAXO and other experiments). I am leading development of scientific libraries and leading the development of new simulation software and models.
When I finished the school, I had two choices: I liked physics and I liked programming. In the end I decided that physics is more interesting. Now I am doing programming in physics. Currently, I am doing software and physical data analysis for a number of experiments in particle physics (Troitsk nu-mass, IAXO and other experiments). I am leading development of scientific libraries and leading the development of new simulation software and models.
The laboratory at MIPT, we created in the last years includes young passionate researchers in different fields connected to particle and nuclear physics methods. The aim of the laboratory is to prepare the new generation of researchers, familiar with modern scientific tools and able to develop new ones.
The [laboratory](https://npm.mipt.ru/) and the [centre](/) at MIPT, we created in the last years include young passionate researchers in different fields. My aim is to prepare the new generation of researchers, familiar with modern scientific software tools and able to develop new ones.
## Social
@ -52,13 +50,18 @@ The laboratory at MIPT, we created in the last years includes young passionate r
* INR RAS Senior researcher, 2012present
* MIPT Assistant, 20132018, The department of general physics laboratory practice and seminars. Special courses on programming and statistics.
* MIPT Associate professor, 2019present
* MIPT Senior researcher, 2019present, Deputy head of the nuclear physics methods laboratory.
* JetBrains Research, 2020present, Head of the research group.
* MIPT Senior researcher, 20192022, Deputy head of the [nuclear physics methods](https://npm.mipt.ru/) laboratory.
* JetBrains Research, 20202022, Head of the research group.
* SPC MIPT, 2022-present, Director.
## Other experience
* [Society of Scientific Workers](http://onr-russia.ru/), 2012-2022, member, board member, secretary of the board.
* Google Developer Expert in Kotlin, 2021-2022.
## The code
* Private GitHub account: https://github.com/altavir
* Laboratory / centre GitHub account: https://github.com/mipt-npm
* Private GitHub account: https://github.com/altavir (blocked by GitHub for working at MIPT).
* The Centre GitHub account: https://github.com/SciProgCentre
## Achievements
@ -70,9 +73,9 @@ The laboratory at MIPT, we created in the last years includes young passionate r
## Publications
* ORCID: https://orcid.org/0000-0001-9075-0080
* Scopus ID: 24071435300
* Scopus ID: [24071435300](https://www.scopus.com/authid/detail.uri?authorId=24071435300)
* Web of Science ID: H-3844-2019
## Keywords
Particle physics, Neutrino, Data analysis, Mathematical statistics, Scientific programming, Java, Kotlin
Scientific programming, Java, Kotlin, Particle physics, Neutrino, Data analysis, Mathematical statistics

View File

@ -2,8 +2,5 @@
* PhD in particle physics.
* Director of [Scientific Programming Centre](/).
* Senior researcher at https://npm.mipt.ru.
* (ex) Team lead at [JetBrains Research](https://research.jetbrains.org/groups/npm/).
* Google developer expert in Kotlin.
email: <a href="mailto:&#100;&#105;&#114;&#101;&#099;&#116;&#111;&#114;&#064;&#115;&#099;&#105;&#112;&#114;&#111;&#103;&#046;&#099;&#101;&#110;&#116;&#101;&#114;">&#100;&#105;&#114;&#101;&#099;&#116;&#111;&#114;&#064;&#115;&#099;&#105;&#112;&#114;&#111;&#103;&#046;&#099;&#101;&#110;&#116;&#101;&#114;</a>

View File

@ -9,6 +9,6 @@ image:
position: left
---
**Researcher**
**Analytics team lead**
Student at MIPT.

View File

@ -9,6 +9,6 @@ image:
position: left
---
**Product manager for consulting**
**Vice-director for research**
Student at MIPT and Space Research Institute RAS

View File

@ -1,4 +1,4 @@
kotlin.code.style=official
toolsVersion=0.12.1-kotlin-1.7.20-Beta
toolsVersion=0.13.1-kotlin-1.7.20
snarkVersion=0.1.0-dev-1

View File

@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

View File

@ -4,6 +4,7 @@ import kotlinx.html.*
import space.kscience.snark.html.WebPage
import space.kscience.snark.html.homeRef
import space.kscience.snark.html.resolvePageRef
import java.time.LocalDate
internal const val SPC_TITLE = "Scientific Programming Centre"
@ -138,6 +139,7 @@ context(WebPage) internal fun FlowContent.spcFooter() {
}
ul("copyright") {
li { +"""SPC. All rights reserved.""" }
li { +"Updated on ${LocalDate.now()}"}
li {
+"""Design:"""
a {