Hướng dẫn làm và nộp bài tập

Lập trình Hướng đối tượng

Cập nhật ngày 09 tháng 10 năm 2018

Giới thiệu

Trong môn học Lập trình hướng đối tượng, sinh viên sẽ thực hiện các bài tập và báo cáo bài tập. Những bài tập này là cốt yếu để hiểu, nắm vững các kiến thức trong môn học này và đồng thời là công cụ để đánh giá kết quả học tập của sinh viên. Dưới đây là những thông tin cần thiết để giúp sinh viên thực hiện tốt các bài tập và báo cáo bài tập này.

Cách thức nộp bài

Sinh viên nộp tất cả các bài tập thông qua Assignment Bài tập trong GitHub Classroom. Bạn bấm vào liên kết trên, rồi bấm nút Accept the assignment. GitHub Classroom sẽ tạo cho bạn một kho (repository) mới trên GitHub để bạn làm và nộp bài tập. Bạn hãy lưu tất cả tài liệu, bản thiết kế, mã nguồn dự án (project), bài báo cáo... thuộc về bài tập tại kho (repository) trên.

Hãy xem video Hướng dẫn ngay dưới đây để nắm vững Quy trình làm và nộp bài.

Ngoài ra, để nắm vững quy trình làm việc với GitHub hãy xem các tài liệu hướng dẫn trong Hướng dẫn sử dụng GitHub.

Quy định nộp bài tập

Trong môn học này, các bạn sẽ có hai bài tập:

  • Bài tập thiết kế mô hình lớp sử dụng UML - sử dụng ứng dụng draw.io để thiết kế và trình bày sơ đồ lớp của hệ thống cần phân tích.
Bài tập này được chấm dựa trên các tập tin sau:
1. Báo cáo bài tập - dạng tập tin docx, khuyến khích có cả bản đã xuất ra pdf
2. Bản thiết kế - tập tin xml được tạo ra bởi draw.io
  • Bài tập lập trình ứng dụng - sử dụng ngôn ngữ lập trình C# trên chương trình Visual Studio Community 2017. Sinh viên chỉ được sử dụng thư viện .NET được cung cấp bởi Microsoft.
Bài tập này được chấm dựa trên các tập tin sau:
1. Báo cáo bài tập - dạng tập tin docx, khuyến khích có cả bản đã xuất ra pdf
2. Bản thiết kế (đã được sửa chữa lại so với Bài tập 1) - tập tin xml được tạo ra bởi draw.io
3. Mã nguồn chương trình

Yêu cầu cho mã nguồn chương trình

Bạn phải nộp mã nguồn bài tập của bạn :

  • Mã nguồn của bạn phải được chú thích tốt
    • giải thích những gì bạn đã làm, những lựa chọn cài đặt của bạn, và những biến chính
  • Mã nguồn của bạn phải dễ hiểu và được cấu trúc tốt (dưới dạng hàm và các lớp)
    • mã nguồn của bạn càng dễ hiểu, điểm của bạn sẽ càng cao
    • nếu bạn sử dụng một số đoạn mã của người khác, hãy chỉ ra nó trong chú thích và trong báo cáo của bạn (của ai, nguồn, URL,...)
    • tránh lặp lại cùng một đoạn mã để xử lý cùng một vấn đề (hãy sử dụng hàm)
    • chỉ được sử dụng các kỹ thuật đã được học trong hai môn Cơ sở lập trình và Lập trình hướng đối tượng để cài đặt chương trình

Yêu cầu cho báo cáo bài tập

Với mỗi bài tập, ngoài việc phân tích thiết kế hoặc lập trình ứng dụng, sinh viên phải viết một báo cáo không cần có trang tiêu đề, không cần có mục lục và không cần phần giới thiệu. Bạn chỉ cần ghi họ tên của bạn, lớp và tiêu đề của bài thực hành ở trên đầu của trang đầu tiên của báo cáo. Không nêu lại yêu cầu của bài thực hành, cũng như những nội dung được dạy trong khóa học vào báo cáo của bạn. Nên tránh sao chép những nội dung không hữu ích và hãy tập trung vào những nội dung cốt yếu: công việc của bạn, kết quả của bạn và những phân tích của bạn.

Kích thước tối đa của báo cáo: 10 trang

Định dạng tập tin báo cáo: tập tin dạng DOCX, nên có cả tập tin dạng PDF

Nội dung báo cáo thông thường sẽ có các thành phần sau:

Đối với bài tập lập trình

  • Hoạt động của chương trình của bạn
    • mô tả cách hoạt động của chương trình
      • khi chương trình chạy thì cái gì hiển thị ra trên màn hình ? người sử dụng sẽ nhập dữ liệu gì vào ? tháo tác thế nào với chương trình ?
    • cú pháp câu lệnh (để gọi chạy chương trình) và ý nghĩa của những tham số cần cung cấp trong đối số dòng lệnh (nếu có)
    • vài ví dụ về cách hoạt động, cách sử dụng câu lệnh của chương trình (nếu cần thiết)
  • Thiết kế chương trình
    • trình bày cách thiết kế chương trình của bạn
    • các biến và ý nghĩa của nó
    • có những phương thức nào và ý nghĩa của nó
    • áp dụng thuật toán gì hay phương pháp gì đặc biệt
    • khuyến khích thêm vào các hình ảnh, mô hình để giải thích tốt cho thiết kế chương trình của bạn
  • Kết quả
    • đưa ra một vài kết quả của chương trình của bạn
    • hãy chọn lựa các kết quả và tham số một cách thông minh để chứng minh hoạt động tốt của chương trình mà không cần phải đưa ra quá nhiều ví dụ
    • kết quả các test theo yêu cầu của bài tập
  • Trả lời câu hỏi (tùy bài tập)
    • trả lời các câu hỏi bằng cách đưa ra các ví dụ hay kết quả từ chương trình của bạn
    • sửa đổi chương trình của bạn để trả lời các câu hỏi
  • Thảo luận / kết luận (tùy ý - rất ngắn)
    • kết quả của bạn đạt được là tốt hay chưa tốt (giải thích vì sao ?)
    • đâu là giới hạn của chương trình của bạn
    • nếu chương trình của bạn hoạt động không tốt, hãy nêu giải pháp để khắc phục
    • nêu nhận xét về bài thực hành

Những mục trên có thể được thay đổi cho phù hợp với bài tập. Bạn sẽ không bị đánh giá trên chất lượng trình bày của báo cáo, mà được đánh giá trên nội dung của công việc và của báo cáo của bạn. Hãy lựa chọn đưa ra những điểm quan trọng để chứng tỏ hoạt động tốt của chương trình của bạn.

Đối với bài tập UML

  • Xác định lớp
    • quy trình phát hiện lớp, vì sao đó là lớp mà hệ thống cần có
    • đặc tả ngắn gọn cho mỗi lớp
    • mỗi lớp có những đặc tính gì, phạm vi của nó, kiểu dữ liệu, giá trị mặc định (nếu có)
    • mỗi lớp có những hành vi gì, phạm vi của chúng, các tham số và kiểu trả về
  • Xác định các mối quan hệ giữa các lớp
    • vì sao có các mối quan hệ đó ?
    • xác định tên, vai trò, bản số của các mỗi quan hệ
    • đặc tả ngắn gọn cho các mối quan hệ này
    • nên kèm hình ảnh tổng thể của cả mô hình lớp
  • Trả lời câu hỏi (nếu có)
  • Thảo luận / kết luận

Phương pháp đánh giá

Sau đây là những tiêu chuẩn chính để đánh giá các bài làm:

  • Kết quả đạt được
  • Phân tích kết quả và giải thích
  • Trả lời câu hỏi (tùy bài tập)
  • Mã nguồn + hoạt động của chương trình (với bài tập lập trình)
  • Phần tích, thiết kế sơ đồ lớp (với bài tập thiết kế)

Trên lớp, giáo viên có thể yêu cầu chạy thử hay hỏi một số vấn đề trên công việc của bạn đã làm.

Chú ý: các tiêu chuẩn, cũng như trọng số, có thể thay đổi tùy vào bài tập.

Điểm thưởng: sinh viên (khoảng 10% số sinh viên của lớp) nộp bài sớm trước thời hạn (2 hoặc 3 ngày) và trước những sinh viên khác, sẽ được một điểm cộng vào điểm cuối cùng của bài tập.

Điểm phạt:

  • Trễ < 1 ngày: -0.5 điểm
  • Trễ > 1 ngày: -1 điểm mỗi ngày
  • Trễ > 1 tuần: điểm 0
  • Hành vi sao chép là tuyệt đối không được chấp nhận. Nếu bị phát hiện, người sao chép và người cho sao chép sẽ bị điểm 0 đối với bài tập đó.