
In November, Stepik launches the
Introduction to Perl course from the Mail.Ru Group developers, where students will have the opportunity to learn the basics of Perl programming and outline directions for further development.
In the process of learning, the syntax of the language, work with modules, OOP, regular expressions, one-liners, language interaction with the operating system, basic I / O and parallelism will be considered. The main focus is on basic knowledge of the language and system programming. The program is designed for beginners: to master the course, it is enough to have an idea about the algorithms and know the basic concepts (variable, conditional operator, etc.).
Relevance of the course
Some people believe that Perl is dead, so one of the objectives of the course is to debunk this myth. Considering modern modules and language functionality, today Perl is able to solve any problems.
')
Mail.Ru Group Perl is a part of most projects: “Search”, “Clouds”, “Mail”, “Portal”, “My World”. There are also new big projects that started on Perl: VK Pay, Music Mail.Ru, as well as the B2B platform Mail.Ru Cloud Solutions.
Nikolay Shulyakovsky, author and teacher of the course:Our course is the foundation on which to continue learning. We do not train specialists who will be able to write high-loaded applications after the course. Our goal is to educate people who will know in which direction to develop. We strive to give students a basic understanding of Perl: what is this language, what is its state, what can be done on it. We tell a little about everything and give links where to go further depending on the areas of interest to a particular listener.
The course “Introduction to Perl” can be considered as an introductory part to our university courses in the framework of educational projects of Mail.Ru Group - Technopark (MSTU named after NE Bauman), Technosphere (MGU), Technoat (MEPI), where specialists are trained, which we take on an internship. Now there are eight interns in our department who have come after the Perl semester course. Five have already moved into the category of junior developers. This is a success!
Course authors
Nikolay Shulyakovsky , Deputy Technical Director of the adVentures Department, which manages such projects as “My World”, “Mail.ru Music”, “VK Pay”, “Cheaper Together”, etc. Experience: Agave, MCG Network, Mail .Ru Group. The Perl development experience is 14 years. Projects on Perl: Mail Mail.Ru, My World, VK Pay, Music Mail.Ru.
Sergey Panteleev , Technical Manager, Systems Development, adVentures. Experience: Web2000, Open Systems publishing house, Intuit.ru, Acronis, Mail.Ru Group. Perl development experience - 18 years. Projects on Perl: "My World", "Music Mail.Ru", etc.
Alexander Matveyev , web developer in the adVentures department. Experience: Masterkhost, Zenon, Mail.Ru Group. Perl development experience - 13 years. Perl projects: “My World”, “Mail.Ru Music”, “Cheaper Together”, etc.
Vladimir Perepelitsa , Mail.Ru Cloud Solutions architect. Experience: Mail.Ru Group, Undercover Market, Rambler, Agave, Reliance Russia. Perl development experience - 18 years. Projects on Perl: Mail.Ru Cloud Solutions Platform, Hotbox Cloud Storage, Mail.Ru Cloud, Photo Rambler, etc.
Duration and format
The course is free. It consists of six sections, each with an average of four lessons. The duration of each video - no more than 15 minutes. The lessons contain small verification tasks for writing code and tests for learning the material. Homework is checked automatically. You can chat with teachers and other students using comments inside the Stepik platform.
In the “maniac mode”, the course can be mastered in one day, but for more in-depth training (attentive viewing of video materials, reading documentation, performing all tasks) it will take about two months.
Course results
Students who successfully complete the course can:
- write Perl code;
- reading Perl code is a very important skill, since Perl assumes that you can write the same algorithm differently. Each programmer writes as he sees fit, therefore one of the basic language skills is reading the pearl-barley code;
- create modules in Perl and work with the library of modules;
- use Perl syntactic sugar;
- work with the OS and the network from the Perl language;
- apply OOP principles when writing Perl programs.
Course program
1. Introduction
- Perl, perldoc
- Features of development under Windows
- cpanm, metacpan, "local :: lib"
2. Syntax and data (basics)
- vars, interpolation, ifs
- Cycles
- Arrays, hashes and work with them
3. Regular expressions
- Simple search
- Quantifiers
- Grabs
- Modifiers
- Replacement
- One-liners
4. Modules
- Module Connection Basics
- Packages
- Variable scope
- Connection of modules with the use directive
- Standard Perl Modules
5. OOP (basics)
- Implementing OOP in Perl
- Creating objects
- Properties and methods
- Inheritance and composition
6. Interaction with OS
- Work with files
- Interaction processes
- Data serialization
- Work with network
Course instructors
Alexander Matveyev, Nikolay Shulyakovsky:The course was recorded in a very comfortable setting, in a stunning studio, which we learned about thanks to Steppek. The studio is fully automated, so the clips could be rewritten as many times as necessary: ​​correct the butterfly, redo the text ...
Of course, reading before the public and recording on camera are two different things. Reading a lecture to the audience, you see the eyes of the students and you feel if they are stuck somewhere and stop perceiving the material. The camera does not give such feedback. It was difficult to readjust and realize that you are not telling someone, but to the wall.
In addition, we had no experience with the camera, and the first 3-4 trips to the studio ended with the understanding that you need to overwrite everything.
If the course is interesting and a large audience meets, we will write an extended version with more voluminous homework assignments. Both for us and for Steppek, the Perl course is something new, so for the time being we stopped at basic things. Depending on the response, we will improve, modify and refine.