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!

Hiển thị các bài đăng có nhãn bố cục (outline). Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn bố cục (outline). Hiển thị tất cả bài đăng

Thứ Ba, 7 tháng 1, 2014

Đặt tên đề tài và chương mục

Sau khi chọn được đề tài, lên khung bố cục rồi sẽ đến bước viết chi tiết outline: đặt tên cụ thể từ tên đề tài cho đến tên chương, tên mục.

Đặt tên đề tài

Không có tiêu chí để đánh giá một tên đề tài lầ tốt nhất, nhưng có một số tiêu chí giúp tránh đặt tên đề tài bị lỗi  mà các bạn có thể tham khảo như sau:
- Tên đề tài không nên quá tổng quan.
- Tên đề tài cũng không nên quá chi tiết
- Tên đề tài không nên có dấu chấm, dấu phẩy ở giữa.
- Tên đề tài nên bám sát nội dung sẽ trình bày trong đề tài

Blogger sẽ phân tích một số ví dụ:
Giả sử một bạn chọn đề tài tìm hiểu về thuật toán phân loại văn bản, sau đó có phần áp dụng vào hệ thống tư vấn khách hàng:
- Nếu đặt tên là "Nghiên cứu một số vấn đề về phân loại văn bản" thì quá chung chung và bị quá xa so với nội dung. Vì đề tài này gợi lên cho người đọc trông chờ vào một luận văn trong đó trình bày các khía cạnh và xem xét các vấn đề về lĩnh vực phân loại văn bản, trong khi đó nội dung luận văn lại chỉ chú trọng đến duy nhất 1 thuật toán phân loại văn bản.
- Thông thường với đề tài dạng áp dụng một thuật toán A vào một ứng dụng B thì nên đặt tên đề tài theo một trong 2 dạng: nếu đề tài chỉ chú trọng vào thuật toán A, mà ứng dụng B chỉ ở múc demo nhỏ nhỏ thì nên đặt tên đề tài là "Nghiên cứu thuật toán A áp dụng vào ứng dụng B". Nếu đề tài phát triển được ứng dụng hoàn chỉnh, có khả năng áp dụng thực tế cao thì nên đặt tên là "Xây dựng ứng dụng B dựa trên thuật toán A". Khi đọc tên đề tài xong người ta đã xác định được phần nào nội dung công việc các bạn sẽ làm rồi.
- Nếu đặt tên là "Áp dụng kỹ thuật phân loại văn bảo vào hệ thống tư vấn cho người dùng" thì vẫn còn chung chung vì không rõ kỹ thuật phân loại văn bản ở đây là kỹ thuật nào (thực tế có rất nhiều kĩ thuật), cũng không rõ hệ thống tư vấn cho người dùng ở đây là hệ thống tư vấn về cái gì, người dùng của cái gì.

Ví dụ 2, nếu bạn chọn đề tài xây dựng ứng dụng game trên điện thoại di động Android:
- Nếu đặt tên "Xây dựng game cho điện thoại di động" thì còn quá chung chung vì chưa rõ game gì, điện thoại di động chạy hệ điều hành gì. mà nên đặt dạng "Xây dựng game ô ăn quan cho thiết bị di động dùng Android" chẳng hạn, sẽ cụ thể và sát nội dung hơn rất nhiều.
- Nếu game có áp dụng thuật toán, ví dụ game đối khác có áp dụng thuật toán Min-Max thì nên nêu tên thuật toán trong tên đề tài luôn. Trường hợp này lại quay lại hướng của ví dụ 1, và vì đề tài tập trung xây dựng ứng dụng hoàn chỉnh (chú trọng phần ứng dụng) nên có thể đặt tên "Xây dựng game cờ tướng trên nền tảng Android dựa trên thuật toán Min-Max".

Đặt tên chương

Với gợi ý ở bài phác thảo bố cục, luận văn nên có 3 chương:
- Chương 1 nên đặt thẳng bài toán cần giải quyết nên các bạn có thể đặt tên trực tiếp là bài toán B như các ví dụ ở trên: "Bài toán tư vấn khách hàng mua hàng online", hay "Giới thiệu game cờ tướng cho thiết bị di động dùng Android".
- Chương 2 giới thiệu sâu về thuật toán A nên có thể đặt tên trực tiếp là thuật toán A. Trường hợp không áp dụng thuật toán nào mà xậy dựng ứng dụng trên Android thì đặt tên chương là "Giới thiệu nền tảng Android". Hoặc nếu chỉ áp dụng mô hình MVC để phát triển một ứng dụng thì chương này nên đặt tên là "Giới thiệu mô hình MVC". Trường hợp dùng quá nhiều mô hình, thuật toán, nền tảng thì chương 2 nên đặt tên tổng hợp thành "Một số cơ sở để xây dựng ứng dụng B".
- Chương 3 có thể lấy nguyên tên đồ án đặt tên chương vì bản thân nó chính là toàn bộ công sức của các bạn thực hiện trong đồ án. Hoặc có thể đặt tên là "Áp dụng A xây dựng ứng dụng B"

Tên các đề mục

Blogger đã gặp rất nhiều đồ án phạm sai lầm cơ bản khi đặt tên đề mục dạng một câu hỏi, nhất là khi trình bày các khái niệm ở chương 1 và chương 2. Chẳng hạn như muốn trình bày khái niệm về MVC, lại đặt đề mục là "MVC là gì?", muốn trình bày về web service thì đặt tên là "Thế nào là một web service?" hay "Một web service hoạt động như thế nào?", etc.
Các bạn nên nhớ là các bạn viết đồ án, luận văn là một tài liệu khoa học, nó không phải viết như viết sách giáo khoa, hay sách tham khảo hàng chợ, nên không nên viết tiêu đề dạng câu hỏi như thế. Cách viết thế chỉ dành cho người đọc chưa biết gì thôi, trong khi đó người đọc luận văn đồ án của các bạn là người hướng dẫn, phản biện của các bạn, là người nắm rõ vấn đề hết rồi. Do đó, các bạn nên viết tiêu đề một cách đơn giản, chân phương và khiêm tốn:
- "MVC là gì?" nên viết là "Giới thiệu mô hình MVC"
- "Thế nào à một web service?" nên viết là "Giới thiệu về Web service"
- "Một web service hoạt động như thế nào?" nên viết là "Nguyên lí hoạt động của web service"

Trong một số trường hợp, các bạn cũng nên tránh dùng từ "Tổng quan" trong tên chương mục, vì thực tế tổng quan nó rất rộng, trong khi các bạn trình bày chỉ là một phần nhỏ của vấn đề thôi, cho nên có thể thay từ "tổng quan" bằng các từ đơn giản hơn, đỡ đao to búa lớn như "giới thiệu".

Một số ràng buộc các bạn nên tham khảo khi đặt tên đề mục:
- Đề mục không nên là một câu hoàn chỉnh
- Đề mục không nên để dấu chấm, phẩy, chấm phẩy, chấm than, chấm hỏi ở cuối
- Đề mục không nên để chú dẫn tài liệu tham khảo
- Tên đề mục nên để ngắn gọn, không nên quá một dòng của trang

Với những gợi ý thế này, bạn đã sẵn sàng hoàn thiện outline đồ án của mình đề gửi cho giáo viên hướng dẫn khó tính của mình chưa? ;;)

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.