Hệ Thống Giải Bài Tập Lập Trình C Với Đánh Giá Bloom Từng Chương

Khám phá hệ thống giải bài trực tuyến cho môn lập trình C, từ cơ bản đến nâng cao, theo hệ thống đánh giá Bloom. Tài liệu hữu ích cho sinh viên.

Trường đại học

Trường Đại Học

Chuyên ngành

Lập Trình

Người đăng

Ẩn danh

Thể loại

Đề Tài Nghiên Cứu

2023

152
1
0

Phí lưu trữ

45 Point

Mục lục chi tiết

1. CHƯƠNG 1: CÁC KHÁI NIỆM CƠ BẢN CỦA C++

2. CHƯƠNG 2 - CẤU TRÚC RẼ NHÁNH

3. CHƯƠNG 3 - CẤU TRÚC VÒNG LẶP

4. CHƯƠNG 4 – KIỂU DỮ LIỆU MẢNG MỘT CHIỀU

5. CHƯƠNG 5 – KIỂU DỮ LIỆU MẢNG HAI CHIỀU

6. CHƯƠNG 6 – KIỂU DỮ LIỆU XÂU KÝ TỰ

7. CHƯƠNG 7 - KIỂU DỮ LIỆU TỆP VĂN BẢN

8. CHƯƠNG 8 - HÀM VÀ CẤU TRÚC HÀM

9. CHƯƠNG 9 – KIỂU DỮ LIỆU STRUCT

10. CHƯƠNG 10 – MỘT SỐ THUẬT TOÁN SỐ HỌC CƠ BẢN

11. CHƯƠNG 11 – ĐỆ QUY

TÀI LIỆU THAM KHẢO

PHẦN I – ĐẶT VẤN ĐỀ

1.1. Lý do chọn đề tài

1.2. Mục đích nghiên cứu

1.3. Nhiệm vụ nghiên cứu

1.4. Các phương pháp nghiên cứu chính

PHẦN II – NỘI DUNG NGHIÊN CỨU

2.1. CÀI ĐẶT WEBSITE LAPTRINHPHOTHONG.VN

2.1.1. Giới thiệu về laptrinhphothong.vn

2.1.2. Hướng dẫn sử dụng cho quản trị viên

2.1.3. Nhập nội dung bài tập mới

2.1.4. Nhập các test case của bài tập

2.1.5. Kiểm tra lại trước khi publish

2.1.6. Hướng dẫn sử dụng cho người dùng

2.1.6.1. Đăng ký sử dụng
2.1.6.2. Đăng nhập và giải bài

2.2. XÂY DỰNG HỆ THỐNG BÀI TẬP

2.2.1. Các nguyên tắc xây dựng

2.2.2. Các bước xây dựng

Tóm tắt

I. Phân loại bài tập lập trình C theo Hệ thống Đánh giá Bloom

Phần này tập trung vào phân loại bài tập lập trình C theo hệ thống đánh giá Bloom, cụ thể là sáu cấp độ: Nhớ, Hiểu, Vận dụng, Phân tích, Đánh giá, và Sáng tạo. Tài liệu đề cập đến việc sử dụng thang đo Bloom (2001) như một khung phân loại hiệu quả. Mỗi cấp độ được minh họa bằng các ví dụ cụ thể trong bài tập lập trình. Việc áp dụng Bloom giúp cấu trúc bài tập từ cơ bản đến nâng cao, phù hợp với quá trình học tập của sinh viên. Bài tập lập trình C cơ bản sẽ tập trung vào các cấp độ thấp hơn như NhớHiểu, trong khi bài tập lập trình C nâng cao sẽ yêu cầu các cấp độ cao hơn như Phân tích, Đánh giá, và Sáng tạo. Giải bài tập lập trình C cũng sẽ được hướng dẫn chi tiết theo từng cấp độ Bloom, giúp sinh viên hiểu rõ hơn về cách tiếp cận và giải quyết vấn đề.

1.1 Cấp độ Nhớ Remember trong lập trình C

Ở cấp độ Nhớ, bài tập lập trình C tập trung vào việc kiểm tra khả năng ghi nhớ kiến thức cơ bản. Sinh viên cần nhớ lại các cú pháp, thư viện, và khái niệm cốt lõi của ngôn ngữ C. Ví dụ: Viết chương trình in ra màn hình câu chào “Hello, world!”. Hoặc: Khai báo biến kiểu int, float, char. Đây là những bài tập đơn giản, kiểm tra khả năng nhớ lại kiến thức đã học. Bài tập lập trình C có lời giải ở cấp độ này thường ngắn gọn, tập trung vào việc thực hiện chính xác các cú pháp. Mục tiêu học tập chính là ghi nhớ và áp dụng chính xác các kiến thức cơ bản. Việc đánh giá ở cấp độ này tương đối đơn giản, tập trung vào việc kiểm tra kết quả đúng/sai của chương trình. Bài tập lập trình C theo từng cấp độ độ Bloom giúp sinh viên có cái nhìn tổng quan và hệ thống về kiến thức.

1.2 Cấp độ Hiểu Understand trong lập trình C

Cấp độ Hiểu đòi hỏi sinh viên không chỉ nhớ mà còn hiểu ý nghĩa và ứng dụng của các khái niệm. Bài tập lập trình C ở cấp độ này thường yêu cầu giải thích cách hoạt động của một đoạn mã hoặc sửa lỗi trong một chương trình đơn giản. Ví dụ: Giải thích hoạt động của vòng lặp for. Hoặc: Sửa lỗi trong chương trình tính tổng hai số nguyên. Bài tập lập trình C có lời giải ở cấp độ này sẽ giải thích chi tiết về cách thức hoạt động của chương trình và nguyên nhân của lỗi. Mục tiêu học tập là hiểu sâu sắc về các khái niệm và áp dụng chúng vào việc giải quyết các bài toán đơn giản. Sinh viên cần nắm bắt được mối quan hệ giữa các khái niệm và khả năng diễn giải chúng một cách rõ ràng. Bài tập lập trình C theo từng cấp độ Bloom ở cấp độ này đòi hỏi sinh viên có khả năng phân tích và tổng hợp kiến thức.

1.3 Cấp độ Vận dụng Apply trong lập trình C

Ở cấp độ Vận dụng, sinh viên cần áp dụng kiến thức đã học vào việc giải quyết các bài toán cụ thể. Bài tập lập trình C sẽ phức tạp hơn, yêu cầu sinh viên thiết kế thuật toán và viết chương trình để giải quyết vấn đề. Ví dụ: Viết chương trình tìm số lớn nhất trong một mảng số nguyên. Hoặc: Viết chương trình tính giai thừa của một số nguyên. Bài tập lập trình C có lời giải ở cấp độ này sẽ tập trung vào việc phân tích bài toán, thiết kế thuật toán và triển khai chương trình. Mục tiêu học tập là khả năng vận dụng kiến thức đã học vào việc giải quyết các bài toán thực tế. Sinh viên cần có khả năng phân tích bài toán, thiết kế thuật toán hiệu quả và viết mã nguồn chính xác. Bài tập lập trình C theo từng cấp độ Bloom ở cấp độ này đánh giá năng lực giải quyết vấn đề của sinh viên.

1.4 Cấp độ Phân tích Analyze Đánh giá Evaluate và Sáng tạo Create trong lập trình C

Các cấp độ Phân tích, Đánh giá, và Sáng tạo đòi hỏi khả năng tư duy cấp cao hơn. Bài tập lập trình C ở các cấp độ này thường phức tạp, đòi hỏi sinh viên phải phân tích, so sánh, đánh giá và sáng tạo ra giải pháp mới. Ví dụ: Phân tích: So sánh hiệu quả của hai thuật toán sắp xếp khác nhau. Đánh giá: Đánh giá tính đúng đắn và hiệu quả của một đoạn mã. Sáng tạo: Thiết kế một chương trình quản lý dữ liệu mới. Bài tập lập trình C có lời giải sẽ hướng dẫn sinh viên cách tiếp cận bài toán một cách hệ thống, logic. Mục tiêu học tập là rèn luyện khả năng tư duy phản biện, đánh giá và sáng tạo. Bài tập lập trình C theo từng cấp độ Bloom ở các cấp độ này giúp sinh viên phát triển khả năng giải quyết vấn đề phức tạp và khả năng sáng tạo.

II. Ứng dụng thực tiễn và giá trị của phương pháp

Áp dụng hệ thống đánh giá Bloom trong giảng dạy lập trình C mang lại nhiều lợi ích. Giáo trình lập trình C tích hợp Bloom giúp sinh viên hiểu rõ hơn về các cấp độ nhận thức cần đạt được. Việc phân loại bài tập lập trình C theo từng cấp độ Bloom giúp giáo viên xây dựng bài giảng và bài tập phù hợp với trình độ của sinh viên. Thực hành lập trình C dựa trên Bloom giúp sinh viên phát triển khả năng tư duy logic và giải quyết vấn đề. Ôn tập lập trình C theo Bloom cũng giúp sinh viên hệ thống hóa kiến thức một cách hiệu quả. Đề thi lập trình C theo Bloom sẽ đánh giá toàn diện năng lực của sinh viên. Phương pháp này góp phần nâng cao chất lượng giảng dạy và học tập môn lập trình C.

31/01/2025
Skkn hệ thống giải bài trực tuyến nhập môn lập trình với c với từng chương và các bài tập vận dụng từ thấp đến cao theo hệ thống đánh giá bloom

Trích đoạn nội dung tài liệu

ĐẶT VẤN ĐỀ 1. Lý do chọn đề tài Theo Chƣơng trình giáo dục phổ thông 2018 đƣợc Bộ Giáo dục và Đào tạo ban hành kèm Thông tƣ số 32/2018/TT-BGDĐT ngày 26/12/2018, môn Tin học có triết lý cốt lõi tạo ra một thế hệ mới có tƣ duy áp dụng công nghệ trong giải quyết các vấn đề thực tế. Vì vậy, những kiến thức về phần giải thuật và lập trình đóng vai trò rất quan trọng trong chƣơng trình tin học ở bậc THPT. Hiện tại chất lƣợng việc dạy học Tin học ở nhà trƣờng THCS và THPT trong cả nƣớc nói chung, tỉnh Nghệ An nói riêng còn ở mức độ khá thấp, tuy đã đƣợc chú trọng, song trình độ giáo viên còn hạn chế, việc tìm tòi kiến thức còn gặp nhiều khó khăn trong xu thế liên tục đổi mới công nghệ nói chung và bộ môn Tin học nói riêng.

Lập trình là một phần rất quan trọng trong nội dung chƣơng trình bộ môn Tin học hiện tại và cả nội dung chƣơng trình Giáo dục phổ thông 2018, là mạch kiến thức quan trọng nhất trong 3 mạch kiến thức của Tin học bao gồm: CS, ICT, DL. Hiện tại phần lập trình trong SGK Tin học cơ bản đang minh họa bằng ngôn ngữ lập trình Pascal. Đây là ngôn ngữ có nhiều đóng góp trong lịch sử phát triển của Tin học thế giới. Tuy nhiên, với xu thế phát triển của thời đại 4.0, ngôn ngữ Pascal không còn đƣợc hỗ trợ nhiều và chính thức bị Tổ chức Olympic Tin học Quốc tế đƣa ra ngoài danh sách ngôn ngữ lập trình trong nhà trƣờng phổ thông từ năm 2020.

Trƣớc nhu cầu học tập của học sinh theo chƣơng trình giáo dục phổ thông 2018 và hỗ trợ giáo viên có công cụ giảng dạy tốt nhập môn lập trình, chúng tôi ++ thiết kế “Hệ thống giải bài trực tuyến nhập môn lập trình với C ” với từng chƣơng và các bài tập vận dụng từ thấp đến cao theo hệ thống đánh giá Bloom. Mục đích nghiên cứu Nghiên cứu một số vấn đề khó khăn gặp phải khi giảng dạy lập trình trong nhà trƣờng phổ thông và đƣa ra giải pháp xây dựng một hệ thống bài tập và một công cụ E-learning đi kèm. Nghiên cứu hệ thống đánh giá Bloom (2001) từ đó tạo ra hệ thống bài tập phân loại theo 6 mức: Nhớ, Hiểu, Vận dụng, Phân tích, Đánh giá, Sáng tạo. 11 skkn Algorithm with C++ 1.

Nhiệm vụ nghiên cứu Chúng tôi xây dựng là một hệ thống học tập Elearning bao gồm: - Website JUDGE có chức năng có thể chấm bài tự động, kiểm tra đánh giá, hỗ trợ học tập cho học sinh, hỗ trợ giáo viên soạn bài giảng môn lập trình một cách dễ dàng, giảm thiểu khó khăn cho giáo viên, tăng cƣờng tính hợp tác, thi đua trong việc dạy và học môn lập trình. - Hệ thống bài tập nhập môn C++ với nhiều ví dụ chọn lọc và phân loại các mức nhận biết theo thang đánh giá Bloom. Các phƣơng pháp nghiên cứu chính - Nghiên cứu lý luận: Chúng tôi xem xét cách phân chia các mức độ nhận thức theo thang Bloom để vận dụng trong việc phân loại hệ thống bài tập. - Điều tra, quan sát: Thực trạng về tình hình dạy và học lập trình trong nhà trƣờng phổ thông.

- Tổng kết kinh nghiệm: Tổng hợp kinh nghiệm dạy và học của bản thân, đồng nghiệp, học sinh trong quá trình dạy học nhập môn lập trình. 12 skkn Algorithm with C++ PHẦN II – NỘI DUNG NGHIÊN CỨU 2. CÀI ĐẶT WEBSITE LAPTRINHPHOTHONG.VN Trong phần này chúng tôi đã sử dụng nền tảng của NTUCoder xây dựng nên một trang web dạng JUDGE – có chức năng chấm bài tự động với nhiều loại ngôn ngữ khác nhau nhƣ: C, C++, Python2, Python3 – đây là các ngôn ngữ đƣợc chƣơng trình 2018 khuyến khích sử dụng. Giới thiệu về laptrinhphothong.vn Từ phía ngƣời dùng giao diện của laptrinhphothong.vn bao gồm các menu: Trang chủ, Bài tập, Kỳ thi, Hỏi & đáp, Bảng chấm bài, Bài viết, Chaxbox.

Ngƣời dùng có thể đăng ký để làm bài tập thông qua chức năng đăng ký. Các chức năng của trang đều đơn giản dễ sử dụng. Khi vào menu bài tập, sẽ hiển thị hệ thống bài tập. Click vào các bài tập cụ thể ta sẽ có nội dung và qua đó sử dụng chức năng giải bài và nạp bài: 13 skkn Algorithm with C++ Hệ thống bao gồm một máy chấm đƣợc cài đặt trên server online.

Ngƣời sử dụng có thể nạp bài bất cứ thời điểm nào khi có kết nối internet. Hƣớng dẫn sử dụng cho quản trị viên Để đăng nhập có thể sử dụng: Tài khoản: hieptt@nghean.vn - Mật khẩu: 0983713301 2. Nhập nội dung bài tập mới Các nội dung cần nhập:  Mã bài tập: duy nhất trong toàn bộ danh sách bài tập.  Tên bài tập: Mô tả tên của bài tập.

 Giới hạn thời gian và bộ nhớ: có thể thiết lập thời gian và bộ nhớ cần dùng cho chƣơng trình.  Nội dung bài tập: Phát biểu bài toán.  Giải thích ví dụ: phần xuất hiện bên dƣới ví dụ.  TestType: có 2 dạng o Output Matching: So sánh kết quả của user với kết quả đáp án, đƣợc áp dụng khi kết quả đáp án là duy nhất.

o Verify Output: áp dụng khi có nhiều đáp án, lúc này cần viết chƣơng trình chấm test, tức đọc kết quả của user để kiểm tra. Trong trƣờng hợp này cần nhập thêm TestCompiler (trình biên dịch code chấm test) và Code chấm test.  ReviewCoder: mời một ProblemSetter khác tham gia xem lại bài này. Ngƣời đƣợc mời chỉ có thể xem và test thử, không sửa đƣợc bài tập.

Nếu không mời ngƣời review thì để trống.  Published: Check vào thì bài tập mới xuất hiện cho user thấy. 14 skkn Algorithm with C++ 2. Nhập các test case của bài tập Nhấn nút Thêm mới để đƣa vào testcase mới.

- Sample test: là test case sẽ hiển thị khi user xem bài tập. - PreTest: hiện tại chƣa sử dụng 2. Kiểm tra lại trƣớc khi publish 15 skkn Algorithm with C++  Xem trước: Chọn nút cái kính lúp , giống nhƣ là user bình thƣờng xem một bài tập, kể cả bài này chƣa đƣợc publish  Chạy test trước: Chọn nút 2 bánh xe : 2. Hƣớng dẫn sử dụng cho ngƣời dùng 2.

Đăng ký sử dụng Chức năng đăng ký sử dụng nằm ở góc phải trên của website. Sau khi click vào ô đăng ký, website sẽ cho ta khung đăng ký sau: 16 skkn Algorithm with C++ Sau khi nhập tên tài khoản (user), đặt password, email thì một đƣờng dẫn kích hoạt sẽ gửi cho ngƣời dùng qua tài khoản email. Việc đăng ký là dễ dàng đối với ngƣời sử dụng. Đăng nhập và giải bài Sau khi đăng nhập ngƣời dùng có thể sử dụng các chức năng chatbox, nạp bài, comment trên các bài viết.

Cụ thể phần giải bài nằm trong menu bài tập nhƣ sau: Để giải bài tập nào ngƣời dùng click vào mã bài đó, đọc đề và tiến hành giải bài. Ngƣời dùng có thể giải bài trên CodeBlock rồi copy mã nguồn nạp lên trang nhƣ sau: Click vào menu Nộp bài, sẽ hiển thị ra ô TextBox để nạp mã nguồn: 17 skkn Algorithm with C++ Ngƣời dùng có thể sao chép mã nguồn và dán trực tiếp vào ô soạn thảo của website, hoặc có thể upload file chƣơng trình từ bộ nhớ ngoài của máy tính. Sau đó click vào nút Nộp bài và chờ kết quả trả về. Trình chấm của website sẽ trả về các kết quả sau: - Accepted: bài làm đúng tất cả các test.

- Wrong answer: có một test cho kết quả sai. - Runtime error: lỗi chạy chƣơng trình (tràn mảng, chia cho 0, exit code khác 0. - Time limit exceed: chạy quá giới hạn thời gian của bài tập. - Memory limit exceed: chạy quá giới hạn bộ nhớ của bài tập.

- Output size limit exceed: xuất kết quả quá lớn. - Compilation error: Biên dịch lỗi. Ngƣời sử dụng thông qua kết quả chấm có thể điều chỉnh lại code của mình và tiếp tục nạp để giải bài. 18 skkn Algorithm with C++ 2.

XÂY DỰNG HỆ THỐNG BÀI TẬP 2. Các nguyên tắc xây dựng Thang đo Bloom về các cấp độ tƣ duy đƣợc Benjamin Bloom, một giáo sƣ của trƣờng Đại học Chicago, đƣa ra vào năm 1956. Trong đó Bloom có nêu ra sáu cấp độ nhận thức (gọi là thang đo Bloom) với sáu mức độ nhận thức tƣơng ứng là: Biết, Hiểu, Vận dụng, Phân tích, Tổng hợp, Đánh giá. Thang đo này đã đƣợc sử dụng trong hơn năm thập kỷ qua đã khẳng định ƣu điểm của phƣơng pháp dạy học nhằm khuyến khích và phát triển các kỹ năng tƣ duy của ngƣời học ở mức độ cao.

Sau đó vào năm 2001, tiến sỹ Lorin Anderson cùng với các cộng sự đƣa ra Thang đánh giá Bloom (2001) phân chia sáu cấp độ nhận thức nhƣ sau: Nhớ (Remmember), Hiểu (Understand), Vận dụng (Apply), Phân tích (Analyze), Đánh giá (Evaluate), Sáng tạo (Create). Hiện tại, đây là một thang đo các cấp độ nhận thức đƣợc sử dụng phổ biến trong nghiên cứu về giáo dục trên thế giới. Mức độ Ý nghĩa Hành động A – Nhớ Nhớ thông tin Xác định, mô tả, gọi tên, phân loại. B – Hiểu Hiểu nghĩa, diễn giải khái Tóm tắt, biến đổi, giải thích.

niệm C – Vận dụng Sử dụng thông tin hay khái Thiết lập, thực hiện, tạo dựng, niệm trong tình huống mới mô phỏng, dự đoán, chuẩn bị lập kế hoạch. D – Phân tích Chia nhỏ thông tin và khái So sánh, đối chiếu, phân chia, niệm thành những phần nhỏ phân biệt, lựa chọn, phân tích 19 skkn Algorithm with C++ hơn để hiểu đầy đủ hơn. E – Đánh giá Đánh giá vấn đề, khả năng Đánh giá, phê bình, phán đoán phán xét giá trị, quyết định. chứng minh, tranh luận, biện hộ.

F – Sáng tạo Tạo ra cái mới từ thông tin Tập hợp, sáng tạo, xây dựng, đã có. phát minh, chế tạo, lên kế hoạch. Cụ thể các mức độ nhận thức trong sáu cấp độ ở sơ đồ trên đƣợc hiểu chi tiết hơn nhƣ sau: Cấp độ 1: Nhớ (remember) Ở đây, nhớ là khả năng ghi nhớ và nhận diện thông tin. Nhớ là cần thiết cho tất cả các mức độ tƣ duy và đƣợc hiểu là nhớ lại những kiến thức đã học một cách máy móc và nhắc lại.

Để đánh giá mức độ nhớ của ngƣời học, khi xây dựng hệ thống câu hỏi, chúng tôi đƣa vào nhóm các bài tập nhắc lại một hoặc hai câu lệnh trong vùng kiến thức đang đƣợc học. Hiểu không đơn thuần là nhắc lại cái gì đó, ngƣời học phải có khả năng diễn đạt khái niệm theo ý hiểu của họ.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Bài viết "Giải Bài Tập Lập Trình C Theo Hệ Thống Đánh Giá Bloom" cung cấp một cái nhìn sâu sắc về cách áp dụng hệ thống đánh giá Bloom trong việc giải bài tập lập trình C. Tác giả không chỉ giải thích các cấp độ của Bloom mà còn hướng dẫn cách thức áp dụng chúng vào việc học lập trình, giúp người đọc phát triển tư duy phản biện và khả năng giải quyết vấn đề. Bài viết này mang lại lợi ích lớn cho sinh viên và những người mới bắt đầu học lập trình, giúp họ nắm vững kiến thức và kỹ năng cần thiết để thành công trong lĩnh vực này.

Nếu bạn muốn mở rộng thêm kiến thức về giáo dục và phương pháp giảng dạy, hãy tham khảo bài viết Dạy học khám phá chủ đề hình học trực quan lớp 6 theo hướng phát triển năng lực tư duy lập luận toán học, nơi bạn có thể tìm hiểu về cách phát triển tư duy toán học cho học sinh. Ngoài ra, bài viết Luận văn thạc sĩ phát triển năng lực tư duy và lập luận toán cho học sinh THCS cũng sẽ cung cấp thêm thông tin về việc nâng cao năng lực tư duy cho học sinh ở cấp trung học cơ sở. Cuối cùng, bạn có thể khám phá Luận văn thạc sĩ phương pháp giảng dạy tiếng anh để tìm hiểu thêm về các phương pháp giảng dạy hiệu quả trong giáo dục. Những tài liệu này sẽ giúp bạn mở rộng kiến thức và áp dụng vào thực tiễn giảng dạy và học tập.