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.

Thứ Sáu, 27 tháng 12, 2013

Lựa chọn đề tài

Việc lựa chọn đề tài là rất quan trọng. Thường nó quyết định đến thành bại của các bạn sinh viên ngay từ khi lựa chọn đề tài. Và thường sinh viên hay mắc vào sự mâu thuẫn như sau:
- Muốn điểm cao nên cứ lao đầu vào đề tài hay
- Đề tài hay thì thường khó
- Khó thì vượt khả năng thực hiện của bản thân
- Vượt khả năng thì không làm được
=> Kết quả là hỏng, làm đề tài khó mà bị hỏng thì vẫn không được đánh giá cao bằng làm đề tài dễ mà làm tốt. Vậy vấn đề đặt ra không phải là làm sao chọn được đề tài khó, mà là làm sao chọn được đề tài phù hợp với bản thân (năng lực) của bản thân.

Nhiều bạn cứ nghĩ chọn giáo viên hướng dẫn rồi thầy/cô sẽ chỉ đề tài cho. Đấy là một cách làm thiếu chuyên nghiệp và không được đánh giá cao bằng việc các bạn tự chọn đề tài rồi đề xuất với giáo viên hướng dẫn. Lí do thứ hai là nếu để giáo viên hướng dẫn áp đặt đề tài thì có khi đề tài không hợp với năng lực bản thân của các bạn. kết quả là các bạn cũng phải quay lại đánh giá xem một đề tài có phù hợp với bản thân hay không.

Trường hợp lí tưởng là chọn được đề tài vừa hay, vừa hợp với năng lực bản thân. Nhưng trường hợp này thường rất hiếm. Do đó, chúng ta hãy xem xét riêng lẻ, thế nào là một đề tài hay, thế nào là một đề tài phù hợp với năng lực cá nhân.

Cá nhân tôi khi yêu cầu sinh viên chọn đề tài thường đưa ra các tiêu chí, và tôi cho là một đề tài mà thỏa mãn được càng nhiều tiêu chí này thì càng hay:
- Đề tài nên có kết hợp giữa học thuật (khoa học) và ứng dụng
- Phần học thuật nên càng mới càng tốt, chẳng hạn như nếu sinh viên muốn tìm hiểu về thuật toán hay công nghệ nào đó thì nên tìm hiểu những thuật toán công bố trong vòng 3-5 năm trở lại. Với công nghệ cũng thế.
- Phần ứng dụng thì càng thực tế, càng nóng bỏng, càng giúp đỡ được nhiều người sử dụng thì càng tốt. Đặc biệt là đề tài liên quan đến các vấn đề, các sự kiện xã hội trong thời gian gần thì càng tốt.

Tuy nhiên, để thực hiện được các đề tài dạng này thì sinh viên cần phải có nanưg lực xuất sắc: cần đọc hiểu các thuật toán + công nghệ mới, khả năng cài đặt được thuật toán/công nghệ đó vào một bài toán cũng rất nóng bỏng. Khối lượng công việc rất lớn trong khi thời lượng làm đồ án/luận văn chỉ 3-6 tháng thì không phải bạn nào cũng làm được.

Vậy làm sao chọn được đề tài phù hợp với năng lực bản thân? Câu trả lời rất dễ:
- Nếu đề tài hay mà nhiều việc quá, làm không được thì chọn đề tài chỉ có một nửa trên thôi
- Nếu bạn thích con đường học thuật (thích học tiếp, làm nghiên cứu, làm giáo viên,...) thì nên chọn đề tài mang tính học thuật. sau đó chỉ làm một chương trình demo nho nhỏ minh họa cho thuật toán/công nghệ đó mà không cần làm một ứng dụng có giá trị thực tế.
- Nếu bạn thích ra trường đi làm cho công ty thì nên chọn đề tài mang tính ứng dụng cao. Ví dụ cách đây 2-3 năm, đề tài nóng bỏng nhất theo hướng này là lập trình ứng dụng cho Android. Bây giờ có lẽ nóng hơn là các ứng dụng liên quan đến mạng xã hội.

Bây giờ bạn đã có định hướng chọn đề tài cho mình rồi nhỉ? Vậy tập trung suy nghĩ và quan sát xung quanh, sau đó lấy giấy bút ra:
- Liệt kê ra 5 đề tài theo hướng bạn chọn
- Mỗi đề tài nene phác họa nội dung tóm tắt và cách thực hiện
- Sắp xếp theo thứ tự ưu tiên giảm dần của bản thân (độ yeue thích, khả năng,...)
- Đánh giá đề tài nào thì cần thầy cô nào hướng dẫn thì tuyệt nhất
- Sau đó mở mail ra và liên hệ với thầy cô đó cùng cái đề tài bạn chọn

Đảm bảo các thầy cô nhận được những mail xin làm đồ án với những kế hoạch và chiến lược rõ ràng như thế thì bạn đã được đánh giá cao hơn ngay từ đầu rồi đấy!

Chúc bạn thành công!