Nếu có một Website với chức năng tổ chức thi trực tuyến, đồng thời có hệ thống các chuyên đề lí thuyết, bài tập, bộ test… để học sinh luyện thi, giải bài tập và tự chấm bài online sẽ góp
Trang 1MỤC LỤC
PHẦN I: MỞ ĐẦU
1 Lí do chọn đề tài
2 Ý nghĩa khoa học và thực tiễn của đề tài
3 Mục tiêu nghiên cứu
4 Giới hạn phạm vi nghiên cứu
5 Phương pháp nghiên cứu
5.1 Phương pháp nghiên cứu lí thuyết5.2 Phương pháp nghiên cứu thực tiễn
6 Nội dung nghiên cứu
7 Những điểm mới của sản phẩm
PHẦN II: PHẦN KẾT QUẢ VÀ THẢO LUẬN CHƯƠNG I: TỔNG QUAN NGHIÊN CỨU 1.1 Tổng quan về NNLT HTML
1.3.1 Khái niệm Javascript
1.3.2 Đặc điểm của Javascript
1.4 Tổng quan về Visual Studio Code
1.4.1 Khái niệm Visual Studio Code 1.4.2 Lí do nên sử dụng Visual studio Code CHƯƠNG II: KẾT QUẢ NGHIÊN CỨU 2.1 Các giai đoạn nghiên cứu
2.2 Kết quả điều tra
2.4.3 Giới thiệu Code
2.4.4 Hướng dẫn sử dụng
Trang 2
Công nghệ thông tin đã và đang giữ vai trò quan trọng trong tất cả các lĩnh vực của đời sống, kinh tế-xã hội Vì vậy việc dạy và học môn tin ngày càng được chú trọng Trong những năm qua, Sở Giáo dục và Đào tạo đã có nhiều văn bản hướng dẫn, công tác chỉ đạo về việc đẩy mạnh hiệu quả giảng dạy Một trong những giải pháp đó là kì thi chọn HSG môn Tin học đã được chú trọng, quan tâm , khuyến khích tham gia nhiều hơn Đây là sân chơi trí tuệ bổ ích, là cơ hội để thầy và trò các trường thể hiện tài năng, sự đam mê Tin học của mình Qua tìm hiểu thực tế, công tác bồi dưỡng HSG môn tin ở trường THPT Thanh Thủy được tiến hành bằng cách dạy và họctrực tiếp tại phòng máy tính Sau khi học lí thuyết, học sinh làm bài tập vận dụng hoặc bài thi và chấm bài tự động bằng phần mềm Themis web qua mạng LAN Tuy nhiên, trước diễn biến phức tạp của đại dịch COVID thì việc học và thi trực tuyếnđang ngày được quan tâm và đưa vào sử dụng nhiều hơn Nếu
có một Website với chức năng tổ chức thi trực tuyến, đồng thời
có hệ thống các chuyên đề lí thuyết, bài tập, bộ test… để học sinh luyện thi, giải bài tập và tự chấm bài online sẽ góp phần đảm bảo sức khỏe, tiết kiệm được nhiều thời gian, công sức cho giáo viên và học sinh
Vì vậy, nhóm tác giả đã nghiên cứu, lựa chọn đề tài
“Website Violympic Tin
học” với mục đích xây dựng một công cụ giúp giáo viên và học
Trang 3sinh tiến hành ôn luyện HSG môn Tin học một cách thuận tiện,hiệu quả và phù hợp với tình hình thực tế.
2 Ý nghĩa khoa học và thực tiễn của đề tài
Sản phẩm có thể áp dụng để tiến hành kiểm tra đánh giá chương trình tin học lập trình ở THCS, THPT và các cấp học khác có môn học này
Sản phẩm có thể áp dụng vào học lập trình tin học chính khóa cũng như phục vụ
luyện thi HSG môn Tin học lập trình các cấp
Sản phẩm có thể áp dụng để tổ chức các kì thi HSG cấp trường, cấp huyện, cấp tỉnh, cấp QG trực tuyến, tiết kiệm đượcrất nhiều chi phí, nhân lực, thời gian và công sức cho ban tổ chức và người tham gia dự thi
Sản phẩm chạy được trên mọi trình duyệt web, giao diện đẹp mắt, thân thiện, dễ sử dụng nên có khả năng ứng dụng rộng rãi
Từ đó, góp phần phổ biến rộng rãi một phương pháp học tập và giảng dạy mới trong xã hội hiện đại
3 Mục tiêu nghiên cứu
Mục tiêu chung:
Nghiên cứu nhằm tạo ra một sản phẩm giúp giải quyết vấn
đề học và thi trực tuyến môn Tin học trong thời kì hiện đại đặc biệt trong bối cảnh covid hiện nay
Tạo ra sản phẩm mới, riêng biệt hỗ trợ HS và GV trong việchọc tập và giảng dạy môn Tin học một cách hiệu quả, sáng tạo nhất
Tạo một sân chơi để các bạn có thể giao lưu học hỏi, phổ biến rộng rãi các kiến thức từ cơ bản đến chuyên sâu về môn Tin học
Mục tiêu cụ thể:
Phần mềm “ Website Violympic Tin học” hỗ trợ GV, CV trong việc giao bài kiểm tra, hay tổ chức các cuộc thi Tin học cho HS một cách dễ dàng, khoa học
HS dễ tiếp cận với việc học tập môn Tin học, làm nền tảng
hỗ trợ học chuyên sâu về công nghệ thông tin sau này
Phần mềm đạt được hiệu quả trong việc hỗ trợ tổ chức các
Trang 4kì thi môn Tin học trong các nhà trường.
4 Giới hạn phạm vi nghiên cứu
Phạm vi nghiên cứu: Nghiên cứu mong muốn của HS, GV ở các trường THCS và THPT trên địa bàn huyện Thanh Thủy về việc học tập và thi trực tuyến môn Tin học trong quá trình giảng dạy và kiểm tra Nghiên cứu các công cụ và phần mềm
để lập trình hoàn thiện sản phẩm “ Website Violympic Tin học”
Quy mô: HS và GV các trường THCS, THPT trên địa bàn huyện Thanh Thủy
Thời gian nghiên cứu: 8 tháng
Đối tượng áp dụng: HS và GV cấp THCS, THPT mong muốntham gia thi trực tuyến môn Tin học
5.Phương pháp nghiên cứu
5.1 Phương pháp nghiên cứu lý thuyết
Sử dụng phương pháp phân tích, tổng hợp, thu thập dữ liệu, hệ thống hóa lí thuyết để nghiên cứu về: Cách thức tổ chức cuộc thi Tin Học online đối với các cấp THCS, THPT; Visual Studio Code; NNLT HTML, CSS, JavaScript; MongoDB; Các Framework Express.JS, React.JS và Node.JS React.JS
5.2 Phương pháp nghiên cứu thực tiễn
- Phương pháp điều tra, khảo sát: Nghiên cứu điều tra khảo sátthực tế về mong muốn của GV, HS về phương pháp học tập và tạo các kì thi trực tuyến môn Tin học trường THPT Thanh Thuỷ, THCS Thanh Thuỷ, THPT Trung Nghĩa, THCS Xuân Lộc, THCS Yến Mao, THCS Bảo Yên, THCS La Phù, THPT Tản Đà
- Phương pháp kiểm thử: Tiến hành kiểm thử phần mềm, tạo kì thi Violympic Tin học cấp trường đối với trường THPT Thanh Thuỷ, THCS Thanh Thuỷ
6 Nội dung nghiên cứu
Điều tra tỉ lệ HS hứng thú với việc học tập và trải nghiệm thi môn Tin học trực tuyến
Điều tra tỉ lệ GV mong muốn có các bài kiểm tra, các kì thi Tin học trực tuyến
Trang 5Đánh giá kết quả việc học tập, làm bài thi của HS và việc giao bài kiểm tra của GV qua phần mềm “ Website Violympic Tin học”.
Nghiên cứu các phần mềm Visual Studio Code hỗ trợ viết câu lệnh, lập trình và chấm bài tự động
Nghiên cứu Photoshop để tạo ra giao diện của phần mềm
7 Những điểm mới của sản phẩm
Hiện nay, có một số trang web hỗ trợ giải các bài tập lập trình môn Tin học như ntucoder.net, spoj.vn… giáo viên và học sinh thường sử dụng để ôn luyện thi HSG Quốc gia, Quốc tế Các website này chưa có chức năng để giáo viên tổ chức các kì thi, “ Website Violympic Tin học” sẽ hỗ trợ điều đó
Tin học trực tuyến hay đăng tài liệu, bài tập và bộ test phù hợp với đối tượng HS của mình, nên ít được giáo viên và học sinh sử dụng trong các kì thi chọn HSG cấp Tỉnh
Hiện nay, có rất ít phần mềm hỗ trợ việc luyện thi, làm bài kiểm tra hay giao bài tập đánh giá năng lực cho HS dành riêngcho môn Tin học Phần mềm “Website Violympic Tin học” là nơi HS và GV có thể cùng nhau học tập và nghiên cứu Tin học, thỏa mãn niềm đam mê, khám phá tài năng về công nghệ thông tin
Sản phẩm của chúng em là một sản phẩm miễn phí, dễ sử dụng đối với GV và HS:
+ Giao diện hoàn toàn bằng tiếng Việt
+ Giáo viên có thể sử dụng chức năng để đăng bài tập, bộtest phù hợp với mức độ học sinh của mình để các em luyện tập
+ Ngoài ra, website còn có chức năng tạo kì thi trực tuyến, thay đổi đề bài, gia hạn thời gian ngay khi gặp sự cố, chấm bài và trả ra kết quả ngay khi hết thời gian thi
+ HS còn có thể kiến nghị ngay với người ra đề khi thấy
Trang 6đề bài có sai sót và được đổi câu hỏi dự phòng ngay sau đó để không làm gián đoạn bài thi.
+ HS có thể trò chuyện trực tiếp với GV hay HS khác để chia sẻ kinh nghiệm hay giải đáp các thắc mắc
Với diễn biến phức tạp của đại dịch COVID, thì sử dụng website vào dạy và
luyện thi HSG môn Tin học trực tuyến có ý nghĩa rất lớn đối vớiviệc đảm bảo an toàn sức khỏe, đồng thời giúp tiết kiệm được thời gian, công sức cho GV và HS
PHẦN II: PHẦN KẾT QUẢ VÀ THẢO LUẬN CHƯƠNG I: TỔNG QUAN NGHIÊN CỨU
1 Tổng quan về NNLT HTML
1.1 Tổng quan về HTML và các công nghệ trợ giúp.
Trang 71.1.1 Khái niệm HTML
HTML (viết tắt của từ Hypertext Markup Language, hay là "Ngôn ngữ Đánh dấu Siêu văn bản") là một ngôn ngữ đánh dấu được thiết kế ra để tạo nên các trang web trên WorldWide Web Nó có thể được trợ giúp bởi các công nghệ như
“CSS”[1] và các ngôn ngữ kịch bản giống như “JavaScript”[2]
Mô tả HTML công khai đầu tiên là một tài liệu có tên
"HTML Tags", lần đầu tiên được đề cập trên Internet bởi Tim Berners-Lee vào cuối năm 1991
1.1.2 Đặc điểm của HTML
● HTML sử dụng các thẻ (tags) để định dạng dữ liệu
● HTML không phân biệt chữ hoa chữ thường
● Các trình duyệt thường không báo lỗi cú pháp HTML
● Khi viết sai cú pháp thì trình duyệt sẽ không hiển thị đúng với dự định của lập trình viên
● Có nhiều thẻ, mỗi thẻ có một tên và mang ý nghĩa khác nhau
Trang 8gọn hơn là ngôn ngữ tạo phong cách cho trang web (Công nghệ hỗ trợ HTML) Bạn có thể hiểu đơn giản rằng, nếu HTMLđóng vai trò định dạng các phần tử trên website như việc tạo
ra các đoạn văn bản, các tiêu đề, bảng,…thì CSS sẽ giúp
chúng ta có thể thêm style vào các phần tử HTML đó như đổi
bố cục, màu sắc trang, đổi màu chữ, font chữ, thay đổi cấu trúc…
CSS được phát triển bởi W3C (World Wide Web Consortium) vào năm 1996, vì HTML không được thiết kế để
gắn tag để giúp định dạng trang web
1.2.2 Đặc điểm của CSS
● CSS giúp bạn thực hiện định kiểu mọi thứ mình muốn lên một file khác Nhờ vậy, bạn có thể tạo ra được những phong cách phù hợp rồi mới tích hợp các file CSS lên trên cùng file của HTML Điều này sẽ giúp cho HTML được rõ ràng nhất và người dùng có thể quản lý website dễ dàng hơn
● Sử dụng CSS sẽ giúp bạn không cần thực hiện lặp lại các
mô tả cho từng thành phần Từ đó, bạn có thể tiết kiệm được tối đa thời gian làm việc với nó, làm code ngắn lại giúp kiểm soát dễ dàng hơn các lỗi không đáng có
● CSS giúp người dùng nhiều styles trên một trang web HTML
● Nhờ CSS mà mã nguồn của trang Web sẽ được tổ chức gọn gàng hơn, trật tự hơn, nội dung trang web sẽ được tách bạch hơn trong việc định dạng hiển thị Từ đó, quá trình cập nhập nội dung sẽ dễ dàng hơn và có thể hạn chếtối thiểu làm rối cho mã HTML
● CSS tạo ra nhiều kiểu dáng nên có thể được áp dụng với nhiều trang web, từ đó giảm tránh việc lặp lại các định dạng của các trang web giống nhau
1.3 Tổng quan về JavaScript
1.3.1 Khái niệm JavaScript
JavaScript, theo phiên bản hiện hành, là một ngôn ngữ
lập trình thông dịch được phát triển từ các ý niệm nguyên mẫu.Ngôn ngữ này được dùng rộng rãi cho các trang web (phía
Trang 9người dùng) cũng như phía máy chủ (với Nodejs) Nó vốn được phát triển bởi Brendan Eich tại Hãng truyền thông Netscape với cái tên đầu tiên Mocha, rồi sau đó đổi tên thành LiveScript,
và cuối cùng thành JavaScript
1.3.2 Đặc điểm của JavaScript
● Frontend: JavaScript cùng với HTML và CSS trở thành
ba thứ không thể thiếu khi lập trình website Ngoài ra, có rất nhiều thư viện / framework JavaScript được tạo ra giúp việc lập trình trở nên đơn giản hơn như: React, Angular, Vue,
● Backend: với sự ra đời của Node.js, bạn đã có thể sử dụng JavaScript phía server
● Ứng dụng máy tính: bạn có thể sử dụng framework Electron để tạo nên ứng dụng đa nền tảng cho máy tính Một số ứng dụng nổi tiếng có thể kể đến là: Atom, Visual Studio Code, GitKraken, Wordpress.com,
● Ứng dụng điện thoại: React-Native, NativeScript, giúp xây dựng ứng dụng điện thoại trên Android và iOS
● Ngoài ra, một số database sử dụng JavaScript là kịch bản
và ngôn ngữ truy vấn như: MongoDB, CouchDB,
● Tạo thêm HTML cho trang web, thay đổi những phần tử
có sẵn, điều chỉnh style (màu sắc, kích thước, hiệu ứng di chuyển, )
● Tương tác với người dùng qua việc nhấn chuột, di chuyển chuột, gõ bàn phím,
● Tương tác với web server qua việc gọi web API để tải xuống dữ liệu, tải lên dữ liệu,
● Hiển thị thông báo cho người dùng
● Lưu dữ liệu phía người dùng để sử dụng lại khi người dùng tải lại trang
1.4 Tổng quan về Visual Studio Code
Visual Studio Code là một trong những trình soạn thảo gọn nhẹ, đa nền tảng,hỗ trợ nhiều NNLT, cung cấp nhiều tiện ích hỗ trợ lập trình viên trong các dự án Vì vậy, Visual Studio Code ngày càng được ứng dụng rộng rãi
1.4.1 Khái niệm Visual Studio Code
Là một trình biên tập lập trình code miễn phí dành cho Windows, Linux và macOS, Visual Studio Code được phát triển bởi Microsoft Nó được xem là một sự kết hợp hoàn hảo giữa IDE và Code Editor
Trang 101.4.2 Lý do nên sử dụng Visual Studio Code
Lý do bạn nên sử dụng Visual Studio Code là vì nó có rất nhiều ưu điểm vượt trội so với bất kỳ IDE nào khác:
- Hỗ trợ đa nền tảng: Windows, Linux, Mac
- Hỗ trợ đa ngôn ngữ: C/C++, C#, F#, Visual Basic, HTML, CSS, JavaScript,
JSON
- Ít dung lượng
- Tính năng mạnh mẽ
- Intellisense chuyên nghiệp
- Giao diện thân thiện
Và trên hết, Visual Studio Code là phần mềm miễn phí, được đông đảo lập
trình viên trên thế giới sử dụng
CHƯƠNG II: KẾT QUẢ NGHIÊN CỨU2.1.Các giai đoạn nghiên cứu
Trang 11● Giai đoạn 1: Điều tra thực tế về việc phương pháp học tập
và việc giảng dạy môn Tin học ở một số trường trong huyện
● Giai đoạn 2: Khảo sát mong muốn của HS, GV về việc học tập, làm bài, và thi trực tuyến môn Tin học trên phần mềm
● Giai đoạn 3: Nghiên cứu và thực hiện viết phần mềm “ Website Violympic Tin học”
● Giai đoạn 4: Thử nghiệm và hoàn chỉnh phần mềm
2.2 Kết quả điều tra
Hiện nay, qua điều tra thực tế, hầu hết việc học tập và giảng dạy bộ môn Tin học trong các trường của huyện như THPT Thanh Thủy, THCS Thanh Thủy, THPT Trung Nghĩa, THCS Xuân Lộc, THCS Yến Mao, THCS Bảo Yên, THCS La Phù, THPT Tản Đà đều diễn ra bằng hình thức trực tiếp tại trường học
Các bài kiểm tra thường xuyên, kì thi giữa kì, cuối kì môn Tin học đều thi trên giấy và học sinh viết câu trả lời Một số kì thi như thi HSG môn Tin học cấp tỉnh khối THCS hay THPT đề thi cũng được giao bằng giấy, học sinh làm bài trên máy tính nhưng thường vẫn chấm thủ công
Việc làm bài thi tin học trên giấy có thể làm hạn chế một sốthao tác trên máy tính của học sinh ( soạn thảo văn bản, vị trí cách sử dụng các nút lệnh, câu lệnh, cách định dạng trình bày, ) Việc chấm bài của thủ công của giáo viên cũng mất khá nhiều thời gian
2.3 Kết quả khảo sát
Phạm vi khảo sát:
GV tin học trường THPT Thanh Thủy, THCS Thanh Thủy, THPT Trung Nghĩa, THCS Xuân Lộc, THCS Yến Mao, THCS Sơn Thủy, THCS La Phù, THCS Bảo yên, THPT Tản Đà
Học sinh khối 12 - Trường THPT Thanh Thủy
Học sinh khối 9 - Trường THCS Thanh Thủy
2.3.1 Kết quả khảo sát GV
Tiến hành điều tra GV tin học trường THPT Thanh Thủy (03GV), THPT Trung Nghĩa (03 GV), THPT Tản Đà (03 GV), THCS Xuân Lộc (02 GV), THCS Yến Mao (02 GV), THCS Sơn Thủy (01 GV), THCS La Phù (02 GV), THCS Bảo Yên (02 GV), THCS
Trang 12Thanh Thủy(02 GV).
Số phiếu điều tra: 20 phiếu
Số câu hỏi: 05 câu
Câu 1: Thầy (cô) có tổ chức cho học sinh làm bài thi tin học
trên máy tính không?
Rất thường xuyên 30
Thường xuyên 60
Không bao giờ 00
Câu 2: Thầy cô có sử dụng phần mềm trực tuyến để giao bài
và chấm điểm tự động không?
Trang 19try {
var result = await axios({
method: 'post',
url: 'https://ce.judge0.com/submissions/? base64_encoded=false&wait=true',
Trang 20var objResultTest = {};
var stdout = result.data.stdout;
if (stdout === null) stdout = "";
stdout = stdout.trim();
var output = problem.problemTestCase[i].output.trim();
if (stdout === output){
objResultTest.status = "CORRECT";
objResultTest.score = problem.problemTestCase[i].score;
score += parseInt(problem.problemTestCase[i].score);
}
else{
switch (result.data.status.description){ case ("Time limit exceeded"):
objResultTest.status = "TIME LIMIT EXCEEDED";