Computer Science program of the Summer University provides original studying opportunities for students from around the world. The program covers various topics in Computer Science from purely theoretical to applied and practical. Theoretical side of the program includes both a detailed introduction to the theory of computations and more advanced topics in Artificial Intelligence and Statistical Diagnosis. Practical aspects of the program are tightly integrated with theoretical material. Participants of the program will have an opportunity to apply the new knowledge in their own programming experience, for example, in processing of natural languages, creating a distributed computing system or implementing a compiler for a programming language.
For students in the beginning of their studies the program provides a possibility to get an introduction into variety of different fields in Computer Science. On the other hand, even an experienced student can find a lot of new and interesting in the program.
The participants of the program are expected to have basic programming experience and basic knowledge of mathematics. Individual courses may have additional prerequisites specified in their descriptions.
Automata, Grammars and Applications in Software Engineering (5 ECTS credits, 40 academic hours, HSE Moscow)
Dates: July, 03 - 22
We will start with studying the automata and formal theory to the extent needed to devel-op your first translator/compiler. While automata theory possesses its own beauty, we will study it with a practical goal in mind. You will develop your own small programming language or select a part of an existing language (Java, Lisp, ML, SETL or suggested by you). Then you will imple-ment your own interpreter/compiler for it.
You may ask why? Why do I need to implement yet another language? One answer is that in the software industry a need in small “in-house” languages appears quite often. It is very often needed to use textual representation of configurations, models, intermediate results in a big soft-ware system. CAD systems, servers of any kind (web, network, radio) are full of script, command, and markup languages. Network protocols are languages and contain other small sublanguages. Another answer is that it is just fun to create the interpreter of your own language (or a part of your favourite language), isn’t it?
Introduction to Artificial Intelligence: Methods, Models, Algorithms (2 ECTS credits, 16 academic hours, HSE Moscow)
Dates: July, 17 - 29
Associate Professor:Faculty of Computer Science / Intelligent Technologies in System Analysis and Management: Joint Department with Federal Research Center of Computer Science and Control of Russian Academy of Sciences
This is an introductory course to Artificial Intelligence. We will present the basic AI concepts, such as knowledge representation models, state space search strategies, machine learning techniques, AI-planning methods etc. Programming skills are welcome, but not required, e.g. optional. It's up to you whether to do a programming project (either in Python or C++) or not.
Introduction to Theory of Statistical Diagnosis (2 ECTS credits, 16 academic hours, HSE Moscow)
The course will introduce the basic concepts of Statistical Diagnosis. This field of mathematical statistics deals with the following problems:
a) detecting changes in probabilistic characteristics of random processes (fields) in the off-line regime
b) detecting changes in probabilistic characteristics of random processes (fields) in the on-line regime.
These problems arise in many applications and are known in the literature as “change-point detection problems”. The goal of the course is to present to students the main ideas of non-parametric statistical diagnosis.
Introduction to Natural Language Processing (2 ECTS credits, 16 academic hours, HSE Moscow)
Dates: June, 20 - July, 1
This is an introductory course to natural language processing. We will present the basic NLP problems such as key phrases extraction, morphological and syntactical parsing. To spice things up we will pay attention to some novel approaches in latent topic detection and distributional semantics. The practical part of the course includes working with publicly available software NLTK, StanfordNLP, gensim for solving these problems. Programming skills are welcome, but not strongly required. We will give introductory knowledge of programming languages Python and R to help a student in doing their computations on their own. We will take into account individual skills and interests of the students.