Serokell at Computer Summer School

Computer Summer School is a summer camp where children learn programming and meet new friends. In this article, Serokell developers who help organize the event talk about their teaching experience.

Computer Summer School takes place annually somewhere in the Russian forests. Serokell team members have been joining the camp as teachers and technical specialists for five years, and this summer is no exception. Our software engineer Roman Melnikov is now in the wilderness of Kostroma Oblast, building a computer network in the woods and helping the younger generation learn programming languages.

What is Computer Summer School?

house in a forest

Computer Summer School is a summer camp where 12-17-year-old children learn algorithmic programming and perform olympiad informatics tasks. To participate, children have to take a sort of exam. Then they’re divided into classes following their knowledge level. Overall, more than 400 Russian and foreign school students participate in this camp annually.

There’s no permanent location for the school. It often takes place in the forests of Kostroma Oblast, but twice it was organized in Estonian Narva.

What’s going on there

This computer school gives children an excellent opportunity to learn from industry professionals, helps them form their own social circle of like-minded people, and opens them a perspective to enter the best universities.

image of a classroom

Our colleague Roman Melnikov went to this camp as a child, and now he is one of the school’s organizers.

“Back at school, I was fond of olympiad programming and pleasantly participated in this summer camp,” Roman said. “Later, I came there as a teacher. This year, in July, I helped arrange the technical side of the event, and in August, I’m giving lectures.”

Every day students learn programming and then apply theory to practice. In addition to lessons, there are many fun activities, such as special courses where teachers and students give interesting talks on various subjects. For instance, this July, Roman read a lecture about functional programming basics in Haskell. In 2019, another Serokell software engineer Danya Rogozin talked about the basic notions of computability and proof theory and their interactions.

In addition to learning programming, children participate in hobby clubs where they paint, knit, discuss movies, play sports, or intellectual games.

people on a field

To make things even more fun, the camp has a tradition of “initiation”. Teachers wake up children at night and lead them through an interactive themed game. This year, for example, the game was devoted to Russian folk tales, which must’ve been incredibly entertaining given the location.

Why do Serokell engineers like teaching?

Education has always been one of the main goals of Serokell. A lot of our team members give lectures at universities, plus together with ITMO, we run the research lab. Being a teacher at the Computer Summer School is another way to share experience, help children build a supportive community, and get deeper knowledge of particular subjects.

“Generally, I like teaching since it’s a sort of self-education to me,” Danya Rogozin said. “When you’re explaining some concepts to people, you’re also learning those ideas deeply. Learning is unthinkable without interaction. More radically, I believe that the distinction between teachers and students is a false dichotomy. An intellectually honest teacher always remains a student. They extend their limits of knowledge and cognition together with their audience. In particular, when I was trying to explain Turing machines and related stuff, I discovered simple analogies and interactions that I hadn’t encountered before.”

“I enjoy teaching, and this school gives me an opportunity to work with children who are interested in programming languages. Besides, I absolutely enjoy the atmosphere and overall vibes of the camp,” Roman Melnikov explained.

However, giving lectures to students with more background knowledge differs from teaching school children. In the latter case, one needs more patience and the ability to translate complex ideas into more straightforward concepts and explain them clearly. Which, in turn, requires a much deeper understanding of the subject. According to Danya, this challenge helps become a better professional:

“I often give talks and lectures full of technical details. This approach requires some prerequisites from the audience, and that’s OK for working researchers and graduate students as listeners. Giving a lecture to school children is a different story. It’s more challenging since they don’t have background knowledge on a topic. So it’s not enough to only introduce required notions (such as primitive recursive functions or something like that) formally. A younger audience needs an intuitive explanation of the idea using simple examples and analogies, which is quite a challenge for a rigorous formalist. In these aspects, an introductory lecture for non-specialists is one of the most difficult kinds of lectures. However, I believe I’ve managed to discuss with them the underlying aspects of computability quite successfully.”

Danya thinks that in such situations finding good examples to learn from might come in handy:

“When I was younger, I used to watch lectures by Professor Vladimir Uspensky. Except for his mathematical results, he’s also famous for his introductory lectures on computability and logic for children. So during the preparation for the Computer Summer School, I took Prof. Uspensky as a kind of role model.”

People from summer school

As mentioned, in Serokell, we value education and self-development a lot. We also like it when it’s fun. If you want to know more about our side activities, read about our work with younger people or dive into this article about our team’s adventure at ICFPC. And if you’d like to be notified about our new blog posts, join us on Twitter, Medium, and Dev.

Banner that links to Serokell Shop. You can buy stylish FP T-shirts there!
More from Serokell
Serokell logoSerokell logo
Serokell Contributions to the Next GenerationSerokell Contributions to the Next Generation
Haskell: A Functional Love StoryHaskell: A Functional Love Story