Education at Computer Science Center: research and practice

    Computer Science Center has existed in St. Petersburg for two years, this summer we will have the first issue. In this post, I decided to collect links to students' impressions of practices and research.

    Research and practice

    Research and practice in the center are positioned as integral parts of training. The curators are interested scientific leaders, experienced developers.


    In Computer Scince, students usually do research work .
    As part of research, the student studies literature and solves problems on his chosen topic. The topic and supervisor should be determined independently, but the curator of the area will certainly help in the search. Research can be both purely theoretical and applied. This work may become the basis for admission to the magistracy or graduate school.

    Upper and lower bounds on the complexity of computational problems , Vanya Mikhailin

    Over the past year and a half, Vanya has been involved in proving upper and lower bounds on the complexity of algorithms. Although these two tasks are related, they are also very different. To prove the upper bound, it is enough to give the algorithm and estimate its running time. To prove the lower bound, one must somehow manage to show that not a single fast algorithm solves the computational problem under consideration. To prove lower bounds, as a rule, a model of Boolean circuits is considered. Such a model, on the one hand, is easier to analyze. On the other hand, any algorithm can be transformed into a sequence of circuits.

    Combinatorics and graph theory in bioinformatics , Seryozha Aganezov

    The field of bioinformatics is rapidly gaining momentum, biologists have more and more information that needs to be able to process, systematize and analyze. It is aspects of the analysis of biological information by mathematical methods that bioinformatics deals with. Seryozha with his supervisor dealt with one of the issues related to the reconstruction of the genomes of the ancestors of various types of living organisms that today live on our planet (the so-called median problem). Briefly, the problem can be formulated as follows: if we have the genomes of three different individuals, we must find the genome that existed before them, such that from the point of view of evolution it will be closer to this triple than any other.

    In the areas of Data Mining and Software Engineering, students take the so-called practice: participate in individual or team projects. Work on the project involves the application of the methods and knowledge gained through the study of the center’s courses. Each team (from one person) and the project has a curator who prompts, helps to see and correct errors, shares experience. Students meet with their supervisors about once a week to discuss current progress and immediate tasks.

    Value-tracking JavaScript analysis , Ilya Biryukov

    The aim of the project was to develop a static analysis (i.e. analysis of the program without its direct execution), which would allow to find out interesting properties of the program. For example, detect that some conditions are always false, or the code contains errors.

    The study of user happiness , Sonya Byzova

    Every day we use search engines. Few people thought about the behavior of our mouse while solving such a problem. We rarely pay attention to how our mouse moves when we are happy with the search results and when not. It was decided to conduct an experiment in which a group of users was asked to solve a number of search problems on various topics and rate the satisfaction with the search. After the experiment, a sufficient amount of raw data was collected in which knowledge could be obtained. This is exactly what we needed to do in the project in practice: I got knowledge. The tools were machine learning and elements of statistical analysis.

    File System Deduplicator , Kirill Kononov and Masha Korzhemanova

    It's no secret that data on users' computers is often stored quite redundantly. This is what became the prerequisite for the start of development of this project. Its essence is to create an application with a graphical interface that will enable the user to easily “deduplicate” files on a computer. An important requirement for the application was its independence from a specific platform.

    GoodsReview , student team

    The GoodsReview project is an online service that will help people confidently and quickly choose goods in an online store. The main idea is to collect and analyze product reviews, with the subsequent automatic selection of the main and most important facts about it, which have both negative and positive ratings. This will enable the user to quickly find out what facts should be known about this product.

    Students of different directions often come together to work on projects. In some of them, the boundaries between “practice” and “research” are blurred, and the tasks of students are determined by their interests and desires. The next project involves students from all areas of study at the center.

    Car brand recognition , student team

    The guys are working on a project whose task is to recognize the make and model of a car from a photograph. There is a large dataset with photos of cars. It seems that no one before them was closely engaged in such a task - so why not? What is it for? For example, you can refine and supplement car sales ads by recognizing the make and model of the car. Or make a mobile application that tells you what kind of car is parked on the street.

    Briefly about the center

    Computer Science Center is a joint initiative of the Academy of Modern Programming, Computer Science Club at POMI RAS and the School of Data Analysis. Website: http://compscicenter.ru/ . The center offers two- or three-year full-time evening courses in three areas: Computer Science (modern computer science), Data Mining (data analysis), Software Engineering (software development). A set of students is held every year in April-June.

    Also popular now: