Về “Thách Thức” – cuộc thi học thuật dành cho sinh viên Công nghệ thông tin Tp. Hồ Chí Minh


** This post is written in Vietnamese only **

Thách Thức

Thách Thức là một cuộc thi học thuật thường niên được tổ chức bởi khoa Công nghệ thông tin, Đại học Khoa học Tự Nhiên, TP. Hồ Chí Minh. Được tổ chức lần đầu vào năm 2000, Thách Thức dần dần đã thu hút được số lượng đông đảo sinh viên từ các trường đại học trong địa bàn thành phố.

Mỗi trận đấu của Thách thức có 3 đội tham gia, chia thành nhiều phần thi nhỏ. Nhìn chung, các phần thi kiểm tra 3 mặt kĩ năng của sinh viên:

  1. Kiến thức tổng quan IT: các kiến thức nền tảng cơ bản về mạng máy tính, ngôn ngữ lập trình, thuật toán…
  2. Kĩ năng lập trình – thuật toán: đây là kĩ năng cơ bản được tập trung rèn luyện ở môi trường đại học. Trong cuộc thi, kĩ năng này chủ yếu được kiểm tra ở vòng thi lập trình. Luật chơi: Thành viên của mỗi đội sẽ hợp sức cùng giải một bài toán mà ban tổ chức đưa ra. Điều đặc biệt của phần thi này là ở chỗ: thời gian hội ý của mỗi đội bị giới hạn, và sau đó thành viên của các đội phải luân phiên thay nhau lập trình (mỗi thành viên chỉ có khoảng một phút để lập trình trên máy tính, sau đó phải nhường chỗ cho thành viên khác)
  3. Kĩ năng phối hợp đồng đội: ngoài phần thi lập trình tiếp sức, một phần thi khác cũng đòi hỏi sự phối hợp nhóm cao là “Nối mạng toàn cầu”.

    Luật chơi
    : mỗi đội sẽ phải chia làm 2 nhóm, nhóm truyền tin sẽ nhận một đoạn mật mã dưới dạng chuỗi bit. Sau đó nhóm truyền tin phải dùng các động tác để truyền tin cho nhóm giải mã. Nhóm giải mã dùng khóa được cung cấp giải mã tin rồi ghi ra kết quả, nộp về cho ban tổ chức. 

    Luật chơi nhìn có vẻ đơn giản, nhưng thật sự đây là một phần thi mang tính “thách thức” nhất. Do thời gian rất hạn chế, nên các đội phải phát huy tính sáng tạo của mình: làm sao cho truyền tin nhanh nhất, giải mã đúng nhất. Trong số 27 đội lọt vào chung kết, thường chỉ có 3, 4 đội có khả năng giải mã kịp thời gian; nhưng tính chính xác lại là một vấn đề khác :)


“Thách Thức” có thể tốt hơn?

Theo suy nghĩ cá nhân, tôi nghĩ “Thách thức” sẽ đầy đủ và phong phú hơn nếu thêm vào những phần chơi bổ trợ cho những kĩ năng sau:

Kĩ năng giải quyết bài toán mở:

Thách Thức có một phần thi gọi là Robot tìm đường. Mỗi đội sẽ điều khiển một Robot trên bàn cờ, cố gắng tìm cách làm sao để ăn được nhiều “quà” nhất. Phần thi sẽ kết thúc nếu có một đội về đến đích.

Tôi tự nghĩ, không biết sẽ thế nào nếu ta cho phép các đội lập trình cho robot đi, thay vì điều khiển bằng tay? Ý tưởng thi đấu các chương trình không mới, nhưng có lẽ sẽ làm cuộc thì thú vị hơn.

EDIT: Xin lỗi về việc chậm cập nhất thông tin: phần thi đấu Robot tìm đường đã thay đổi, từ Thách thức 2011 các đội sẽ viết code để điều khiển robot :)

Kĩ năng hiểu và vận dụng code “có sẵn”:

Khi đi làm, thường xảy ra trường hợp lập trình viên phải đọc hiểu code của người khác, sau đó sửa chữa, bảo trì và bổ sung tính năng mới. Tôi nghĩ sẽ rất tốt nếu Thách thức có một phần thi tương đương như vậy: cho một chương trình lớn đã chạy, tìm cách sửa chữa sao cho đáp ứng được yêu cầu thay đổi của “khách hàng” đề ra.

Tôi nghĩ phần thi này sẽ thiết thực và thú vị hơn phần thi “giải mã tiếp sức”, vốn thường là dạng “đánh đố” cú pháp ngôn ngữ C.


Chiều ngày hôm nay, 02/04/2011, Thách Thức 2011 sẽ chính thức khởi động ở Giảng đường I, Đại học Khoa học Tự Nhiên với trận đấu đầu tiên giữa ba đội: Vietchallenge, Zeros và BK 09. Nếu bạn là dân CNTT thì đừng nên bỏ qua cơ hội này: ngoài những vòng thi gay cấn, ban tổ chức còn thường dành ra những câu hỏi thú vị và những món quà cho khán giả.