Bài 25: Codeforces ra đời như thế nào? Mike Mirzayanov và sân chơi của hàng triệu lập trình viên

Hầu như mọi học sinh luyện lập trình thi đấu đều có một tài khoản Codeforces. Nhưng ít ai biết trang web này ra đời từ một nhóm nhỏ tại Đại học Quốc gia Saratov (Nga), do một huấn luyện viên ICPC dẫn dắt: Mike Mirzayanov.

Bài thứ hai mươi lăm của chuyên mục Huyền thoại lập trình thi đấu. Một số mốc thời gian có khác biệt giữa các nguồn; bài viết ưu tiên thông tin trên chính trang Codeforces.
1. Người sáng lập: Mike Mirzayanov
- Mikhail (Mike) Mirzayanov tốt nghiệp Đại học Quốc gia Saratov (1999–2004).
- Khi còn là sinh viên, ông hai lần giành Huy chương Bạc ICPC World Finals; sau đó trở thành huấn luyện viên, đưa các đội của trường giành huy chương vàng và bạc thế giới.
- Hiện ông làm việc tại Đại học ITMO – nơi tự nhận là "ngôi nhà thứ hai của Codeforces".
2. Từ Polygon đến Codeforces
Theo trang kỷ niệm 5 năm của Codeforces, Mirzayanov xây dựng Polygon – hệ thống chuẩn bị đề thi – trước, rồi viết phiên bản đầu tiên của Codeforces trong nửa cuối năm 2009 và ra mắt vào tháng 1/2010. Kỳ Codeforces Beta Round đầu tiên diễn ra ngày 19/2/2010 với 175 người tham gia; ngày này về sau được coi là sinh nhật của Codeforces.
Theo Wikipedia, đến dịp kỷ niệm 15 năm (2025), Codeforces có khoảng 1,69 triệu tài khoản đã từng nộp bài. Theo ĐH ITMO, Pavel Durov – nhà sáng lập mạng xã hội VK – là người hỗ trợ Codeforces trong nhiều năm.
3. Vì sao Codeforces thành công?
- Thi thường xuyên: gần như tuần nào cũng có kỳ thi, ai cũng có thể tham gia miễn phí.
- Rating và màu tên tạo động lực tiến bộ (xem Bài 16 Góc phụ huynh về cách hiểu rating).
- Cộng đồng ra đề: các kỳ Round do chính người dùng khắp thế giới soạn trên Polygon, được kiểm duyệt kỹ.
- Blog và thảo luận: sau mỗi kỳ thi có lời giải chi tiết và hàng trăm bình luận trao đổi.
- Hack: thí sinh được đọc code của người khác và tìm test làm sai – một nét đặc trưng của Codeforces.
- API mở: ai cũng có thể lấy dữ liệu kỳ thi, rating qua API – nhiều công cụ thống kê được xây dựng từ đây.
Từ một dự án của một trường đại học ở Saratov, Codeforces trở thành nơi hội tụ của gần như mọi huyền thoại lập trình thi đấu – từ tourist, jiangly đến Benq.
Bài học cho học sinh Việt Nam
- Một người có thể thay đổi cả cộng đồng: Mirzayanov bắt đầu bằng việc giải quyết nhu cầu của chính mình – chuẩn bị đề cho học trò.
- Tham gia đều đặn các kỳ Div. 3, Div. 4 để làm quen, đọc lời giải sau mỗi kỳ.
- Khi đủ trình độ, hãy thử ra đề trên Polygon – đó là cách học thuật toán rất sâu.

Nguồn tham khảo
- Không biết học gì trước, học gì sau, học lan man nên kiến thức bị hổng.
- Bí bài không ai gỡ, ngồi cả buổi vẫn không ra rồi bỏ cuộc.
- Code chạy được nhưng không đủ điểm, không biết sai ở đâu, chậm ở đâu.
- Không có đề thi thử và người chấm, nên không biết mình đang ở mức nào.
- Dễ nản giữa chừng khi không có ai theo sát.
- Lộ trình 111 buổi video sắp sẵn từ dòng code đầu tiên đến đề HSG thật của các tỉnh.
- Thầy trực tiếp gỡ bí, chữa bài cho từng em qua nhóm Zalo riêng.
- Hệ thống chấm bài tự động 24/7 và thi thử HSG hằng tuần để biết chính xác mình đang ở đâu.
- Đóng học phí một lần, thầy kèm lâu dài: từ thi chuyên Tin đến HSG quốc gia và cả khi lên đại học.
Nhận xét
Đăng nhận xét