CodeWars 2008

Giới thiệu

HP CodeWars là cuộc thi lập trình máy tính nhằm tìm kiếm những tài năng trẻ ở bậc phổ thông. Được tổ chức thường niên tại trụ sở của Hewlett-Packard ở thành phố Houston. Những trải nghiệm của CodeWars mang tính đặc thù, không giống như các cuộc thi lập trình khác.

Biểu tượng cuộc thi HP CodeWars

Cuộc thi là sự kết hợp thành công nhiều yếu tố: môi trường công nghệ cao của HP, thử thách lập trình trên diện rộng, món khoái khẩu cho các lập trình viên (bánh pizza và cafe), âm nhạc, các phần quà khuyến mãi (như túi xách, thiết bị máy tính...) - tất cả tạo nên một môi trường phấn khích, sôi động và đua tranh.

Thể lệ

Trang bị

Mỗi đội dự thi chỉ được phép sử dụng 1 và chỉ duy nhất 1 máy tính trong suốt cuộc thi.

Đội dự thi có thể mang theo vô khối chủng loại, từ máy để bàn (Desktop) đến máy xách tay (Laptop) hoặc iPAQ... tùy ý - nhưng chỉ được phép bật (POWER ON) 1 cái duy nhất trong số đó. Không được sử dụng máy in.

Lưu ý: KHÔNG được phép sử dụng điện thoại di động (Cell phone - ĐTDĐ). Nếu một thành viên bị phát hiện sử dụng ĐTDĐ trong thời gian diễn ra cuộc thi, toàn đội sẽ bị loại ngay tức thì.

Phần mềm

Các phần mềm tác nghiệp trong cuộc thi bao gồm:
- Java (phiên bản máy ảo từ 1.4.2 trở lên)
- Các trình biên dịch tương thích ANSI C/C++ như:
  • Microsoft Visual C++
  • Borland C/C++ 5.xx
  • Borland C++ Builder
Thể thức

- Mỗi nội dung có từ 10 đến 15 đề bài để lựa chọn. Cả hai nhóm Sơ đẳng (Novice) và Kỹ năng (Advanced) trong cùng đội sẽ giải chung một số đề bài, cùng với vài đề ra bắt buột cho mỗi nhóm.
- Thang điểm của từng đề bài tăng theo độ khó
- Mục tiêu là giải được càng nhiều đề càng tốt trong khoảng thời gian 3 giờ đồng hồ. Hết giờ, đội giành chiến thắng là đội có số điểm cao nhất.

Quy định và các chỉ dẫn

- Ban Giám khảo có thẩm quyền cao nhất.
- Bài giải phải trình bày được các kết quả lập trình xác định. Nói cách khác, bài giải không chỉ là viết ra giải pháp được tính bằng tay. Giám khảo sẽ sử dụng vài bộ dữ liệu khác nhau của họ cho chương trình lời giải.
- Một giáo viên hoặc tình nguyện viên CodeWars sẽ chuyển tất cả các bài giải đến Phòng Giám khảo.
- Bất kỳ sự hiệu chỉnh cần thiết cho các thắc mắc, bất đồng với đề bài sẽ được công bố cho toàn thể thí sinh ở phòng thi.
- Quy ước đặt tên file cho các bài giải phải được tuân thủ.
- Thí sinh nên sao thường xuyên lưu bài giải của mình lên đĩa hoặc các thiết bị lưu trữ được cung cấp.
- Mỗi đội có ít nhất 10 tác vụ lập trình để lựa chọn. Không cần giải hết tất cả, lựa chọn đề nào để giải mới là vấn đề.
- Mỗi đội được cung cấp các đĩa có đánh số định danh đội mình và số định danh chương trình/tác vụ. Phải kiểm tra để chắc rằng con số trên đĩa trùng khớp với danh sách.
- Thí sinh không được phép dùng đĩa riêng của mình. Nếu đĩa hỏng, yêu cầu các tình nguyện viên CodeWars đổi lại.
- Các chương trình giải phải theo giao diện DOS chuẩn hoặc Windows console (giả lập DOS trên Windows). Không được dùng giao diện đồ họa (GUI) cho chương trình giải.

Các quy định bổ sung, thay đổi hoặc chi tiết hơn sẽ được phổ biến trong ngày diễn ra cuộc thi.


CodeWars 2008

Kỳ thi năm nay được tổ chức vào ngày 1/3/2008. Địa điểm là trụ sở của Hewlett-Packard ở Houston.

Khoảng 180 đội tham dự cuộc thi, đến từ mọi miền của nước Mỹ.

Năm nay, một phóng viên người Việt (Làng Đậu) vinh dự được phỏng vấn ông Mark Matson, là người phụ trách Nhóm Ra đề thi cho CodeWars từ hơn 10 năm qua.

Toàn văn bài phỏng vấn:

Phóng viên (PV): Can you describe yourself within HP and your role in CodeWars?
Xin ông tự giới thiệu về mình ở HP và vai trò của ông trong cuộc thi CodeWars?

Mark Matson (MM): My “real job” at Hewlett-Packard is as a Software Program Manager on platform servers in the Industry Standard Servers group. Basically, for a given new server, my job is to make sure all needed software, from operating systems to BIOS to drivers, is ready to go when the server is ready to ship. I have been involved with CodeWars since its beginning 11 years ago, back when I was programming full-time. In 2008, I was in charge of the Problem Creation Team (which creates the problem set given to the CodeWars competitors) and the Scoring Team (that compiles the team scores during the actual competition). Since all work done by HP employees for CodeWars is voluntary, everyone ends up doing all kinds of other things to help make the contest happen – from taking pictures to serving pizza to printing display posters.

"Công việc thực sự" của tôi ở Hewlett-Packard trong vai trò Quản lý Chương trình Phần mềm trên các máy chủ nền thuộc nhóm các Máy chủ theo Chuẩn Công nghiệp (Industry Standard Server). Về căn bản đối với một máy chủ mới, công việc của tôi là bảo đảm cho tất cả các phần mềm cần thiết, từ Hệ điều hành cho đến các Hệ thống nhập/xuất cơ bản (BIOS) hoặc Trình điều khiển thiết bị (drivers)... được sẵn sàng trước khi cho các máy chủ xuất xưởng. Tôi bị cuốn hút vào CodeWars từ 11 năm trước, khi tôi đang lập trình toàn thời gian. Trong năm 2008 này, tôi tham gia trong Nhóm Ra đề thi (soạn ra các đề bài) và Nhóm Ghi kết quả (chuyển kết quả của các đội dự thi). Vì mọi việc đều do các nhân viên tình nguyện của HP thực hiện, cho nên mỗi người cuối cùng sẽ lựa cho mình một nhiệm vụ trong mọi loại việc để cho kì thi được tốt đẹp - từ việc làm phim minh họa đến phục vụ bánh pizza hoặc in các bích chương quảng cáo. (Có vẻ như ông Mark Matson hơi khiêm tốn, vì người ta biết đến ông trong vai trò chủ trì bộ phận ra đề thi đã nhiều năm nay)

PV: Why HP calls it "CodeWars" ? What is the meaning of this programming contests to HP, to you, and to the students?
Tại sao HP gọi nó là "CodeWars"? Đối với HP, với ông và với các học sinh thì kì thi này có ý nghĩa như thế nào?

MM: I’m not sure who came up with the name “CodeWars,” but it emphasizes, in a fun way, that this is a real competition for programmers. We try to make it fun, but we also want it to be a real challenge and stretch for these teams – something that will inspire them to push a little further into their technology education. CodeWars started as a totally grass roots effort, with a few employees from an old Compaq software development group, some of whom had competed in similar contests at the college level. Our goal was simply to have an outreach to our local high-school students, and to help inspire them to consider technology as a career. We also run an annual robotics competition, HP Kids Day, at the middle school level. Its goal is to do the same for kids at an earlier stage, and in particular to reach kids that otherwise might not consider a technology career.

Tôi không rõ là ai đã đưa ra cái tên "CodeWars", nhưng nó là để nhấn mạnh, theo cách nói hài hước, rằng đây là "cuộc chiến" thực sự giữa các nhà lập trình. Chúng tôi cố gắng làm cho nó trở nên nhẹ nhàng vui vẻ, nhưng vẫn bảo đảm nó phải thật thách thức và gay cấn cho các đội dự thi - đó là tác nhân gây nên sự phấn khích, nhằm thúc đẩy xa hơn một chút trong việc giáo dục công nghệ cho các em. CodeWars bắt đầu hình thành từ nỗ lực của một số nhân viên đã từng trải qua các kì thi tương tự khi còn ở bậc đại học, họ thuộc nhóm phát triển phần mềm Compaq cũ (nay đã sáp nhập vào hãng HP). Mục đích của chúng tôi đơn giản chỉ là giúp cho các học sinh địa phương vươn tới một tầm nhất định, và cũng để tạo nguồn cảm hứng cho các em đối với công nghệ khi định hướng nghề nghiệp. Ngoài ra, chúng tôi còn có tổ chức cuộc tranh tài về Robot thường niên, gọi là Ngày Trẻ Em HP (HP Kids Day) cho cấp Phổ thông cơ sở. Việc này có cùng một mụch đích như trên, nhưng đối tượng là các nhỏ em hơn, vì nếu không chúng sẽ không nghĩ đến ngành công nghệ khi định hướng nghề nghiệp.

PV: Can you share to us the best and the worst things or the funny things that you experienced in among of the CodeWars contests in the past?
Ông có thể chia sẻ với chúng tôi những kỷ niệm vui buồn xảy ra trong các kì thi CodeWars?

MM: Well, the best times are often when a team “comes out of nowhere” to perform well at CodeWars. For example, in 2007, the team from Gonzales (a small town southwest of Houston) High School finished 2nd in our Advanced Division – a real surprise. Another highlight in 2007 was hosting a team from the New Orleans area who had been directly affected by Hurricane Katrina. Thanks to the generosity of various sponsors, we were able to fly them to Houston free of charge, and provide lodging to them in a local hotel. That’s the kind of thing that makes a difference in someone’s life. We’ve had all sorts of problems during the contests that are funny in retrospect – power outages, burned pizza, scoring problems – but what sticks with you are the kids that really get a kick out of the whole event. We hope those kids will eventually find a career in programming or other technology areas.

Những thời khắc tốt đẹp nhất thường xảy ra khi có một đội "vô danh tiểu tốt" đạt kết quả cao trong kì thi. Chẳng hạn, vào năm 2007, đội đến từ Trung học Gonzales (Một thị trấn nhỏ ở tây nam thành phố Houston) đã đạt giải nhì trong Nhóm Kỹ Năng - là một điều ngạc nhiên thực sự. Một điểm sáng đáng chú ý khác trong năm 2007, là việc lo tạm trú cho đội đến từ New Orleans, nơi đã trực tiếp hứng chịu cơn bão Katrina. Nhờ lòng hảo tâm của các nhà tài trợ, chúng tôi đã có thể giúp họ bay đến Houston mà không mất tiền vé, cũng như lo chỗ ăn ở cho họ ở khách sạn. Đó là sự kiện làm thay đổi cuộc sống của một số người. Chúng tôi đã gặp phải nhiều trục trặc trong thời gian diễn ra các cuộc thi, mà khi nhớ lại thật buồn cười - như là điện cúp, bánh pizza bị khét, các trở ngại nảy sinh lúc ghi điểm... Nhưng, điều đáng ghi nhận nhất là các em đã thực sự thể hiện được mình trong suốt thời gian diễn ra cuộc thi. Chúng tôi hy vọng các em sẽ tìm được một vị trí chuyên nghiệp trong lập trình hoặc các lãnh vực công nghệ khác.

PV: In your idea, what kind of the programming problem would be a "good candidate" to select for a CodeWars contest ?
Theo quan điểm của ông, đề bài lập trình nào sẽ là một "đề dự khảo tốt" để lựa chọn cho một kì thi CodWars?

MM: A perfect CodeWars programming problem is easy and simple to state, but challenging to solve. We don’t want to trick the students, but cause them to really think and stretch their programming muscles.

Một đề bài lập trình hoàn hảo trong CodeWars là loại dễ dàng mô tả (dễ hiểu), nhưng lại là một thử thách khó khăn để tìm lời giải. Chúng tôi không muốn cài bẫy các thí sinh, mà muốn bắt họ thực sự động não và kéo căng các cơ bắp trong tư duy lập trình của họ.


PV: About future, would you please share to us what can be changed, applied to CodeWars ?
Trong tương lai, ông có thể "bật mí" một số thay đổi, áp dụng cho CodeWars?

MM: Well, we are always looking at ways to improve the event. We are hoping to do more automation next year in both the judging and scoring areas. We’d also like to expand the number of schools participating, if not the total number of teams. Due to changes on the HP campus here in Houston, we will also be moving to a new location next year, and that will present its own set of challenges.

Chúng tôi luôn tìm kiếm các giải pháp để cải thiện chất lượng cho kì thi. Chúng tôi hy vọng sẽ ứng dụng tự động hóa nhiều hơn trong năm tới, ở cả hai lãnh vực chấm thi và ghi điểm. Chúng tôi cũng muốn mở rộng phạm vi cho nhiều trường tham dự, không chỉ về số lượng các đội dự thi. Do sự thay đổi các cơ sở làm việc của HP ở Houston, chúng tôi cùng sẽ phải chuyển địa điểm thi trong năm tới, và sẽ phải đương đầu với nhiều thử thách.


PV: I, on behalf of many Vienamese students and educators, want to say "thank you so much for what you share to us".
Thay mặt cho học sinh-sinh viên và các nhà giáo Việt Nam, xin chuyển đến Ông lời cảm ơn chân thành cho những lời tâm sự này.

----------------------------------------
Tư liệu tham khảo:
- HP CodeWars
- VietSciences

◄◄ Home

0 comments:

Post a Comment

Lời nói không mất tiền mua.
Làm ơn comment theo tinh thần tôn trọng sự thật và tự trọng bản thân!