Lời mở đầu

Thân chào quí độc giả và các bạn!

Hiện nay blog này đã được di chuyển sang chỗ mới tại địa chỉ:


Các bài cập nhật sẽ được cập nhật trên địa chỉ mới này, mời quí vị và các bạn theo dõi trên địa chỉ mới!
Blog cũ này sẽ không được cập nhật them nữa.
Trân trọng cảm ơn quí vị và các bạn đã ghé thăm!

Thứ Ba, 31 tháng 12, 2013

Tổ chức bố cục (outline)

Sau khi lựa chọn được đề tài thì bước tiếp theo sẽ là tổ chức bố cục luận văn. Việc tổ chức bố cục một luận văn sao cho khoa học, logic, và hợp lí là một việc không dễ dàng chút nào. Bố cục luận văn cuối cùng sẽ thể hiện ở mục lục của luận văn. Cho nên, thường người đọc luận văn chỉ cần nhìn vào mục lục là đủ biết một luận văn có tổ chức tốt hay không. Blogger đã từng là giáo viên phản biện của một đồ án làm một ứng dụng đơn giản trên Android mà có tới 6 chương!!! Mới nhìn vào cái mục lục đã mất hết cảm tình và hứng thú đọc rồi, tâm lí này sẽ ảnh hưởng xấu đến những nhận xét chi tiết khi đọc đồ án chi tiết sau đó. Cho nên tổ chức bố cục luận văn sao cho thu hút được người đọc ngay từ đầu là rất quan trọng.

Vậy câu hỏi đặt ra là làm thế nào để tổ chức được một bố cục hợp lí cho một đề tài đã chọn? Câu trả lời là không có một tiêu chuẩn chung nhất, duy nhất, và đúng nhất. Mà thực tế là có một số cách được cho là dễ chấp nhận bởi nhiều người. Ở đây blogger xin tổng hợp lại một số điểm chung mà bố cục của một luận văn nên có.

Về mặt số lượng chương, nếu không tính phần mở đầu và phần kết luận thì một luận văn chỉ nên có 3 chương: chương 1 đặt bài toán, chương 2 trình bày thuật toán sẽ áp dụng (hoặc nền tảng hệ thống), chương 3 trình bày ứng dụng hoặc demo của mình. Trong một số trường hợp đặc biệt thì mới cần đến 4 chương, khi đó thì sẽ có 2 chương (2 và 3) trình bày về các thuật toán và cơ sở toán học, còn chương 4 sẽ trình bày phần demo và ứng dụng. Tuy nhiên cấu trúc cần đến 4 chương chỉ cần đến khi đề tài liên quan đến nhiều lý thuyết mới, và khó. Còn các đề tài thông thường chỉ cần 3 chương là hợp lí.

Bây giờ, blogger sẽ thảo luận chi tiết hơn nội dung sẽ phải thể hiện trong từng chương, tùy theo dạng đề tài.

Mở đầu
Chưa cần viết nội dung của mục này trong outline, tuy nhiên cũng có một số quy tắc nhất định:
- Không đánh số chương cho mục mở đầu
- Đánh số trang chính thức cho luận văn từ mục mở đầu
- Trong mục mở đầu nên có:
             . Trình bày lí do chọn đề tài
             . Nêu tóm tắt phương hướng giải quyết
             . Nêu tóm tắt nội dung các chương sẽ trình bày trong luận văn

Chương 1
Nội dung chương 1 nên trình bày trực tiếp bài toán, vấn đề mà luận văn giải quyết, dù cho đề tài thuộc kiểu khó hay dễ (như thảo luận ở bài chọn đề tài). Ví dụ, nếu đề tài là ứng dụng thuật toán lọc cộng tác vào tư vấn người mua hàng online thì chương 1 nên đặt vấn đề cho bài toán tư vấn người mua hàng online. nếu đề tài làm game cho Android thì chương 1 nên đặt vấn đề bài toán làm game đấy cho thiết bị di động.

Thực tế đã có nhiều bạn sinh viên đã không đặt thẳng bài toán của mình trong chương 1 mà thay vào đó là giới thiệu các vấn đề cơ sở trước, ví dụ như đề tài lọc cộng tác áp dụng cho tư vấn người mua hàng online thì chương 1 lại đi trình bày vấn đề lọc cộng tác. Hoặc đề tài làm game cho nền tảng Android thì chương 1 lại đi trình bày về hệ điều hành Android. Cách này có một số nhược điểm sau:
- Đọc xong chương 1 người đọc vẫn chưa hiểu mục đích của luận văn là gì, sẽ dẫn dắt vấn đề đi đến đâu
- Người đọc nhầm tưởng công sức của các bạn là xây dựng thuật toán lọc cộng tác mới (cho ví dụ 1), hoặc các bạn định phát triển nền tảng mới dựa trên android (cho ví dụ 2). Trong khi thực tế không phải như vậy.

Như vậy chúng ta đã thấy việc đặt thẳng bài toán của mình ngay từ chương 1 sẽ hay hơn vì dẫn dắt người đọc chú tâm ngay vào bài toán của mình, và cho người đọc cảm giác tất cả những thứ mình trình bày sau đó đều xoay quanh cái trục của bài toán, một cách có định hướng và rõ ràng.

Tiếp theo phân rã các mục của chương 1 như thế nào? Sau khi đặt tên chương là tên bài toán của ứng dụng. Thì mục đầu tiên của chương 1 nên nêu bài toán, mục tiếp theo nên nêu các giải phát mà các nghiên cứu khác (trên thế giới và trong nước) đã đề xuất để giải quyết bài toán đó như thế nào. Mục tiếp theo sẽ là đề xuất giải pháp của luận văn để giải quyết bài toán. Trong giải pháp này, nêu lên cụ thể luận văn sẽ sử dụng nền tảng nào, công cụ nào, hay thuật toán để giải quyết. Đó là cơ sở để chuyển sang chương 2 trình bày chi tiết nền tảng/công cụ/thuật toán đã chọn.

Chương 2
Sau khi chương 1 đã đặt trực tiếp bài toán và mục lớn cuối cùng đã đề xuất giải pháp cho bài toàn đó, thì nội dung chương 2 nên trình bày chi tiết những thành phần sẽ dùng trong giải pháp đó. Lưu ý là những nội dung trong chương 2 vẫn trình bày những thành phần đã có của người ta (thuật toán, nền tảng, công cụ) và các bạn chỉ trình bày dưới dạng mình hiểu để áp dụng vào bài toán.

Nếu đề tài có sử dụng thuật toán thì phải trình bày nguồn gốc thuật toán, nội dung thuật toán, đánh giá độ phức tạp, ví dụ minh họa (nếu có)

Nếu đề tài sử dụng công cụ có sẵn, ví dụ các công cụ quản lí và sinh test case, công cụ chạy máy ảo, công cụ chạy môi trường giả lập,... thì nên giới thiệu công cụ đấy trong chương 2 này thông qua các nội dung: lịch sử ra đời, mô tả hoạt động, ứng dụng, đánh giá

Nếu đề tài chỉ xây dựng ứng dụng trên nền tảng có sẵn, ví dụ Android, IOS, window phone thì nên trình bày nền tảng đó trong chương 2 này: lịch sử ra đời, kiến trúc tỏng quan, giao diện API cho lập trình ứng dụng...

Nếu đề tài sử dụng các thư việc có sẵn, ví dụ như thư viện để phát triển game, phần mềm cài đặt các thuatạ toán khai phá dữ liệu có sẵn thì cũng nên trình bày trong chương này.

Nếu đề tài sử dụng nhiều thuật toán, nhiều công cụ, nhiều nền tảng thì trình bày tất cả một cách ngắn gọn trong chương 2 này.

Chương 3
Nên trình bày việc áp dụng các thành phần trong chương 2 vào giải quyết bài toán đã đặt ra ở chương 1: mục đầu tiên nên đặt lại bài toán một cách chi tiết, cụ thể. Mục tiếp theo trình bày phân tích, thiết kế hệ thống (hoặc theo UML, hoặc theo cách cá nhân), mục tiếp theo trình bày kết quả cài đặt và thửa nghiệm, sau đó nếu có thêm mục đánh giá kết quả nữa thì càng tốt.

Nếu  đề tài chú trọng đến phân tích thiết kế hệ thống thì phải trình bày rành rọt từng bước theo quy trình phát triển phần mềm

Nếu đề tài chỉ demo một ứng dụng minh họa thì chỉ cần trình bày kiến trúc hệ thống, chức năng các thành phần trong hệ thống, chỉ ra phần nào áp dụng các công cụ, thuatạ toán đã trình bày trong chương 2 mà không cần đi sâu trình bày chi tiết việc phân tích thiết kế

Nếu đề tài liên quan đến khai phá dữ liệu thì nên trình bày chi tiết việc chuẩn bị dữ liệu kiểm thử và kịch bản để đánh giá thuật toán.

Kết luận
Nêu lên những kết quả mà luận văn đã làm được, những điểm còn hạn chế, hướng phát triển tương lai

Tài liệu tham khảo
Liệt kê các tài liệu tham khảo trong luận văn

Lưu ý: trong outline thì các chương phải chi tiết các đề mục đến độ sâu thứ 3, nghĩa là đến các mục dạng 1.1.1, hay 3.2.5

Hi vọng sau khi đọc bài này, các bạn có thể tự mình xây dựng outline sơ bộ cho đề tài của mình. bài tiếp theo sẽ giúp các bạn cách đặt tên các chương mục cho hợp lí, khi đó các bạn có thể cập nhật lại outline của mình với tên chương mục hay hơn.

1 nhận xét: