Vinaora Nivo Slider 3.x
Cuộc thi Olympic Tin học và lập trình ICPC năm 2020

Thư viện nguồn mở chính

 

 

NukeViet CMS: Hệ quản trị nội dung (Content Management System - CMS) xây dựng dựa trên nền tảng phần mềm nguồn mở NukeViet - một phần mềm nguồn mở thế hệ mới do người Việt phát triển. NukeViet CMS cho phép bạn xây dựng và quản lý các website một cách dễ dàng. NukeViet đã được trao giải Nhân tài đất Việt 2011, được Bộ GD&ĐT khuyên dùng trong thông tư số 08/2010/TT-BGDĐT, được Bộ TT&TT Quy định ưu tiên sử dụng trong cơ quan, tổ chức nhà nước tại thông tư 20/2014/TT-BTTTT. [1]

 

Apache: Là chương trình máy chủ HTTP - một chương trình dành cho máy chủ đối thoại qua giao thức HTTP. Apache là phần mềm phổ biến nhất để vận hành website bằng NukeViet. [2]

 

PHP: Ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát. PHP rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML. [3]

 

MySQL: Hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng. [4]

 

HTML: Ngôn ngữ đánh dấu được thiết kế ra để tạo nên các trang web trên World Wide Web. Cùng với CSS và JavaScript, HTML là một trong những ngôn ngữ quan trọng trong lĩnh vực thiết kế website. [5]

 

Git: là công cụ quản lý mã nguồn được sử dụng rất nhiều tại các dự án mã nguồn mở trên thế giới. Sinh viên cần thiết phải tìm hiểu Git và sử dụng git để nộp kết quả bài thi thông qua git diff và đẩy pull request lên tới kho mã nguồn của BTC. GitHub là một dịch vụ cung cấp kho lưu trữ mã nguồn Git dựa trên nền web cho các dự án phát triển phần mềm. Đề thi sẽ yêu cầu thao tác với mã nguồn được lưu trữ trên GitHub. [6]

 

Các đội tuyển sẽ nghiên cứu cách sử dụng các thư viện, cách lập trình trên các ngôn ngữ này mục tiêu có thể cài đặt, sử dụng NukeViet, lập trình giao diện, module trên NukeViet, thao tác với mã nguồn NukeViet đặt trên Github.

 

Nội dung đề thi cho phần thi “Phần mềm nguồn mở” (viết tắt PMNM) sẽ bao gồm:

●      Cài đặt, lập trình giao diện hoặc module trong vòng 6 tiếng tại nơi thi (theo phong cách Hackathon [13]). Yêu cầu về lập trình giao diện hoặc module sẽ được Ban Tổ Chức công bố trước khi thí sinh vào phòng thi.

●      Mô tả, trình diễn kết quả trước Ban Tổ Chức.

 

Thư viện hỗ trợ

 

Eclipse IDE for PHP Developers: Là phần mềm hỗ trợ để lập trình NukeViet được các lập trình viên NukeViet khuyến khích sử dụng nhất. [7]

 

XAMPP: Phần mềm tích hợp Apache + MySQL + PHP. Cài đặt phần mềm này, người sử dụng hoặc lập trình viên sẽ có ngay môi trường đầy đủ trên máy tính cá nhân để vận hành NukeViet. [8]

 

phpMyAdmin: Công cụ được viết trên PHP để thao tác trực quan với cơ sở dữ liệu MySQL ngay trên trình duyệt web. Nó có thể thực hiện nhiều tác vụ như tạo, sửa đổi hoặc xóa bỏ cơ sở dữ liệu, bảng, các trường hoặc bản ghi; thực hiện báo cáo SQL; hoặc quản lý người dùng và cấp phép. phpMyAdmin được tích hợp sẵn trong XAMPP. [9]

 

Bootstrap: Là một framework bao gồm các HTML, CSS và JavaScript template dùng để phát triển website chuẩn responsive. [10]

 

jQuery: Là thư viện được viết từ JavaScript, jQuery giúp xây dựng các chức năng bằng Javascript dễ dàng, nhanh và giàu tính năng hơn. [11]

 

Những điểm thí sinh cần lưu ý trong cuộc thi OLP FOSS 2020

Cuộc thi OLP FOSS 2020 có những điểm quan trọng thí sinh cần lưu ý như sau:

1.              Tương tự mô hình Hackathon của những năm gần đây, đề thi năm nay tập trung vào một phần mềm cụ thể là NukeViet và giải quyết một số bài toán/ vấn đề nhất định cho nó. Tuy nhiên, cách thức chấm điểm khác hoàn toàn so với các cuộc thi Hackathon trước đây. Trong toàn bộ thời gian thi, thí sinh không chỉ tập trung giải một bài toán duy nhất do Ban Tổ Chức (BTC) công bố trước khi thi, kết quả thi cũng không chỉ xét kết quả cuối cùng mà BTC sẽ có thang điểm chấm cho toàn bộ quá trình thí sinh tham gia lập trình, từ kỹ năng code, kỹ năng sử dụng các công cụ làm việc nguồn mở, kỹ năng làm việc nhóm… cuối cùng mới là sản phẩm.

2.              Thí sinh sẽ phải trình diễn kết quả thi vào cuối buổi thi trong thời gian 5 phút.

3.              Thí sinh sẽ phải làm quen với kỹ năng lập trình PHP & MySQL trên nền phần mềm nguồn mở NukeViet.

Về hướng ra đề thi

Bài thi tập trung vào việc chỉnh sửa hoặc lập trình mới giao diện, module trên NukeViet. Thí sinh sẽ cần phải lấy mã nguồn, chỉnh sửa và đưa bài thi lên Github. Đề bài sẽ được công bố ngay trước khi thi.

Về số lượng sinh viên tham gia

1.              Ban tổ chức không hạn chế số lượng đội sinh viên tham gia cuộc thi OLP FOSS 2020.

2.              Tuy nhiên, mỗi đội sinh viên có số sinh viên tham gia tối đa là 03 (ba) người.

3.              Ban tổ chức sẽ không cung cấp máy tính. Sinh viên cần mang và sử dụng laptop cá nhân.

4.              Sinh viên được khuyến khích tương tác cùng cộng đồng nguồn mở NukeViet (diễn đàn, group Facebook, cộng đồng lập trình NukeViet trên github...) để chuẩn bị kiến thức trước khi thi

Về môi trường phát triển

A. Laptop: Khuyến khích cấu hình laptop như bên dưới hoặc tương đương.

1.              Tốc độ CPU 1.5 Ghz hoặc nhanh hơn.

2.              RAM 1GB hoặc nhiều hơn.

3.              Ổ cứng còn trống 3Gb hoặc nhiều hơn.

4.              Internet connection (LAN hoặc Wireless).

B. Môi trường:

5.              Linux (Ubuntu, CentOS, Fedora...).

Tiêu chí đánh giá

Một số tiêu chí đánh giá kết quả cuộc thi là:

1.              Thao tác được với mã nguồn trên Github.

2.              Phong cách lập trình rõ ràng, ghi chú đầy đủ trong code. Lập trình đúng chuẩn PSR-12 [12] là một lợi thế.

3.              Sử dụng được các framework có sẵn & các thư viện nguồn mở (tương thích giấy phép) là một lợi thế.

4.              Độ hoàn thiện, đẹp mắt, sáng tạo của sản phẩm.

Gợi ý

Để thực hiện tốt bài thi, thí sinh cần tìm hiểu cách cài đặt, sử dụng và lập trình giao diện, module NukeViet. Kiến thức nền tảng mà thí sinh cần có là PHP+MySQL.

Các tài liệu cần thiết thí sinh xem tại mục “Các cộng đồng nguồn mở và tài liệu hỗ trợ cho cuộc thi” ở cuối file.

Thời gian làm bài

Thời gian cho cuộc thi trong ngày là 06 (sáu) tiếng, từ 08h00 sáng tới 14h00 trong ngày thi. Sau đó các đội cần trình bày sản phẩm từ 14h00 tới 15h00.

Giải thưởng

Giải chính thức gồm giải nhất (một đội duy nhất), giải nhì và giải ba. Hội đồng giám khảo sẽ căn cứ vào chất lượng các bài thi để đề nghị số lượng giải thưởng nhì và ba.

Ngoài ra, BTC sẽ căn cứ vào quá trình thi sẽ có các giải phụ như:

-       Giải vì cộng đồng nguồn mở: Dành cho đội thi đã công bố nhiều sản phẩm miễn phí nhất lên kho mã nguồn NukeViet (NukeViet Store) [14] & và được nhiều người tải về nhất trước ngày thi OLP 2020.

-       Giải nhà phát triển nguồn mở tiềm năng: Dành cho đội thi có nhiều commit nhất lên kho code chính thức của NukeViet [15] trước ngày thi OLP 2020.

-       … và một số giải phụ khác.

Thông tin tham khảo

[1] NukeViet CMS: https://nukeviet.vn/

[2] Apache: https://httpd.apache.org/

[3] PHP: https://www.php.net/https://www.w3schools.com/php/DEFAULT.asp

[4] MySQL: https://www.mysql.com/https://www.mysqltutorial.org/

[5] HTML: https://developer.mozilla.org/vi/docs/Web/HTML

[6] Git: https://git-scm.com/https://github.com/

[7] Eclipse IDE for PHP Developers: https://www.eclipse.org/downloads/packages/release/2020-09/r/eclipse-ide-php-developers

[8] XAMPP: https://www.apachefriends.org/index.html

[9] phpMyAdmin: https://www.phpmyadmin.net/

[10] Bootstrap: https://getbootstrap.com/docs/3.3/

[11] JQuery: https://jquery.com/https://learn.jquery.com/

[12] PSR-12: https://www.php-fig.org/psr/psr-12/

[13] Hackathon là gì: https://en.wikipedia.org/wiki/Hackathon

[14]: NukeViet Store: https://nukeviet.vn/vi/store/

[15: Kho code NukeViet trên github: http://code.NukeViet.vnhttps://github.com/nukeviet/nukeviet

 

 

Các cộng đồng nguồn mở và tài liệu hỗ trợ cho cuộc thi

●      NukeViet's Facebook Group: https://www.facebook.com/groups/nukeviet

●      NukeViet's Forum: https://forum.nukeviet.vn/

●      Tài liệu hướng dẫn sử dụng: https://wiki.nukeviet.vn/nukeviet4

●      Tài liệu hướng dẫn lập trình: https://wiki.nukeviet.vn/technical_manual4

●      Video hướng dẫn sử dụng, lập trình: https://www.youtube.com/user/nukeviet/videos

 

Xem thêm chi tiết

  • Kết quả kỳ thi ICPC 2020 - Vòng khu vực phía Nam Kết quả kỳ thi ICPC 2020 - Vòng khu vực phía Nam
    Kỳ thi ICPC 2020 - Vòng khu vực phía Nam kết thúc lúc 13h20 ngày 25/10. Kết quả (scoreboard): http://hcmus-icpc.ml Cụ thể: + 378 teams tham dự và có 360 teams submit thành công (95%): 24 đội làm được 1 bài, 31 đội làm được 2 bài, 119 đội làm được 3 bài, 90 đội làm được 4 bài ,66 đội làm được 5 bài,...
  • Vòng ICPC miền Bắc và miền Trung Vòng ICPC miền Bắc và miền Trung
    Các đội khẩn trương hoàn thành đăng ký dự thi vòng ICPC miền Bắc và miền Trung sẽ diễn ra vào Chủ nhật 1/11/2020. Hạn cuối đăng ký vào 23:00 ngày 29/10/2020. Các đội chưa được accepted trên site cầu cần kiểm tra lại xem đã đủ thông tin liên hệ (contact của coach(es) gồm tối thiểu email và số điện t...
  • Vòng khu vực và Quốc gia 2020 Vòng khu vực và Quốc gia 2020
    Vòng Khu vực Bắc - Trung - Nam và Quốc gia Online bắt đầu khởi động từ 25/10/2020 Lịch thi chính thức các vòng Khu vực miền Trung, miền Bắc, miền Nam và Quốc gia Online The 2020 ICPC Vietnam Southern Provincial Programming Contest ICPC miền Nam (host ĐH KHTN - ĐHQG Tp HCM) ngày Chủ nhật: 25/10/2020...
  • Thông báo số 2 OLP và ICPC Thông báo số 2 OLP và ICPC
    1. Thời gian tổ chức: Olympic Tin học Sinh viên Việt Nam lần thứ 29 (OLP’20), PROCON 2020 và Kỳ thi lập trình ICPC Asia Can Tho tổ chức tại trường Đại học Cần Thơ từ 8 đến 11 tháng 12 năm 2020. Thông tin công bố trên website kỳ thi tại: http://www.OLP.vn/ và Kỳ thi lập trình sinh viên quốc tế ICPC A...
  • THÔNG BÁO SỐ 1 OLP và ICPC ASIA CẦN THƠ 2020 THÔNG BÁO SỐ 1 OLP và ICPC ASIA CẦN THƠ 2020
    Kính gửi: BAN GIÁM HIỆU CÁC TRƯỜNG ĐẠI HỌC VÀ CAO ĐẲNG Olympic Tin học Sinh viên Việt Nam lần thứ 29 (OLP’20) và Kỳ thi lập trình sinh viên Quốc tế ICPC Asia Cần Thơ dự kiến tổ chức từ ngày 8 đến 11 tháng 12 năm 2020 tại Đại học Cần Thơ (thời gian, hình thức tổ chức thi có thể điều chỉnh theo các qu...

Procon và Phần mềm nguồn mở

Nhà tài trợ

      Dành cho Nhà tài trợ

 

 

 

    

Khoa Công nghệ Thông tin & Truyền thông - Trường Đại học Cần Thơ
Địa chỉ: Khu II, đường 3/2, p. Xuân Khánh, q. Ninh Kiều, TP. Cần Thơ
Điện thoại: 84 0292 3 734713 - 0292 3 831301; Email: office@cit.ctu.edu.vn