Hướng dẫn viết báo cáo luận văn

Đây là hướng dẫn viết báo cáo luận văn do thầy Nguyễn Hứa Phùng phổ biến, nếu bạn học Khoa học máy tính ở BK thì nên tham khảo.

Theo như thầy NHP nói, thì chỉ có hai người xem báo cáo của bạn là người hướng dẫn và người phản biện, ba người trong hội đồng chấm sẽ chỉ lướt qua trong lúc bạn bảo vệ. Hơn nữa ngay cả người phản biện cũng sẽ không có nhiều thời gian để xem báo cáo, cho nên bạn phải cố gắng tập trung vào các điểm chính trong luận văn của mình. Đặc biệt cần tránh việc nhồi những thứ vô bổ vào báo cáo để cho nhiều chữ.

Báo cáo:

  • Chương 1: Giới thiệu, nên chiếm 10-20 trang. Đây là phần đặc biệt quan trọng, vì người phản biện sẽ căn cứ vào phần này để xem có nên đọc kĩ phần sau không :D.
    • Tầm quan trọng: Chứng tỏ vấn đề mà bạn tìm hiểu có vai trò quan trọng (không quan trọng thì làm làm gì).
    • Độ phức tạp: Chứng tỏ vấn đề này khó (không khó sao đáng làm luận văn).
    • Thesis statement: Phát biểu bạn sẽ làm cái gì. Công việc mà bạn hoàn tất phải khớp với phát biểu này.
    • Đóng góp của luận văn cho vấn đề bạn tìm hiểu.
    • Cấu trúc của báo cáo.
  • Chương 2: Kiến thức nền tảng, khoảng 20 trang. Trình bày những công nghệ và công việc liên quan (của người khác). Lưu ý không sao chép, và viết thật ngắn gọn, vì đây là những thứ người khác làm. Người phản biện thường sẽ không xem kĩ phần này mà chỉ tham khảo nếu cần thiết cho việc đọc các chương sau.
  • Chương 3 (và 4, nếu hai người làm hai việc độc lập): Thiết kế và hiện thực, khoảng 60 trang, nói chung phải đảm bảo chiếm tỉ lệ lớn trong báo cáo, vì đây là những thứ do mình làm.
    • Thiết kế: Chú ý phân tích, so sánh các công nghệ, phương án. Phải làm sao thể hiện những thứ mình chọn là tối ưu nhất.
    • Hiện thực: Chỉ trình bày qua cách tổ chức chương trình, triển khai, v.v. Đừng chép mã nguồn vào báo cáo, vì sẽ không ai đọc.
  • Chương 4: Thử nghiệm.
  • Chương 5: Kết luận.
  • Phụ lục: Có thể trình bày kế hoạch thực hiện luận văn, bao gồm dự kiến và thực tế, những việc nảy sinh, v.v

Thuyết trình:

  • Thời gian nói khoảng 15-20 phút, số slide khoảng 20-25.
  • Một số slide quan trọng:
    • Slide 0: Giới thiệu tên, tuổi, v.v
    • Slide 1: Bố cục của bài thuyết trình.
    • Slide 2-3: Chương 1 của báo cáo, nói khoảng 2 phút.
    • Chú ý không nói chương 2 của báo cáo, hoặc chỉ nói trong một slide.
Advertisements

Môn Lập trình hướng đối tượng

Không biết vào thời điểm này thì đưa mấy bài kiểu này nên có an toàn không nhỉ :D.

Tháng trước HM có chat với một người bạn và nhận được một câu trong đề thi giữa kì môn Lập trình hướng đối tượng như sau:

Trong C++ câu lệnh ClassB CB = new ClassB() tạo ra đối tượng trong vùng nhớ: a. heap b. stack c. static d. tất cả đều sai

Và HM nhận ra đã hai năm kể từ khi học xong môn này, nó vẫn chả thay đổi gì cả. Câu hỏi trên thì dính dáng gì đến OOP? Khi xưa thi môn này HM cũng gặp những câu hỏi khiến người ta có cảm giác đây là môn “Lập trình OOP, Java, và C++ cóp nhặt”.

Theo ý kiến của HM (và HM không phải là giáo viên), một môn Lập trình hướng đối tượng nếu được dạy, cần phải thể hiện được:

  • OOP là một paradigm, các ngôn ngữ chỉ là implementation.
  • Các khái niệm về encapsulation, inheritance, polymorphism, overriding, v.v
  • Giới thiệu qua về các implementation khác nhau cho những khái niệm trên.
  • Các nguyên lí khi thiết kế hướng đối tượng, và một dự án lớn áp dụng được nhiều nguyên lí này thì rất tuyệt. Tuyệt hơn nữa nếu nó sử dụng lại bài tập lớn của môn học trước dành cho sinh viên mới, vì nó sẽ tạo ra sự đối chiếu. Môn Lập trình hướng đối tượng khi HM học không dạy cái này, và cũng chỉ đưa ra các bài thực hành dạng copy-paste, chạy có thể được có thể không, và hoàn toàn không minh họa gì cho các nguyên lí OOP.

Thực sự cảm thấy rất tiếc.