Sinh viên Nga giành giải vô địch lập trình thế giới. Lập trình viên Nga trở thành nhà vô địch thế giới, đánh bại Harvard và MIT

Hôm nay, lúc 18:00 giờ Moscow, trận chung kết của cuộc thi lập trình viên danh giá nhất thế giới - ACM ICPC - sẽ bắt đầu tại American Rapid City. Chúng tôi mời mọi người đến xem sự kiện này. sống (buổi phát sóng trực tiếp sẽ bắt đầu lúc 17:00 giờ Matxcơva) và cổ vũ cho đội Đại học ITMO, một trong những ứng cử viên vô địch được yêu thích. Dưới đây chúng tôi sẽ cho bạn biết các đội từ khắp nơi trên thế giới đã chuẩn bị như thế nào cho trận chung kết cũng như dự đoán chiến thắng.

Một số sự thật

  • Chương trình thể thao hàng năm thu hút nhiều người tham gia hơn Thế vận hội Olympic - năm nay cuộc thi ACM ICPC thu hút 46.381 người đến từ 103 quốc gia, trong khi Thế vận hội mùa hè ở Rio có 11.544 vận động viên tham gia ở tất cả các chặng (ít hơn 4 lần).
  • Sự quan tâm đến cuộc thi đang tăng lên hàng năm. Như Vladimir Parfenov, giám đốc vòng bán kết khu vực của giải vô địch ACM ICPC ở Nga và Đông Bắc Âu, trưởng khoa Công nghệ thông tin và Lập trình tại Đại học ITMO, lưu ý, năm 2004, 8.000 lập trình viên đã tham gia ACM ICPC giải vô địch thế giới (bao gồm cả vòng loại khu vực), năm 2016 – đã có hơn 40.000 người.
  • Các trường đại học Nga từ lâu đã được coi là những người dẫn đầu giải vô địch – các đội của chúng tôi đã 11 lần trở thành nhà vô địch tuyệt đối của ACM ICPC. Trong đó, các đội của Đại học ITMO đã 6 lần giành chức vô địch – và đây là kỷ lục thế giới (năm 2017, Đại học ITMO đang tranh danh hiệu bảy lần vô địch thế giới).
  • Số lượng người tham gia từ Nga vẫn ở mức cao trong nhiều năm: năm 2004, 2.100 lập trình viên từ Nga đã tham gia tất cả các giai đoạn của giải vô địch, đến năm 2016 số lượng của họ đã tăng lên 3.400.
  • Thể thức của giải vô địch ACM ICPC không chỉ được coi là một trong những giải thành công nhất mà còn là một trong những giải khó nhất: mỗi đội chỉ sử dụng một máy tính và phải giải càng nhiều bài toán càng tốt trong thời gian ngắn. Vì điều này, chức vô địch đặt ra yêu cầu ngày càng cao không chỉ về khả năng sáng tạo, kiến ​​thức về thuật toán và phần cứng mà còn về khả năng phân bổ vai trò và làm việc theo nhóm.
Tôi có thể nói rằng có thể thành công trong các cuộc thi ở một mức độ nhất định nếu chỉ có kiến ​​​​thức từ loại đầu tiên [kiến thức về toán học, thuật toán, ngôn ngữ lập trình]. Tuy nhiên, kiến ​​​​thức thuộc loại thứ hai [hiểu biết về chiến thuật chính xác, kỹ năng phân bổ nguồn lực hiệu quả] giúp đơn giản hóa cuộc sống và đóng vai trò như một chất xúc tác. Như trong bất kỳ môn thể thao nào: có các kỹ năng thể chất, sau đó là kiến ​​thức về công nghệ, tâm lý học, v.v. Bạn chỉ có thể thành công nhờ cái đầu tiên, nhưng cái thứ hai sẽ đóng vai trò là chất xúc tác

– Pavel Krotkov, tốt nghiệp Khoa Công nghệ thông tin và Lập trình trường Đại học ITMO, người tham gia và tổ chức nhiều cuộc thi lập trình ở Nga và nước ngoài, trong đó có ACM ICPC NEERC

  • Nhân tiện, kể từ tháng 10 năm ngoái, Pavel và các đồng nghiệp của anh ấy - Maxim Buzdalov, nhà vô địch ACM ICPC 2009 và Daria Ykovleva, người lọt vào top 10 trong cuộc thi lập trình quốc tế Google Code Jam dành cho nữ năm 2016 - đã giảng dạy khóa học này “Cách chiến thắng các cuộc thi lập trình: Bí quyết của nhà vô địch” được Đại học ITMO ra mắt trên nền tảng edX. Chúng tôi đã viết về lời khuyên mà các nhà vô địch đưa ra cho người mới bắt đầu lập trình thể thao tại đây: và.
  • Đội ngũ Đại học ITMO cũng chịu trách nhiệm phát sóng trực tuyến giải vô địch (tất nhiên không phải vận động viên-lập trình viên mà là chuyên gia phát sóng video). Khi các đối thủ cạnh tranh để giành danh hiệu vô địch, nhóm video, nhà phân tích, đạo diễn, đạo diễn, nhà thiết kế, lập trình viên và biên tập viên video cố gắng biến Vòng chung kết ACM ICPC trở thành một sự kiện thú vị để mọi người trên khắp thế giới theo dõi. Nhân tiện, năm nay chúng tôi sẽ tổ chức phát sóng bằng tiếng Nga, đặc biệt dành cho khán giả Nga. Đọc về cách nhóm làm việc cũng như những giải pháp phần cứng và phần mềm nào được sử dụng để phát sóng.

Sự chuẩn bị của người tham gia

Trước khi tham gia trận chung kết, các đội phải trải qua quá trình huấn luyện tại nhiều trại huấn luyện sơ bộ khác nhau. Một trong những giai đoạn đào tạo này diễn ra hàng năm tại Viện Vật lý và Công nghệ Moscow (Hội thảo ACM ICPC ở Moscow).

Hình thức của hội thảo khá nghiêm ngặt: trong 11 ngày đào tạo liên tục, học sinh tham gia giải được ít nhất 100 bài toán Olympic. Ngoài ra, như một phần của chương trình đào tạo, việc tham vấn với các giáo viên trong trại và nghiên cứu tài liệu bài giảng cũng được cung cấp.

Những người chiến thắng trong tương lai không bỏ qua quá trình huấn luyện như vậy: năm 2016, 8 trong số 13 đội ACM ICPC chiến thắng đã tham gia các trại huấn luyện. Và Hội thảo ACM ICPC ở Moscow năm nay có sự tham dự của 170 sinh viên và giảng viên, đại diện cho 19 quốc gia và 44 trường đại học. Khả năng tham gia từ xa cho phép các đội từ Mỹ, Latvia, Romania, Trung Quốc và Ấn Độ được đào tạo từ các chuyên gia Nga.

Dự đoán: ai sẽ thắng

Theo Andrey Stankevich, huấn luyện viên đội tuyển Đại học ITMO và là thành viên ban tổ chức vòng bán kết Giải vô địch thế giới khu vực Đông Bắc Âu, các trường đại học sau sẽ nằm trong số những ứng cử viên cho chức vô địch năm nay:
  • Nga: Đại học bang St. Petersburg, Đại học ITMO và MIPT (ba đội mạnh nhất khu vực Đông Bắc Âu)
  • Trung Quốc: Đại học Tân Hoa Xã, Đại học Giao thông Thượng Hải, Đại học Phúc Đán, Đại học Bắc Kinh
  • Hoa Kỳ: Viện Công nghệ Massachusetts
  • Thụy Điển: Viện Công nghệ Hoàng gia
Theo Andrei Stankevich, họ có thể cạnh tranh với các đội từ các trường đại học khác của Trung Quốc và Hàn Quốc, cũng như đội mạnh truyền thống của Đại học Warsaw.
“Như trại huấn luyện trước vòng chung kết tại MIPT đã cho thấy, Đại học Tân Hoa Xã Trung Quốc năm nay có một đội rất mạnh. Nó bao gồm những học sinh đã từng giành vị trí đầu tiên tuyệt đối tại Olympic quốc tế khi còn là học sinh. Tuy nhiên, đội của chúng tôi đã đánh bại họ hai lần trong một cuộc thi tập luyện nên vẫn có cơ hội.

Trong số các đội Nga, các đội đến từ Đại học ITMO, Đại học bang St. Petersburg và MIPT đã thể hiện rất tốt. Trong số những khám phá bất ngờ về trại huấn luyện mới nhất có đội đến từ Úc (Đại học New South Wales) và một đội mạnh hơn trước là đội KTH đến từ Stockholm. Chúng ta cũng có thể ghi nhận các đội ngũ mạnh từ MIT và một số trường đại học khác của Trung Quốc: Đại học Vận tải Thượng Hải, Đại học Phúc Đán từ Bắc Kinh, Đại học Bắc Kinh.”
– Andrey Stankevich


Vladimir Parfenov lưu ý rằng năm nay kết quả của các đội Nga lọt vào vòng chung kết đúng như mong đợi: các đội dẫn đầu thể hiện rất tốt, nhưng thành phần các trường lọt vào vòng chung kết hầu như không thay đổi so với năm ngoái:
Trong số những đội lọt vào vòng chung kết của Nga có những đội tham gia cũ ([họ] đã lọt vào vòng chung kết trước đó, nhưng không phải trong tất cả các năm), vì rất khó để chuẩn bị một đội sẽ lọt vào trận chung kết.

Nếu chúng ta nói về khu vực [Đông Bắc Âu], thì mùa giải này Đại học bang St. Petersburg, Đại học ITMO và MIPT là ba đội mạnh nhất của Nga, chẳng hạn như MSU đã không có một mùa giải tốt. Các đội Belarus từ các quốc gia [khu vực] khác có thể cạnh tranh với chúng tôi.
– Vladimir Parfenov

Sinh viên Nga đã giành chức vô địch Lập trình Thế giới ACM ICPC tại Bắc Kinh lần thứ bảy liên tiếp. Kể từ năm 2000, đây là chiến thắng thứ 13 của các vận động viên đến từ Liên bang Nga. Đội tuyển đến từ Đại học quốc gia Moscow (MSU) đã giành vị trí đầu tiên. Thứ hai là Viện Vật lý và Công nghệ Moscow (MIPT), và thứ ba là Đại học Bắc Kinh. Đội chiến thắng sẽ nhận được phần thưởng tiền mặt trị giá 15 nghìn đô la. Trước đó, vị trí đầu tiên trong các cuộc thi này thuộc về các đội đến từ Đại học Bang St. Petersburg (SPbSU), Đại học Công nghệ Thông tin, Cơ học và Quang học St. Petersburg (ITMO) và Saratov. Đại học bang. Tuy nhiên, cộng đồng chuyên gia không có xu hướng đánh giá quá cao thành công của các lập trình viên Nga, nhắc lại những vấn đề ở trình độ đào tạo chung của sinh viên.


Trận chung kết của Giải vô địch lập trình thế giới ACM ICPC, Olympic sinh viên lớn nhất trong môn này, đã kết thúc tại Bắc Kinh. 140 đội đến từ 51 quốc gia đã tham dự trận chung kết vô địch năm nay. Nga được đại diện bởi 11 đội đại diện cho Đại học Vật lý và Công nghệ Moscow, Đại học Bang Moscow, Đại học ITMO (St. Petersburg), Đại học Bang St. Petersburg, Trường Kinh tế Cao cấp, Viện Hàng không Moscow, Đại học Bang Novosibirsk, Đại học Bang Perm, Saratov Đại học Bang, Đại học Học thuật (St. Petersburg) và Đại học Liên bang Ural (Ekaterinburg).

Các tuyển thủ Nga đã vô địch World Cup và 4 trong số 13 huy chương, nhiều hơn bất kỳ quốc gia nào khác.

Các đội đến từ Trung Quốc và Mỹ mỗi đội nhận được ba huy chương, trong khi Nhật Bản, Hàn Quốc và Lithuania mỗi đội nhận được một huy chương.

Lần đầu tiên vô địch World Cup đội MSU Gấu Trúc Đỏ, đã giải quyết được 9 trong số 12 vấn đề được đề xuất. “Các chàng trai của chúng tôi là những người giỏi nhất! Chúng tôi tự hào,” nó nói tin nhắn dịch vụ báo chí của Đại học quốc gia Moscow. “Đây là chiến thắng tuyệt đối đầu tiên của MSU tại ICPC,” trường đại học nói với Kommersant. Nhóm (theo truyền thống bao gồm ba người) bao gồm Mikhail Ipatov (sinh viên Cơ học và Toán học), Vladislav Makeev và Grigory Reznikov (Khoa Toán tính toán và Điều khiển học). Huấn luyện viên của đội là Elena Andreeva, trưởng khoa khoa học máy tính tại Trung tâm khoa học và giáo dục chuyên ngành (SSC) mang tên A. N. Kolmogorov tại Đại học quốc gia Moscow.

“Các đội MSU đã tham gia giải vô địch thế giới đồng đội sinh viên về lập trình hơn 20 năm”, bà Andreeva cho biết sau khi tổng kết kết quả giải vô địch “Nhiều đội đã giành được huy chương tại giải vô địch, nhiều lần chỉ cách nhau một bước. xa chiến thắng, chiếm vị trí thứ hai. Năm nay, lần đầu tiên, đội của chúng tôi đã giành được danh hiệu vô địch thế giới, đánh bại cả các đội mạnh nhất của Nga từ MIPT và ITMO cũng như các đội nước ngoài xuất sắc nhất từ ​​các trường đại học Bắc Kinh, Seoul và Tokyo.”

Giải vô địch lập trình đã được tổ chức từ những năm 1970; từ năm 2000, các đội từ các trường đại học Nga đã bắt đầu giành chiến thắng: đội đầu tiên là sinh viên Đại học bang St. Petersburg.

Kể từ năm 2012, chỉ có các đội Nga vô địch Olympic này.

Người giữ kỷ lục về số trận thắng của các đội tuyển Nga là Đại học ITMO (đã 7 lần đứng đầu, kể cả năm 2017). Năm nay Đoàn trường Đại học ITMO tụt xuống vị trí thứ 9 khi giải được 7/12 bài. Đồng thời, ITMO vẫn đứng thứ ba trong số các trường đại học Nga tham dự Olympic. Phó chủ tịch Liên minh Hiệu trưởng Nga, Hiệu trưởng ITMO nhận xét: “Lập trình đang trở thành một môn thể thao trí tuệ thực sự của tương lai, không kém phần thú vị so với cờ vua, và trong môn này không có kẻ nào đến từ Nga sánh ngang”. Đại học Vladimir Vasiliev về những thành công của sinh viên Nga.

Ngoài đội MSU, trong số những người giỏi nhất còn có đội MIPT(hạng nhì) và các trường đại học Bắc Kinh, Tokyo giải được 8/12 bài toán và được trao huy chương vàng.

Đại học Quốc gia Seoul, Đại học New South Wales, Đại học Thanh Hoa, Đại học Thượng Hải, ITMO, Viện Công nghệ Massachusetts, Đại học Vilnius và Đại học Liên bang Ural đã hoàn thành cuộc thi với số điểm 7/12.

“Đội Vật lý và Công nghệ đã thể hiện kết quả cao, họ tự tin hướng tới chiến thắng cả năm, thể hiện kết quả tốt nhất trong toàn bộ lịch sử MIPT tham gia cuộc thi, chúng tôi có thể chúc mừng đội Cryptozoology! Alexey Maleev, trưởng nhóm, giám đốc Trung tâm Giáo dục CNTT MIPT cho biết: Chúng tôi tự hào về các sinh viên của mình. “Moscow có đại diện lớn nhất trong số tất cả các thành phố trên thế giới - bốn trường đại học cùng một lúc (trong số 13 trường tốt nhất.- “Kommersant”) bảo vệ danh dự của đất nước,” ông Maleev lưu ý “Hơn nữa, 10 trong số 13 học sinh đã theo học tại trường ICPC Workshops ở Moscow trên cơ sở MIPT.” “Điều này chứng tỏ rằng giáo dục lập trình ở nước ta là một trong những nền giáo dục tốt nhất trên thế giới. Xin chúc mừng nhóm MIPT và tất cả các lập trình viên người Nga!” - Hiệu trưởng MIPT Nikolai Kudryavtsev nhấn mạnh.

Các đội gồm ba sinh viên không quá 25 tuổi thi đấu tại ICPC. Những học sinh đã tham dự vòng chung kết thế giới hai lần không được tham gia giải vô địch. Đội chỉ có một máy tính nên ngoài tính logic và khả năng làm việc trong khung thời gian eo hẹp, các thí sinh phải thể hiện kỹ năng tương tác nhóm và phân bổ vai trò chính xác. Đội chiến thắng là đội giải đúng số lượng bài toán lớn nhất, đồng thời thể hiện thời gian tốt nhất; Số lần thử được thực hiện hoặc “lần gửi” (đây là tên được đặt cho giải pháp cho sự cố được gửi đến máy chủ thử nghiệm để xác minh) cũng được tính đến.

Tất cả những người chiến thắng ICPC đều nhận được giải thưởng tiền mặt: đội vô địch - 15 nghìn USD; các đội giành huy chương vàng - mỗi đội 7,5 nghìn USD; huy chương bạc - mỗi đội 6 nghìn đô la và các đội giành huy chương đồng - 3 nghìn đô la mỗi đội.

Konstantin Kolin, trưởng nhóm nghiên cứu tại Viện các vấn đề tin học của Viện Khoa học Nga, cho biết không nên đánh giá quá cao chiến thắng của sinh viên Nga. Chuyên gia cho biết trong một cuộc phỏng vấn: “Chúng ta đã thắng và đã thắng, chúng ta đang nói về một thành công duy nhất: đây là tầng lớp ưu tú, được đào tạo trong các trường đại học hàng đầu, nhưng bạn cần nhìn vào trình độ đào tạo chung của học sinh và sinh viên”. Kommersant. Theo ông, các cuộc khảo sát xã hội học được thực hiện giữa các học sinh ở Moscow vào năm ngoái và năm nay cho thấy “34% học sinh tin rằng mặt trời quay quanh Trái đất”. “Sự điên rồ ngày càng mạnh mẽ và chính phủ đã áp dụng chương trình Kinh tế Kỹ thuật số, đòi hỏi các chuyên gia có trình độ cao. Để chuẩn bị cho họ, cần có một cuộc cách mạng trong giáo dục, và nó bắt đầu từ giáo viên. Chúng tôi đã nói về vấn đề này rất nhiều nhưng đáng tiếc đến nay Bộ Giáo dục không lắng nghe chúng tôi”, chuyên gia kết luận. Bộ Giáo dục và Khoa học chưa kịp bình luận về chiến thắng của học sinh Nga tại Olympic quốc tế.

Anna Makeeva, Valeria Mishina

Trong 17 năm qua, các lập trình viên người Nga đã 11 lần giành chức vô địch thế giới về lập trình AFM ICPC, và trong 5 năm qua, các cúp này năm nào cũng thuộc về Nga. Tạp chí RBC đã tìm hiểu sự nghiệp của một số thí sinh lọt vào vòng chung kết của một trong những cuộc thi lập trình uy tín nhất thế giới đã phát triển như thế nào

Ảnh: Askhat Bardinov cho RBC

Giải vô địch lập trình sinh viên quốc tế Cuộc thi lập trình đại học quốc tế của Hiệp hội máy tính (sau đây gọi tắt là ICPC) đã được tổ chức từ năm 1977. 100-120 đội gồm ba người lọt vào vòng chung kết, mỗi lần diễn ra ở các quốc gia khác nhau. Ban tổ chức giải đấu đang trao 12 bộ huy chương - mỗi bộ có 4 giải vàng, bạc và đồng.

Trong suốt thời gian diễn ra ICPC, sinh viên chủ yếu đến từ hai trường đại học Nga đã trở thành nhà vô địch - Đại học Bang St. Petersburg (SPbSU) và Đại học Nghiên cứu Quốc gia St. Petersburg về Công nghệ Thông tin, Cơ học và Quang học (ITMO). Năm 2006, đội của Đại học bang Saratov đã giành chiến thắng.

Alexander Pashintsev, người đứng đầu nhóm tuyển dụng tại nền tảng Amazing Hiring, nói với tạp chí RBC rằng cuộc thi dành cho sinh viên, nhưng ngay cả sau 5 đến 10 năm, việc tham gia vào nó vẫn được cân nhắc khi tuyển dụng. Thông thường, những người đoạt huy chương và nhà vô địch của các kỳ Olympic như vậy được thuê bởi những gã khổng lồ Internet - Yandex, VKontakte, Facebook, Google, Amazon, Mail.Ru Group, Avito hoặc các công ty chuyên ngành tham gia, chẳng hạn như giao dịch tần suất cao, Pashintsev lưu ý. Theo ông, ở các công ty CNTT lớn, 5-10% tổng số nhân viên là các chuyên gia đã từng tham gia các giải ICPC.

Irina Lukavskaya, cố vấn cấp cao trong bộ phận CNTT và Viễn thông của cơ quan tuyển dụng Cornerstone, cho biết những người trẻ tuổi giành chiến thắng trong các cuộc thi chuyên ngành có thể được các công ty lớn của phương Tây vốn quen với việc tự đào tạo nhân viên quan tâm. Mức lương của những nhân viên như vậy phụ thuộc vào mức độ hiện đại của công nghệ mà họ hiểu và số lượng đối thủ cạnh tranh chuyên nghiệp trên thị trường. Ví dụ: đối với những người làm việc với phần mềm 1C, mức lương hàng tháng là 150 nghìn rúp. - xứng đáng, Lukavskaya tiếp tục và các nhà phát triển ABAP (biết ngôn ngữ lập trình nội bộ của SAP của Đức) ngay cả trước cuộc khủng hoảng năm 2008 đã kiếm được hơn 200 nghìn rúp. mỗi tháng.

Một số thành viên ICPC từ chối liên lạc do chính sách công ty của công ty mà họ hiện đang làm việc. Tạp chí RBC đã nói chuyện với bốn nhà vô địch và vận động viên giành huy chương ICPC và tìm hiểu xem sự nghiệp của họ phát triển như thế nào cũng như liệu quá khứ “Olympic” có giúp ích cho họ hay không.

Huấn luyện viên cầu thủ

Andrey Lopatin, nhà vô địch thế giới hai lần về lập trình (2000 và 2001), tin rằng ông có thể kết hợp sự nghiệp CNTT và giảng dạy. Người cố vấn cũ của ông, giảng viên cao cấp tại Khoa Công nghệ thông tin và Lập trình của Đại học bang St. Petersburg, Natalya Voykovskaya, đã rời đi sau 15 năm làm việc, và Lopatin, sau chiến thắng thứ hai tại ICPC, đã thay thế vị trí huấn luyện viên trưởng của trường đại học. . “Tôi muốn doanh nghiệp tồn tại. Nếu tôi không nhặt lên thì nó đã vỡ vụn rồi”, nhà giáo vô địch nói.

Mối quan tâm đến việc cạnh tranh tại Đại học bang St. Petersburg ngày càng tăng: mười năm trước, số người sẵn sàng tham gia các chương trình thể thao không vượt quá 100 người mỗi năm. Hiện số lượng sinh viên muốn kiểm tra sức mạnh của mình trong giải vô địch lên tới 200 người hàng năm: sinh viên từ nhiều khoa khác nhau của Đại học bang St. Petersburg đến Lopatin. Đây chủ yếu là sinh viên toán - mỗi người đều có những thành công riêng, nhưng trung bình quá trình đào tạo mất khoảng ba đến năm năm. Lựa chọn cuối cùng để tham gia cuộc thi có khoảng 50 người và chỉ có ba người lọt vào vòng chung kết ICPC.


Andrey Lopatin tự tin rằng các lập trình viên là một nguồn tài nguyên quý giá nếu họ không chỉ có thể viết mã mà còn biết chương trình sẽ hoạt động như thế nào

Ở giai đoạn đầu, bạn có thể học một hoặc hai lần một tuần trong vài giờ, Lopatin chia sẻ kinh nghiệm của mình, ở cấp độ nâng cao hơn - ba lần một tuần trong năm giờ. Nó cũng cần thiết để liên tục làm bài tập về nhà. Ví dụ, những học sinh không giải được một số bài tập trong giờ học phải hoàn thành ở nhà, nếu không sẽ không có tiến bộ, giảng viên lưu ý.

Với mức độ chuẩn bị tốt, sinh viên bắt đầu tham gia các sự kiện tại chỗ mỗi tháng một lần hoặc mỗi tháng rưỡi: tại một trong các trường đại học, các đội từ các trường đại học khác nhau tập trung và thi đấu với nhau. Lopatin cho biết địa điểm mạnh nhất ở Nga về số lượng người tham gia và huấn luyện viên là tại Đại học bang Petrozavodsk.

Một trong những huấn luyện viên trưởng của đất nước cho biết, các trại huấn luyện đôi khi cũng được tổ chức ở nước ngoài, nhưng theo quy luật, chúng “yếu hơn nhiều so với ở Nga” - do trình độ đào tạo trung bình của những người tham gia. Nga đã thống trị ICPC trong những năm gần đây. Trong số những người có thể cạnh tranh hoàn toàn với các lập trình viên người Nga, Lopatin nêu tên những người Mỹ, nhưng điều này lại gây bất lợi cho các sinh viên “nhập khẩu” - người Ba Lan, người Trung Quốc và những người khác, vì các trường đại học hàng đầu của Hoa Kỳ từ khắp nơi trên thế giới đến học.

“Họ nói rằng người Trung Quốc có các trại huấn luyện tương tự như của chúng tôi, nhưng chúng tôi chưa bao giờ được mời đến đó nên chúng tôi không biết chắc chắn,” Lopatin cười toe toét. Bản thân anh khi còn là một cậu học sinh và tham gia các cuộc thi lập trình đã có rất nhiều tin đồn về những người tham gia Trung Quốc: họ được cho là đã bị đưa lên núi trong một năm và buộc phải tập luyện. Dù điều này có đúng hay không thì các đội Trung Quốc tạo thành “sự cạnh tranh khá mạnh”, Lopatin trở nên nghiêm túc.

Lập trình đòi hỏi “rất nhiều kiến ​​thức toán học”, anh ấy tiếp tục: nếu bạn bắt đầu học về toán học từ thời thơ ấu, bạn sẽ phát triển một tư duy nhất định. Tại ICPC, người tham gia không chỉ cần viết mã - anh ta cần giải quyết một vấn đề phức tạp và khám phá điều gì đó mới mẻ, đồng thời nếu không có tư duy toán học và kiến ​​​​thức về thuật toán, bạn sẽ không thể đi đến đâu, huấn luyện viên là người phân loại. Mỗi năm, các nhiệm vụ tại giải vô địch trở nên phức tạp hơn - những nhiệm vụ mà 15 năm trước tưởng chừng như phi thực tế giờ đây có thể được giải quyết trong 15 phút.

Nhiều công ty CNTT tổ chức các cuộc thi lập trình của riêng mình: điều này cho phép họ tìm kiếm nhân viên tương lai. Tuy nhiên, ICPC là cuộc thi uy tín nhất: những người tham gia không chỉ là những lập trình viên tạo ra chương trình mà còn là những chuyên gia tìm ra cách cấu trúc một chương trình như vậy, Lopatin giải thích. Giảng viên giải thích, những người lọt vào vòng chung kết của ICPC có thể tiết kiệm ngân sách của nhà tuyển dụng: 10 nghìn máy chủ sẽ tiêu tốn của công ty 50 triệu USD và hai lập trình viên thông minh có thể cho bạn biết những gì cần phải làm để không phải mua những máy chủ này.

Chuẩn bị cho các đội của Đại học Bang St. Petersburg tham gia các cuộc thi lập trình là công việc chính của Lopatin. Trong nhiều năm, anh ấy đã làm việc tại VKontakte và Telegram do Pavel Durov thành lập, nhưng hiện tại, song song với việc giảng dạy, anh ấy đang tham gia tư vấn cho dịch vụ của Nga để xây dựng các tuyến hậu cần VeeRoute. Lopatin thừa nhận rằng kể từ chức vô địch cá nhân cuối cùng cách đây 15 năm, anh đã từ chối khoảng 10 công ty lớn mời anh làm việc.

Trưởng nhóm mèo

Dmitry Egorov trở thành nhà vô địch thế giới ICPC ở tuổi 20 - vào năm 2014, khi anh đang là sinh viên năm thứ ba Khoa Toán và Cơ học của Đại học bang St. Petersburg. Hiện anh đứng đầu bộ phận phát triển và tối ưu hóa cơ sở dữ liệu của mạng xã hội lớn nhất ở Nga “VKontakte” và tiếp tục học thạc sĩ tại Trường Kinh tế Cao cấp của Đại học Nghiên cứu Quốc gia. Tuy nhiên, việc kết hợp đại học với công việc là điều bình thường đối với Yegorov.

Nhà vô địch thế giới tương lai tốt nghiệp trường Vật lý và Toán học Lyceum số 239 ở St. Petersburg - một ngôi trường danh tiếng, chẳng hạn, nhà toán học Grigory Perelman, người đã chứng minh giả thuyết Poincaré, và là anh trai của người sáng lập VKontakte Pavel Durov Nikolai, người đã làm việc cùng với ông về việc tạo ra và phát triển các mạng xã hội.


Một năm trước, Dmitry Egorov đứng đầu bộ phận VKontakte. Dưới sự lãnh đạo của ông, có bốn nhà vô địch thế giới về lập trình. (Ảnh: Askhat Bardinov cho RBC)

Năm 2014, trận chung kết giải vô địch ICPC được tổ chức vào đầu tháng 7 tại Yekaterinburg. Đội Đại học bang St. Petersburg mà Egorov thi đấu đã giành vị trí đầu tiên - đây là chiến thắng thứ ba liên tiếp của Nga tại giải đấu thế giới.

Trong những năm đầu tiên học tại trường đại học, Egorov đã thực tập tại Yandex - từ 2012 đến 2014. Sinh viên này cho biết công ty đang tuyển dụng các “thực tập sinh” thường xuyên, vì vậy nếu bạn có mong muốn và “được đào tạo cơ bản ở một mức độ nhất định” thì không khó để đạt được điều đó. Anh ấy gọi kỳ thực tập tại Yandex là “cực kỳ hữu ích” - không chỉ từ quan điểm về các kỹ năng lập trình có được mà còn từ quan điểm tổ chức trong một công ty lớn. Sau thời gian thực tập, Egorov nhận ra rằng anh không coi mình là một nhân viên bình thường của một tập đoàn lớn. Một cựu sinh viên tại Đại học Bang St. Petersburg giải thích: “Tôi luôn sẵn sàng làm việc nhiều hơn và tốt hơn những người khác, nhưng tôi cũng mong đợi lợi nhuận cao hơn”. Egorov phàn nàn rằng các công ty lớn không có đủ cơ hội để tăng trưởng và phát triển; họ thiếu cách tiếp cận cá nhân. Và điều này không chỉ áp dụng cho Yandex mà còn cho cả những gã khổng lồ CNTT khác như Google. “Nếu bạn muốn có một cuộc sống yên tĩnh với mức lương tốt và niềm tin vào tương lai thì các công ty CNTT lớn là một lựa chọn tuyệt vời. Nhưng điều này không dành cho tôi,” nhà vô địch ICPC nói.

Ngay sau lễ trao giải, một trong những nhân viên của VKontakte đã tiếp cận Egorov và đề nghị gia nhập đội. Vài tháng sau, chàng sinh viên này đến làm việc tại mạng xã hội lớn nhất. Triển vọng dành cho anh ấy rất rõ ràng: vào mùa xuân năm 2014, Pavel Durov rời VKontakte, sau đó là nhiều nhà phát triển rời công ty. “Bất chấp hàng chục triệu người dùng mỗi ngày, tinh thần khởi nghiệp một lần nữa lại trỗi dậy,” nhà vô địch mỉm cười. Chưa đầy một năm sau, Egorov đứng đầu bộ phận, nơi ông đảm nhận một vị trí riêng. Có bảy người trong bộ phận của anh ấy: tất cả đều tham gia ICPC vào những năm khác nhau, bốn người đã trở thành nhà vô địch thế giới.

Egorov chắc chắn rằng hướng phát triển và tối ưu hóa cơ sở dữ liệu là lý tưởng cho những người từng tham gia Olympic. Một vài năm trước, tất cả các phần tải cao của trang web VKontakte đã được chuyển sang cơ sở dữ liệu của chính công ty được tối ưu hóa cho nhu cầu của công ty, vì tất cả các giải pháp hiện có trên thị trường đều không hiệu quả đối với công ty. “Nói một cách đơn giản, tôi chịu trách nhiệm đảm bảo rằng hàng kiloton mèo sử dụng không bị thất lạc,” Egorov cười.

Một sinh viên thạc sĩ chưa sẵn sàng đánh giá mức độ quan trọng của bộ phận của mình đối với công ty: ở VKontakte rất khó để xác định các bộ phận phát triển chính và phụ. Để làm việc và phát triển chính thức, cần có tất cả các thành phần - cơ sở dữ liệu, back-end, front-end, nhóm quản trị viên hệ thống và phát triển di động. Egorov chắc chắn rằng nếu không có bất kỳ bộ phận nào trong số này, địa điểm sẽ bắt đầu xuống cấp khá nhanh. “Bạn không hỏi cơ quan nào của con người quan trọng hơn: não hay tim? Không có những điều đó, con người chỉ có thể sống trong những trò đùa,” ông nói.

Theo quy định, tất cả những người chiến thắng giải vô địch ICPC đều có thể chọn nơi làm việc của mình từ một danh sách khá lớn. Ví dụ, trong lễ trao giải, nhà tài trợ chung của Giải vô địch thế giới, IBM, gửi lời mời đến tất cả những người chiến thắng liên hệ với bộ phận nhân sự của họ và thảo luận về các vị trí tuyển dụng, Egorov nhớ lại. Về phần mình, anh ngay lập tức quyết định không muốn rời Nga.

Egorov nói: “Đối với nhiều chuyên gia CNTT, việc di chuyển ra nước ngoài là một nỗi ám ảnh mà họ nuôi dưỡng lẫn nhau”. Ông không hối hận khi chọn VKontakte làm nhà tuyển dụng và gọi việc di cư ồ ạt của các chuyên gia CNTT ra nước ngoài là “một thảm họa thực sự cho đất nước”.

Lĩnh vực khả năng

Gleb Leonov, sinh viên năm thứ nhất Khoa Cơ học và Toán học tại Đại học bang St. Petersburg, cùng hai người bạn nhìn thấy một quảng cáo tại quầy của trường đại học yêu cầu những người quan tâm đến việc theo học chương trình Olympic. Một sinh viên tốt nghiệp trường toán - Nhà thi đấu Học thuật của Đại học bang St. Petersburg, nơi Pavel Durov theo học - bắt đầu quan tâm. Đây là lý do tại sao anh ấy đã vào được “lớp” của Andrei Lopatin. Leonov đã lọt vào vòng chung kết ICPC hai lần và một lần giành được huy chương bạc.

Khi học tại Đại học bang St. Petersburg, Leonov không làm việc bán thời gian: không có nhu cầu đặc biệt về việc này, và việc học và đào tạo về lập trình mất rất nhiều thời gian, anh nhớ lại. Sau đại học, Leonov vào học cao học, nhưng rời đi một năm sau đó: anh muốn tập trung vào lập trình.


Từ khi còn nhỏ, Gleb Leonov đã yêu thích giải các bài toán và khi vào đại học, anh bắt đầu quan tâm đến lập trình Olympic (Ảnh: Askhat Bardinov cho RBC)

Giờ đây, những người lọt vào vòng chung kết ICPC nhận được rất nhiều lời đề nghị từ các nhà tuyển dụng tiềm năng: mười năm trước cơ hội của họ khiêm tốn hơn. Tuy nhiên, ngay cả khi đó Google vẫn gọi các lập trình viên đến phỏng vấn. Leonov chưa bao giờ bị thu hút bởi viễn cảnh làm việc tại một trong những tập đoàn CNTT lớn nhất của Mỹ.

Leonov đảm bảo rằng giờ đây những người tham gia ICPC ra nước ngoài và tìm việc làm ở đó không khó: ví dụ, trình độ tiếng Anh viết của những người tham gia Olympic tự động tăng lên mức cao, vì tại các cuộc thi và đào tạo, tất cả các điều kiện của nhiệm vụ đều được chỉ định bằng tiếng Anh. Ngoài ra, hầu hết các tài liệu giáo dục đặc biệt chỉ có thể được tìm thấy bằng ngôn ngữ này, người đoạt huy chương ICPC nhún vai.

Tham gia các giải vô địch và làm việc trong công ty không giống nhau. Nếu chúng ta đang nói về lập trình thể thao, thì mục tiêu của bạn là giải quyết vấn đề và viết chương trình càng nhanh càng tốt. Và khi làm việc trong một công ty, mục tiêu của chuyên gia là phát triển phần mềm có thể sửa đổi được. Đôi khi cần phải “cắt” một chương trình thành nhiều phần và thay thế một trong các “bộ phận” mà không chạm vào phần còn lại, vì vậy điều quan trọng nhất trong công việc của một lập trình viên là kỹ năng thực hành. Leonov nói: Rất khó để có được nó ở trường đại học. Hơn nữa, chức vụ càng cao thì càng cần có nhiều kỹ năng bổ sung.

Leonov đã làm việc cho JetBrains ở St. Petersburg được bảy năm. Được tạo ra vào năm 1999 tại Praha bởi các lập trình viên người Nga Sergey Dmitriev, Evgeny Belyaev và Valentin Kipyatkov, JetBrains phát triển phần mềm cho các chuyên gia CNTT. Giờ đây, ngoài Praha và St. Petersburg, công ty còn có văn phòng tại Moscow, Munich, Boston và Novosibirsk. Leonov đã tự mình nộp đơn xin việc tại JetBrains - anh ấy đã hỏi thông tin liên hệ của nhân viên công ty và gửi sơ yếu lý lịch của mình.

Leonov mỉm cười: “Nếu một học sinh đã lọt vào trận chung kết của Giải vô địch thế giới thì rất có thể anh ta có đủ khả năng và sẽ dễ dàng vượt qua cuộc phỏng vấn cho vị trí lập trình viên cấp dưới.

Hiện người lọt vào vòng chung kết ICPC đang phát triển các công cụ, mặc dù không dành cho lập trình viên. Dành cho ai - Leonov từ chối trả lời, trích dẫn nội quy của công ty. Vài lần trong năm, anh tham gia các cuộc thi lập trình cá nhân do Google, Facebook, Mail.Ru Group, v.v. tổ chức. Các vòng loại được tổ chức qua Internet và những người lọt vào vòng chung kết được mời vào vòng chung kết ở các thành phố khác nhau trên thế giới. Leonov thừa nhận: “Tất nhiên, tôi không lọt vào trận chung kết vì tôi làm được nhiều việc hơn cho bản thân.

Cốt lõi của Google

Petr Mitrichev có được niềm đam mê toán học từ anh trai mình, người cũng tham gia vào lĩnh vực lập trình. Mẹ, một nhà hóa học được đào tạo, đã mua cho Peter những cuốn sách về toán học. Khi không có máy tính trong nhà, Mitrichev Jr. đọc tài liệu về lập trình và cùng anh trai đến Trung tâm Sáng tạo Trẻ em và Thanh thiếu niên, nơi họ học trong vòng tròn máy tính. Năm 7 tuổi, anh vào trường huyện số 827, đến năm 14 tuổi anh chuyển sang lớp chuyên ở trường số 57 ở Mátxcơva, sau đó nộp đơn vào Khoa Cơ và Toán của Đại học Tổng hợp Mátxcơva.

Ở trường, một giáo viên khoa học máy tính đề nghị Mitrichev tham gia Olympic Lập trình ở Quận Tây Bắc Moscow. Mitrichev nhớ lại: “Khi bạn tham gia vào hệ thống này, việc tham gia các kỳ Olympic khác sẽ dễ dàng hơn. Anh ấy cũng đã tham gia Olympic toàn Nga dành cho học sinh và nhiều lần đến các trại huấn luyện kéo dài hai tuần ở các thành phố khác nhau, nơi họ đào tạo những người tham gia ICPC trong tương lai, cùng với những hoạt động khác.


Petr Mitrichev tham gia các cuộc thi lập trình trực tuyến hàng tuần. Sau khi vô địch ICPC, điều này đã trở thành sở thích của anh ấy. (Ảnh: Askhat Bardinov cho RBC)

Không giống như các sinh viên của Đại học bang St. Petersburg và ITMO, Mitrichev và các bạn cùng lớp ở Khoa Cơ và Toán không có một huấn luyện viên nào. Những người tham gia ICPC trước đây đóng vai trò là cố vấn không chính thức và chia sẻ kinh nghiệm của họ cả trực tuyến và tại các cuộc họp. Nhà nghiên cứu hàng đầu tại Phòng thí nghiệm Phương pháp tính toán của Khoa Cơ học và Toán học của Đại học quốc gia Moscow Evgeny Pankratiev đã giúp tham gia cuộc thi: ông đã tổ chức các chuyến đi và hỗ trợ các thủ tục giấy tờ. Mitrichev lọt vào trận chung kết ICPC hai lần - vào năm 2003 tại Hoa Kỳ và năm 2005 tại Trung Quốc, khi anh lần lượt đang học năm thứ nhất và năm thứ ba. Cả hai lần anh đều đứng thứ hai trong các đội.

Trong thời gian đi học, Mitrichev đôi khi làm việc bán thời gian nhưng không tìm việc làm toàn thời gian. Ông chắc chắn rằng việc giành được ICPC không đảm bảo 100% nhận được một lời đề nghị thú vị từ một nhà tuyển dụng tiềm năng. “ICPC phục vụ nhiều hơn như một phương tiện giao tiếp xã hội giữa một tuyển thủ chuyên nghiệp và một công ty tuyển dụng tốt,” Mitrichev mỉm cười. Ông nói: Các cuộc thi dạy bạn lập trình tốt, sau đó, bất kỳ công việc nào trong chuyên ngành của bạn đều có thể thực hiện được. Tuy nhiên, tại Olympic, điều quan trọng là phải lập trình nhanh chóng và không mắc lỗi, đồng thời bạn có thể dành thời gian cho công việc của mình. Đồng thời, anh thừa nhận: khả năng viết mã nhanh và không có lỗi đồng nghĩa với việc bạn không phải làm lại công việc nhiều lần.

Những người lọt vào vòng chung kết ICPC có thể tham gia tổ chức các cuộc thi tương tự trong các tập đoàn lớn hoặc trong lĩnh vực phân tích (ví dụ: giao dịch chứng khoán). Mitrichev đã cân nhắc lựa chọn thứ hai cho mình sau khi tốt nghiệp đại học. Ông thừa nhận: “Ở đó bạn có thể kiếm tiền trang trải tuổi già trong thời gian ngắn hơn.

Tuy nhiên, kể từ năm 2007, Mitrichev đã làm việc tại Google - đầu tiên là tại văn phòng Moscow và từ năm 2015 tại văn phòng Thụy Sĩ. Lập trình viên nhớ lại, trong cuộc phỏng vấn với một trong những công ty CNTT lớn nhất thế giới, Mitrichev đã phải giải quyết các vấn đề tương tự như những vấn đề gặp phải trong vòng chung kết ICPC. Đúng vậy, anh ấy hiện đang làm việc trên công cụ tìm kiếm của trang web Google và công việc này liên quan nhiều hơn đến lý thuyết xác suất mà Mitrichev đã nghiên cứu tại trường đại học. Tốc độ đạt được trong các cuộc thi sẽ giúp ích, chẳng hạn như khi bạn cần tạo nguyên mẫu của chương trình và hiểu liệu nó có hoạt động hay không.

Giờ đây, Mitrichev giúp Google tổ chức các cuộc thi lập trình của riêng mình - Google Code Jam và đưa ra các nhiệm vụ cho các giải đấu cùng với các đồng nghiệp của mình. Bản thân Mitrichev đã tham gia cuộc thi này hai lần và giành vị trí thứ ba vào năm 2005 và hạng nhất vào năm 2006. Lập trình viên thừa nhận rằng anh ấy đã thảo luận về khả năng hợp tác với đại diện của VKontakte, Facebook và Yandex, nhưng bây giờ đối với anh ấy, có vẻ như Google là lựa chọn tốt nhất, “bởi vì công ty giải quyết được các vấn đề thú vị và nhân viên của họ là những người thông minh và rất vui khi làm việc cùng. công việc" .

Sau ICPC, Mitrichev tham gia các cuộc thi trực tuyến hàng tuần. Theo anh, để giải quyết một số vấn đề, anh phải học lại: “Về mặt này thì thế hệ mới dễ dàng hơn: họ học ngay các phương pháp lập trình hiện đại”. Giờ đây Mitrichev đứng đầu một trong những công ty xếp hạng hàng đầu của tập đoàn Topcode.com của Mỹ, công ty đã tổ chức các cuộc thi lập trình thể thao từ năm 2001.

Đỉnh cao của Giải vô địch lập trình thế giới ACM ICPC-2017 diễn ra vào ngày 24/5 tại Rapid City (Mỹ). Đội Đại học ITMO đã trở thành nhà vô địch tuyệt đối, giải được 10/12 bài toán nhanh hơn và thành thạo hơn đối thủ. Như vậy, trường đại học St. Petersburg đã lập kỷ lục mới trong lịch sử cuộc thi: Các đội của Đại học ITMO đã lần thứ bảy trở thành người chiến thắng ACM ICPC, điều mà chưa một trường đại học nào trên thế giới làm được. Các sinh viên Khoa Công nghệ Máy tính Vladimir Smykalov, Ivan Belonogov và Ilya Zban đã nâng cao chiếc cúp vô địch trên đầu. Năm nay, 133 đội từ mọi khu vực trên thế giới tham gia vòng chung kết của cuộc thi danh giá nhất giữa các lập trình viên; cuộc thi đã được tổ chức lần thứ 41.

Lễ trao giải của đội Đại học ITMO

Nhóm đại học đã có thể giải quyết chính xác 10 trong số 12 vấn đề, dành ít thời gian nhất cho việc đó. Chính thời gian cần thiết để giải quyết vấn đề và số lần vượt qua chúng không thành công ít hơn đã giúp đội giành được Cúp ACM ICPC lần thứ bảy. Các đội “vàng” khác, gồm 4 đội dẫn đầu cuộc thi, mỗi đội cũng giải được 10 bài. Đội bóng thực sự nóng bỏng theo sau các nhà vô địch thế giới Đại học Warsaw, trước đây yêu thích của ACM ICPC-2017. Ở vị trí thứ ba là các lập trình viên đến từ Đại học Quốc gia Seoul. Đội Đại học bang St. Petersburg kết thúc với kết quả thứ 4. - nhà vô địch năm ngoái.Đội ngũ trường Đại học ITMO gồm các sinh viên Khoa Công nghệ thông tin và Lập trìnhVladimir Smykalov(năm thứ nhất thạc sĩ tại Khoa Khoa học Máy tính), Ivan Belonogov(bằng đại học năm thứ tư tại Khoa Khoa học Máy tính) và Ilya Zbanya(bằng cử nhân năm thứ tư tại Khoa Khoa học Máy tính). Huấn luyện viên trưởng của đội là Phó Giáo sư Bộ môn Công nghệ Máy tính, Ứng viên Khoa học Kỹ thuật Andrey Stankevich, người đã đào tạo hơn một thế hệ vận động viên-lập trình viên. Năm 2016, ông nhận được Giải thưởng Huấn luyện viên Cao cấp ACM ICPC danh giá vì đã dẫn dắt các huấn luyện viên của mình vào chung kết cuộc thi trong 15 năm.

“Cuộc thi diễn ra suôn sẻ đến bất ngờ,- chia sẻ ấn tượng Ivan Belonogov. - Trong một số vấn đề, bằng trực giác, chúng ta dựa vào những sự thật mà chúng ta không thể chứng minh đầy đủ và bản năng của chúng ta đã không làm chúng ta thất vọng. Chúng tôi đã giải quyết được 10 vấn đề trong gần bốn giờ và điều này mang lại cho chúng tôi sự tự tin rất lớn. Nhưng chỉ đến cuối cùng, khi chúng tôi vượt qua được vấn đề thứ mười, tôi mới nghĩ: “Được rồi, rõ ràng là mình sẽ lấy được vàng!”

Các đội khác của Nga cũng trở thành người đoạt giải: đội MIPT sẽ ra về với “bạc” ACM ICPC, và Đại học Liên bang Ural với “Đồng” của cuộc thi. Tổng cộng, năm nay Nga có 13 đội đại diện - nhiều hơn năm ngoái một đội, trong đó có ba đội đến từ Moscow và St. Petersburg, cũng như từ các thành phố khác: Saratov, Perm, Petrozavodsk, Novosibirsk, Samara, Tomsk và Yekaterinburg. Các đội đến từ Liên bang Nga đã tham gia giải vô địch từ năm 1993 và kể từ năm 2000, họ đã 12 lần vô địch giải đấu này, bao gồm cả năm nay.

Bảng kết quả đầy đủ có thể được tìm thấy tại liên kết này.

“Tất cả các đội trong TOP 12 đều liên tục được xướng tên là ứng cử viên yêu thích - không có bất ngờ lớn nào. So với năm ngoái, Các trường đại học châu Á đã cho thấy một bước đột phá mạnh mẽ: năm ngoái họ chỉ nhận được hai huy chương, còn bây giờ - có tới bảy huy chương. Tuy nhiên, mỗi khu vực có rất nhiều đội mạnh và sự cạnh tranh ngày càng trở nên khốc liệt”., - nhận xét của cố vấn nhóm Đại học ITMO Andrey Stankevich.

Huấn luyện viên thừa nhận, giờ cuối cùng của cuộc thi, đối với ông cũng không kém phần hào hứng so với các cầu thủ.

“Sau khi bảng xếp hạng bị đóng băng, các chàng trai không có cách nào để cho huấn luyện viên xem nhiệm vụ đã hoàn thành hay chưa, nhưng lần này, nhìn thấy hình ảnh từ màn hình máy tính của họ trong buổi phát sóng, tôi nhận thấy rằng sau khi gửi nhiệm vụ cuối cùng là G, họ đã nhanh chóng chuyển sang trang kết quả và suy nghĩ: Điều đó có nghĩa là mọi thứ đều ổn, chúng tôi đã vượt qua. Đây không phải là một nhiệm vụ đáng để bỏ qua nếu câu trả lời sai.”, - huấn luyện viên chia sẻ.

Theo truyền thống, giống như năm nay, cuộc thi kéo dài trong 5 giờ. Trong thời gian này, người tham gia phải giải quyết các vấn đề mang tính định hướng thực hành. Điểm đặc biệt của cuộc thi là các đội gồm ba người ngồi trước một máy tính. Vì vậy, ngoài tính logic và khả năng làm việc dưới áp lực, họ phải thể hiện kỹ năng chơi tập thể và phân công vai trò hợp lý. Ban tổ chức giải vô địch lưu ý rằng, để giải quyết một số vấn đề, tất cả những gì bạn cần là sự chính xác và chu đáo. Các nhiệm vụ khác đòi hỏi kiến ​​thức chuyên sâu về các thuật toán khác nhau. Kết quả làm việc của nhóm thường là một số phần mềm đáp ứng các điều kiện đã chỉ định. Các vấn đề được kiểm tra tự động bằng các bài kiểm tra được ban giám khảo chuẩn bị trước; Tính đầy đủ và tốc độ hoàn thành nhiệm vụ cũng như số lần nỗ lực của nhóm để giải quyết một vấn đề cụ thể được tính đến. Các đội không phải lúc nào cũng có thời gian để đối phó với tất cả mọi người. Những điều kiện nghiêm ngặt như vậy tương ứng với cuộc sống thực: sau cùng, khách hàng có thể đơn giản từ chối dịch vụ của lập trình viên nếu người thứ hai lãng phí thời gian và nguồn lực của người thứ nhất.

Để lọt vào vòng chung kết ACM ICPC, trước tiên bạn phải vượt qua cuộc tuyển chọn địa phương tại trường đại học của chính mình. Thông thường có hơn 300 nghìn người tham gia vào các sự kiện này. Sau đó, họ vượt qua, trong đó xác định được những người dẫn đầu xứng đáng vào chung kết. Các nhà vô địch ICPC nhận được cúp vô địch thế giới và giải thưởng tiền mặt đáng kể, năm nay trị giá 15.000 USD. Các đội chiến thắng còn lại cũng không ra về mà không có phần thưởng tài chính.

Cuộc thi Lập trình Đại học Quốc tế được tổ chức thường niên kể từ năm 1977 dưới sự bảo trợ của Hiệp hội Máy tính (ACM, có trụ sở chính tại New York). Năm nay, ACM ICPC lại lập kỷ lục mới về số lượng người tham gia. Tổng cộng có 46.381 sinh viên từ gần 3.000 trường đại học đã tham gia vòng loại khu vực. Năm ngoái, chỉ có hơn 40.000 lập trình viên tham gia tranh tài trong giải vô địch. Theo thống kê từ ban tổ chức sự kiện, số lượng người tham gia đã tăng 2000% kể từ năm 1997, năm mà IBM bắt đầu ủng hộ giải vô địch.

Đội tuyển đến từ Đại học ITMO St. Petersburg đã lần thứ bảy giành được huy chương vàng trong phần thi cuối cùng của Giải vô địch thế giới ACM ICPC về lập trình thể thao, được tổ chức tại thành phố Rapid City (Nam Dakota) của Mỹ. Sinh viên Đại học Warsaw chiếm vị trí thứ hai, sinh viên Đại học Seoul chiếm vị trí thứ ba và sinh viên Đại học bang St. Petersburg (SPbSU) chiếm vị trí thứ tư. Danh dự của ITMO được bảo vệ bởi các sinh viên Khoa Công nghệ Máy tính Ivan Belonogov (bằng cử nhân năm thứ 4), Ilya Zban (bằng cử nhân năm thứ 4) và Vladimir Smykalov (bằng thạc sĩ năm thứ nhất). Huấn luyện viên của đội là Andrey Stankevich, người từng đoạt Giải thưởng Huấn luyện viên Cấp cao ACM ICPC danh giá.

Ở một số hạng mục nhất định của Giải vô địch thế giới, huy chương vàng thuộc về sinh viên Đại học bang St. Petersburg (SPbSU), huy chương bạc dành cho đội của Viện Vật lý và Công nghệ Moscow (MIPT) và huy chương đồng dành cho sinh viên Đại học Liên bang Ural (Đại học Liên bang Ural).

27 đội vượt qua vòng tuyển chọn sơ bộ đã tranh tài để giành các suất lên bục vinh quang. Tổng cộng có 133 đội tham gia Giải vô địch thế giới, trong đó có 13 đội của Nga, đại diện là các trường đại học ở Moscow, St. Petersburg, Yekaterinburg, Novosibirsk, Perm, Petrozavodsk, Saratov, Samara và Tomsk.

Cuộc thi lập trình đại học quốc tế ACM được coi là giải vô địch lập trình thể thao có thẩm quyền nhất trên thế giới. Cuộc thi được tổ chức thường niên kể từ năm 1977 dưới sự bảo trợ của Hiệp hội Máy tính (ACM). Giải vô địch được tài trợ bởi Tập đoàn IBM. Người chiến thắng ACM ICPC nhận được giải thưởng trị giá 15 nghìn đô la.

“Những đứa trẻ này giải quyết vấn đề trong vòng ba phút. Vâng, đây là một loại vô nghĩa! Và tôi thích nó. Đây là điều xảy ra khi trẻ em có mục tiêu rõ ràng, có các nguồn lực và sự hỗ trợ cần thiết cũng như hướng dẫn huấn luyện phù hợp và chúng đạt được mục tiêu trong suốt cả năm,” Giám đốc Điều hành ICPC Bill Poucher cho biết.

Nền tảng cho sự thành công

Giai đoạn cuối cùng của giải vô địch thế giới kéo dài năm giờ. Theo điều kiện của ACM ICPC, ba sinh viên chỉ có một máy tính. Nhóm phải tạo ra một thuật toán giải và viết mã cho càng nhiều vấn đề càng tốt trong thời gian ngắn nhất.

“Trong trận đấu chính của ACM ICPC, một cuộc chiến nghiêm trọng đã nổ ra - một giờ trước khi cuộc thi kết thúc, khi bảng xếp hạng đóng băng, Đại học ITMO dẫn đầu, nhưng cho đến trận chung kết, ai sẽ chiến thắng vẫn là một bí ẩn,” nói dịch vụ báo chí ITMO.

Đội đến từ St. Petersburg đã có thể giải được 10 trong số 12 bài toán, nhưng các đối thủ của họ đã giải được số bài toán tương tự. Tuy nhiên, sinh viên ITMO đã thể hiện thời gian tốt nhất - 845 phút. Người theo đuổi gần nhất là sinh viên đến từ Warsaw, đã hoàn thành 10 nhiệm vụ trong 953 phút.

“Chúng tôi thấy rằng các đội khác có khả năng giải quyết được 11 vấn đề. Tuy nhiên, chúng tôi thật may mắn: không ai giải được quá 10,” một thành viên trong nhóm, Vladimir Smykalov, nói sau lễ trao giải.

Các đội Nga đã tham gia giải vô địch ACM ICPC từ năm 1995 và đã giành được 12 chiến thắng trong số đó. Đội ITMO đã bảy lần vô địch - vào các năm 2004, 2008, 2009, 2012, 2013 và 2015 và 2017. Đại học bang St. Petersburg đã giành được bốn chiến thắng - vào các năm 2000, 2001, 2014 và 2016. Năm 2006, sinh viên Đại học bang Saratov nhận huy chương vàng.

  • Anatoly Shalyto
  • vk.com

Trưởng khoa Công nghệ lập trình ITMO, Giáo sư Anatoly Shalyto, bình luận với RT về chiến thắng của các sinh viên trường đại học của ông.

“Chúng tôi có một trường toán mạnh và hai huấn luyện viên thiên tài - cả hai đều là Andrei Sergeevichs. Một người là Stankevich, người còn lại là Lopatin (cố vấn của đội Đại học bang St. Petersburg. - RT), người đã tạo ra VKontakte và Telegram với Durov. Anh ấy đã hai lần vô địch thế giới. Chúng tôi tự hào về con cái của mình”, Shalyto nói.

“Tôi có thể giải thích lý do chiến thắng của chúng ta bằng một ví dụ. Năm 2013, chúng tôi đăng cai tổ chức Giải vô địch thế giới và giành vị trí đầu tiên. Có vẻ như huấn luyện viên của đội đáng lẽ phải đi nghỉ ở đâu đó ở Crimea hoặc Bali. Và anh ấy đến điều hành một trường học máy tính vào mùa hè và yêu cầu tôi không gọi cho anh ấy cho đến 10 giờ tối vì anh ấy đang cho bọn trẻ đi ngủ”, giáo sư giải thích.

Người đối thoại của RT tin rằng lập trình có thể trở thành một môn thể thao chuyên nghiệp, mặc dù các sinh viên không đồng ý với giáo sư. Tuy nhiên, Shalyto hy vọng rằng Phó Thủ tướng Vitaly Mutko sẽ nghe thấy mong muốn của ông - và trong tương lai, một liên đoàn lập trình thể thao Nga sẽ xuất hiện.

“Bạn nhìn vào kết quả mà các vận động viên của chúng tôi thể hiện trong môn khúc côn cầu, bóng đá hoặc bóng rổ. Bạn có thể tưởng tượng bây giờ chúng tôi là nhà vô địch bảy lần trong bất kỳ môn thể thao nào không?<...>Tại sao Stankevich của chúng ta không thể trở thành huấn luyện viên danh dự của tuyển Nga?”

Chuyên gia bảo mật thông tin tại Viện Nghiên cứu Chiến lược Nga (RISI) Ivan Monkov nói với RT rằng nền tảng thành công của các lập trình viên Nga là trường phái vật lý và toán học của Liên Xô/Nga.

“Nga có cơ sở khoa học tuyệt vời cho sự xuất hiện của các chuyên gia CNTT hàng đầu. Bất chấp sự sụp đổ của Liên Xô, giáo dục kỹ thuật trong những năm 1990 vẫn ở mức rất tốt. Vì vậy, tôi không ngạc nhiên khi các chàng trai của chúng tôi trở thành nhà vô địch năm này qua năm khác”, Monkov nói.

"Trở lại đầu trang"

Đại học ITMO là nhà vô địch bảy lần duy nhất trên thế giới theo ACM ICPC. Năm 2016, trong bảng xếp hạng các trường đại học CNTT tốt nhất thế giới của Times Higher Education, Đại học St. Petersburg chiếm vị trí thứ 56.

Lịch sử của ITMO bắt đầu vào ngày 13 tháng 3 năm 1900, khi Nicholas II thành lập một trường dạy nghề với khoa cơ-quang và chế tạo đồng hồ. Năm 1920, các lớp chính của trường được chuyển thành trường kỹ thuật. Năm 1933, Viện Cơ khí Chính xác và Quang học Leningrad được thành lập trên cơ sở trường kỹ thuật.

Năm 1994, viện đã nhận được tư cách đại học, điều này có thể mở ra các lĩnh vực liên quan đến công nghệ thông tin. Danh hiệu Đại học Nghiên cứu Quốc gia ITMO được cấp vào năm 2009.

Vào ngày 22 tháng 5, nhà báo Marc Cherki của chuyên mục Le Figaro đã viết rằng ITMO “đang chuẩn bị những thiên tài khoa học máy tính trẻ, những người thống trị các cuộc thi quốc tế danh giá nhất”. Theo ông, những thành công của sinh viên St. Petersburg là bằng chứng cho thấy Nga “nỗ lực trở lại vị trí dẫn đầu cuộc đua nghiên cứu thế giới”.