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. The 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 the 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 to 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 (2 ECTS credits, 16 academic hours, HSE Moscow)
Dates: July, 16 - 25
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 implement 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, 16 - 28
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 Natural Language Processing (2 ECTS credits, 16 academic hours, HSE Moscow)
Dates: June, 20 - 30
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.
Data mining on networks (2 ECTS credits, 16 academic hours. HSE Nizhny Novgorod)
Dates: July, 23 - 28
* Please note, all dates TBC