22
HỌC VIỆN KỸ THUẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh phúc ĐỀ CƯƠNG CHI TIẾT HỌC PHẦN PHÂN TÍCH VÀ THIẾT KẾ GIẢI THUẬT 1. Thông tin về giáo viên TT Họ tên Học hàm Học vị Bộ môn 1 Tống Minh Đức GVC Tiến sỹ Hệ thống thông tin 2 Đào Thanh Tĩnh PGS Tiến sỹ Hệ thống thông tin Thời gian, địa điểm làm việc: Giờ hành chính, P. S4-1307, 236-Hoàng Quốc Việt Địa chỉ liên hệ: Khoa Công nghệ Thông tin, Học viện KTQS. Điện thoại: 069.515.329, 069.515.333, 0984- 485-888 Email: [email protected] , [email protected] , Các hướng nghiên cứu chính: Thuật toán, An toàn bảo mật thông tin, Xử lý ảnh. 2. Thông tin chung về học phần Tên học phần: Phân tích và thiết kế giải thuật Mã học phần: 12225151 1 Số tín chỉ: 3 Cấu trúc học phần: 60 tiết (30 LT, 15 BT, 6 TL, 9 TH) Tính chất học phần: Kiến thức cơ sở; Bắt buộc. Học phần tiên quyết: Kỹ thuật lập trình Yêu cầu của học phần: Tham dự giờ giảng; Nghiên cứu tài liệu và tham gia thảo luận. Giờ tín chỉ đối với các hoạt động: - Nghe giảng lý thuyết: 30 tiết - Làm bài tập trên lớp: 15 tiết - Thảo luận: 6 tiết - Thực hành: 9 tiết - Hoạt động theo nhóm:

HỌC VIỆN KỸ THUẬT QUÂN SỰfit.mta.edu.vn/files/FileMonHoc/DeCuongChiTiet-1.doc · Web viewBộ môn phụ trách: Bộ môn Hệ thống Thông tin, Khoa CNTT. Mục tiêu

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: HỌC VIỆN KỸ THUẬT QUÂN SỰfit.mta.edu.vn/files/FileMonHoc/DeCuongChiTiet-1.doc · Web viewBộ môn phụ trách: Bộ môn Hệ thống Thông tin, Khoa CNTT. Mục tiêu

HỌC VIỆN KỸ THUẬT QUÂN SỰKHOA CÔNG NGHỆ THÔNG TIN

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAMĐộc lập – Tự do – Hạnh phúc

ĐỀ CƯƠNG CHI TIẾT HỌC PHẦNPHÂN TÍCH VÀ THIẾT KẾ GIẢI THUẬT

1. Thông tin về giáo viên

TT Họ tên Học hàm Học vị Bộ môn1 Tống Minh Đức GVC Tiến sỹ Hệ thống thông tin2 Đào Thanh Tĩnh PGS Tiến sỹ Hệ thống thông tin

Thời gian, địa điểm làm việc: Giờ hành chính, P. S4-1307, 236-Hoàng Quốc Việt

Địa chỉ liên hệ: Khoa Công nghệ Thông tin, Học viện KTQS.Điện thoại: 069.515.329, 069.515.333, 0984-485-888Email: [email protected] , [email protected],Các hướng nghiên cứu chính: Thuật toán, An toàn bảo mật thông tin, Xử lý

ảnh.2. Thông tin chung về học phần

Tên học phần: Phân tích và thiết kế giải thuật Mã học phần: 12225151 1 Số tín chỉ: 3 Cấu trúc học phần: 60 tiết (30 LT, 15 BT, 6 TL, 9 TH) Tính chất học phần: Kiến thức cơ sở; Bắt buộc. Học phần tiên quyết: Kỹ thuật lập trình Yêu cầu của học phần: Tham dự giờ

giảng; Nghiên cứu tài liệu và tham gia thảo luận.

Giờ tín chỉ đối với các hoạt động:- Nghe giảng lý thuyết: 30 tiết- Làm bài tập trên lớp: 15 tiết- Thảo luận: 6 tiết- Thực hành: 9 tiết- Hoạt động theo nhóm: - Tự học: 180 tiết

Bộ môn phụ trách: Bộ môn Hệ thống Thông tin, Khoa CNTT.3. Mục tiêu của học phần

- Kiến thức: Mục tiêu khóa học cung cấp cho sinh viên các kiến thức về tư duy giải một bài toán trên máy tính, kỹ thuật xây dựng giải thuật, phương pháp đánh giá hiệu quả của thuật toán.

- Kỹ năng: Biết cách thiết kế và đánh giá một giải thuật.

Page 2: HỌC VIỆN KỸ THUẬT QUÂN SỰfit.mta.edu.vn/files/FileMonHoc/DeCuongChiTiet-1.doc · Web viewBộ môn phụ trách: Bộ môn Hệ thống Thông tin, Khoa CNTT. Mục tiêu

- Thái độ, chuyên cần: Chú ý nghe giảng trên lớp, tích cực nghiên cứu tài liệu ở nhà và tham gia thảo luận. Đòi hỏi cao tính chủ động trong học tập.

4. Tóm tắt nội dungTrong khóa học này, sinh viên sẽ được giới thiệu kiến thức về:

- Thuật toán và thiết kế thuật toán;- Đánh giá độ phức tạp thuật toán;- Các thuật toán cơ bản như sắp xếp, tìm kiếm;- Các thao tác trên các cấu trúc dữ liệu phổ biến;

Đồ án sẽ được giao trong quá trình thực hiện môn học.5. Nội dung chi tiết học phần

Chương, mục, tiểu

mụcNội dung

Số tiết

Giáo trình, Tài liệu tham khảo(TT của TL ở

mục 6)

Ghi chú

I Một số vấn đề cơ sở 6

1 1.1. Khái niệm thuật toán 1,3,42 1.2. Biểu diễn thuật toán3 1.3. Tính đúng đắn và hiệu quả của thuật toán4 1.4. Độ tăng của hàm5 1.5. Khái niệm độ phức tạp6 1.6. Lớp P và NP7 1.7. Bài tập

II Kỹ thuật thiết kế giải thuật 2

1 2.1. Kỹ thuật tuần tự 3,4,82 2.2. Kỹ thuật tổ chức theo cấu trúc3 2.3. Kỹ thuật đệ quy và lặp4 2.4. Lựa chọn cấu trúc dữ liệu thích hợp5 2.5. Bài tập

III Giải thuật sắp xếp 12

1 3.1. Bài toán sắp xếp 3,42 3.2. Các thuật toán sắp xếp chọn, chèn và nổi bọt3 3.3. Thuật toán sắp xếp phân đoạn4 3.4. Thuật toán sắp xếp hòa nhập5 3.5. Thuật toán sắp xếp vun đống6 3.6. Thuật toán sắp xếp bằng cơ số7 3.7. Bài tập

IV Giải thuật tìm kiếm 8

1 4.1. Tìm kiếm tuần tự 3,42 4.2. Tìm kiếm nhị phân

Page 3: HỌC VIỆN KỸ THUẬT QUÂN SỰfit.mta.edu.vn/files/FileMonHoc/DeCuongChiTiet-1.doc · Web viewBộ môn phụ trách: Bộ môn Hệ thống Thông tin, Khoa CNTT. Mục tiêu

Chương, mục, tiểu

mụcNội dung

Số tiết

Giáo trình, Tài liệu tham khảo(TT của TL ở

mục 6)

Ghi chú

3 4.3. Một số bài toán tìm kiếm4 4.4. Bài tập

V5 Kỹ thuật chia để trị 8

1 5.1. Ý tưởng và lược đồ tổng quát 3,4,52 5.2. Thiết kế thuật toán sắp xếp3 5.3. Thiết kế thuật toán tìm kiếm4 5.4. Bài tập

VI Thao tác với danh sách 8

1 6.1. Một số cấu trúc danh sách tuyến tính 82 6.2. Thêm, bớt phần tử trên danh sách liên kết đơn3 6.3. Thuật toán tính giá trị của biểu thức4 6.4. Tính toán với số lớn5 6.5. Bài tập

VII Thao tác với cấu trúc cây 8

1 7.1. Xây dựng cây nhị phân tìm kiếm 6,72 7.2. Duyệt cây3 7.3. Xây dựng cây Hufman4 7.4. Cây cân bằng5 7.5. Bài tập

VIII Thuật toán trên đồ thị 81 8.1. Các khái niệm 6,72 8.2. Duyệt đồ thị3 8.3. Cây khung tối thiểu4 8.4. Đường đi ngắn nhất

6. Giáo trình, tài liệu tham khảo

TT Tên tài liệu

Tình trạng tài liệuCó ở thư viện

Giáo viên có

hoặc khoa có

Đề nghị mua mới

Đề nhị biên soạn mới

1 Sara Baase, Computer Algorithms (Introduction to Design and Analysis), Addison Wesley, 1988.

x

2 Thomas H. Cormen, Charles E. Leiserson, and Ronald L. Rivest, Introduction to Algorithms, Cambridge, Massachusetts 1990.

x

3 Herbert S. Wilf, Algorithms and Complexity, x

Page 4: HỌC VIỆN KỸ THUẬT QUÂN SỰfit.mta.edu.vn/files/FileMonHoc/DeCuongChiTiet-1.doc · Web viewBộ môn phụ trách: Bộ môn Hệ thống Thông tin, Khoa CNTT. Mục tiêu

IE, University of Pennsylvania, Philadelphia, Summer, 1994.

4 Mikhail J. Atallah, Algorithms and Theory of Computation Handbook, CRC Press, 1998.

x

5 Ian Parberry, Algorithm Analysis and Complexity, Depart. of Computer Sciences, University of North Texas, 2001.

x

6 Robert Sedgewick, Cẩm nang thuật toán, NXB KH&KT, 1994.

x

7 Kenneth H. Rosen, Toán học rời rạc và ứng dụng trong tin học, NXB KH&KT, 1997.

x

8 Kỹ thuật lập trình, HVKTQS, 2013 x

7. Hình thức tổ chức dạy học7.1. Lịch trình chung: (Ghi tổng số giờ cho mỗi cột)

NỘI DUNG

Hình thức tổ chứcTổngLên lớp TH Tự

họcLT BT TL

1. Một số vấn đề cơ sở 3 2 1 10 162. Kỹ thuật thiết kế giải thuật 2 20 223. Giải thuật sắp xếp 5 3 2 2 45 574. Giải thuật tìm kiếm 4 2 2 30 385. Kỹ thuật chia để trị 4 2 1 1 30 386. Thao tác với danh sách 4 2 2 30 387. Thao tác với cây 4 2 1 1 30 388. Thuật toán trên đồ thị 4 2 1 1 30 38

Tổng 30 15 6 9 225 276

7.2. Lịch trình tổ chức dạy học cụ thể

Bài giảng: Một số vấn đề cơ sởChương, mục:Tiết thứ: 1-4 Tuần thứ: 1Mục đích, yêu cầu:

Giới thiệu cho sinh viên nắm được các khái niệm về thuật toán, độ phức tạp của thuật toán, các khái niệm về độ tăng của hàm.- Hình thức tổ chức dạy học

Giới thiệu lý thuyết.- Thời gian:

Page 5: HỌC VIỆN KỸ THUẬT QUÂN SỰfit.mta.edu.vn/files/FileMonHoc/DeCuongChiTiet-1.doc · Web viewBộ môn phụ trách: Bộ môn Hệ thống Thông tin, Khoa CNTT. Mục tiêu

4 tiết- Địa điểm:

Phòng học.- Nội dung chính:1.1. Khái niệm thuật toán

- Định nghĩa - Các tính chất- Ví dụ minh họa

1.2. Biểu diễn thuật toán- Sơ đồ khối. Ký hiệu. Ví dụ minh họa.- Giả mã. Yêu cầu. Ví dụ minh họa.- Chất lượng biểu diễn.

1.3. Tính đúng đắn và hiệu quả của thuật toán- Phương pháp kiểm tra, chứng minh tính đúng đắn của thuật toán;- Đánh giá tính hiệu quả của thuật toán

1.4. Độ tăng của hàm- Định nghĩa - Các tính chất- Ví dụ minh họa

Bài tập: Tìm phần tử lớn nhất, nhỏ nhất của dãy- Yêu cầu SV chuẩn bị:

Sinh viên tìm hiểu trước nội dung bài.- Chi chú:

Giáo viên chuẩn bị một số minh họa về đánh giá thuật toán qua thực nghiệm.

SV tự học: Viết chương trình cho các thuật toán được nêu trong bài. Kiểm nghiệm hiệu quả của thuật toán; Tìm hiểu các tiêu chí đánh giá. Máy Turing.

Bài giảng: Một số vấn đề cơ sở (tiếp)Chương, mục:Tiết thứ: 5-8 Tuần thứ: 2Mục đích, yêu cầu:

Giới thiệu cho sinh viên nắm được các khái niệm độ phức tạp của thuật toán, một số kỹ thuật lập trình và cấu trúc dữ liệu lựa chọn.- Hình thức tổ chức dạy học

Giới thiệu lý thuyết.- Thời gian:

Page 6: HỌC VIỆN KỸ THUẬT QUÂN SỰfit.mta.edu.vn/files/FileMonHoc/DeCuongChiTiet-1.doc · Web viewBộ môn phụ trách: Bộ môn Hệ thống Thông tin, Khoa CNTT. Mục tiêu

4 tiết- Địa điểm:

Phòng học.- Nội dung chính:1.5. Khái niệm độ phức tạp

Khái niệm. Các lớp.Thuật toán Euclid. Định lý LaméLớp P và NP

2.1. Kỹ thuật tuần tự- Ý tưởng- Ví dụ minh họa: tìm xâu con dài nhất các ký tự liên tiếp khác nhau.

2.2. Kỹ thuật tổ chức theo cấu trúc- Ý tưởng. - Ví dụ minh họa: tính tích của hai số nguyên lớn.

2.3. Kỹ thuật đệ quy và lặp- Phương pháp kiểm tra, chứng minh tính đúng đắn của thuật toán;- Ví dụ tính ước số chung lớn nhất của hai số nguyên dương.

2.4. Lựa chọn cấu trúc dữ liệu thích hợp- Ý tưởng.

Ví dụ xác định tên năm theo lịch âm.Ví dụ minh họa

Bài tập (1 tiết):Tìm nghiệm của phương trình f(x) = 0. Tìm giá trị gần đúng của a, a>0.Thảo luận (1 tiết):

Phân biệt chính xác input, output của bài toán và trong mô tả thuật toán. Kiểm tra tính đúng đắn của thuật toán. Đánh giá một số thuật toán

- Yêu cầu SV chuẩn bị:Sinh viên tìm hiểu trước nội dung bài.

- Chi chú: Giáo viên chuẩn bị một số minh họa về đánh giá thuật toán qua thực

nghiệm. SV tự học: Viết chương trình cho các thuật toán được nêu trong bài. Kiểm

nghiệm hiệu quả của thuật toán.

Bài giảng: Giải thuật sắp xếpChương, mục:Tiết thứ: 9-12 Tuần thứ: 3

Page 7: HỌC VIỆN KỸ THUẬT QUÂN SỰfit.mta.edu.vn/files/FileMonHoc/DeCuongChiTiet-1.doc · Web viewBộ môn phụ trách: Bộ môn Hệ thống Thông tin, Khoa CNTT. Mục tiêu

Mục đích, yêu cầu:Mục đích: Giới thiệu cho sinh viên nắm được mục đích, ý nghĩa của việc sắp

xếp. Nắm được lần lượt các ý tưởng, thuật toán sắp xếp cụ thể, phân tích được trường hợp thuật toán chạy tốt, trường hợp tồi nhất phụ thuộc dữ liệu đầu vào.

Yêu cầu: Sinh viên viết chương trình thử nghiệm cho các thuật toán, chạy với bộ dữ liệu số lớn, phân tích sự ảnh hưởng thời gian của các thuật toán.- Hình thức tổ chức dạy học

Giới thiệu lý thuyết.- Thời gian:

4 tiết- Địa điểm:

Phòng học.- Nội dung chính:3.1. Bài toán sắp xếp

- Phát biểu bài toán- Đánh giá tốt nhất

3.2. Sắp xếp chọn, chèn, nổi bọt- Ý tưởng. - Thuật toán.- Ví dụ minh họa.- Số phép so sánh, số lần đổi chỗ các phần tử.

3.3. Thuật toán sắp xếp phân đoạn- Ý tưởng. - Thuật toán.- Ví dụ minh họa.- Số phép so sánh, số lần đổi chỗ các phần tử.

Bài tập (1 tiết):Thực hiện sắp xếp bằng số trên một mảng cho trước.

Thảo luận (1 tiết):Đánh giá các trường hợp xấu nhất, tốt nhất, trung bình; Cách áp dụng giải

quyết bài toán thực tế.- Yêu cầu SV chuẩn bị:

Sinh viên tìm hiểu trước nội dung bài.- Chi chú:

Giáo viên chuẩn bị một số minh họa về đánh giá thuật toán qua thực nghiệm.

SV tự học: Viết chương trình cho các thuật toán được nêu trong bài. Kiểm nghiệm hiệu quả của thuật toán.

Page 8: HỌC VIỆN KỸ THUẬT QUÂN SỰfit.mta.edu.vn/files/FileMonHoc/DeCuongChiTiet-1.doc · Web viewBộ môn phụ trách: Bộ môn Hệ thống Thông tin, Khoa CNTT. Mục tiêu

Bài giảng: Giải thuật sắp xếp (tiếp)Chương, mục:Tiết thứ: 13-16 Tuần thứ: 4Mục đích, yêu cầu:

Mục đích: Giới thiệu cho sinh viên nắm được mục đích, ý nghĩa của việc sắp xếp. Nắm được lần lượt các ý tưởng, thuật toán sắp xếp cụ thể, phân tích được trường hợp thuật toán chạy tốt, trường hợp tồi nhất phụ thuộc dữ liệu đầu vào.

Yêu cầu: Sinh viên viết chương trình thử nghiệm cho các thuật toán, chạy với bộ dữ liệu số lớn, phân tích sự ảnh hưởng thời gian của các thuật toán.- Hình thức tổ chức dạy học

Giới thiệu lý thuyết.- Thời gian:

4 tiết- Địa điểm:

Phòng học.- Nội dung chính:3.4. Thuật toán sắp xếp hòa nhập.

- Ý tưởng. Thuật toán.- Ví dụ minh họa. Đánh giá.

3.5. Thuật toán sắp xếp vun đống- Ý tưởng. Thuật toán.

Ví dụ minh họa. Đánh giá.Bài tập (1 tiết):

Thực hiện sắp xếp bằng số trên một mảng cho trước.Thảo luận (1 tiết):

Đánh giá các trường hợp xấu nhất, tốt nhất, trung bình; Cách áp dụng giải quyết bài toán thực tế.- Yêu cầu SV chuẩn bị:

Sinh viên tìm hiểu trước nội dung bài.- Chi chú:

Giáo viên chuẩn bị một số minh họa về đánh giá thuật toán qua thực nghiệm.

SV tự học: Viết chương trình cho các thuật toán được nêu trong bài. Kiểm nghiệm hiệu quả của thuật toán.

Page 9: HỌC VIỆN KỸ THUẬT QUÂN SỰfit.mta.edu.vn/files/FileMonHoc/DeCuongChiTiet-1.doc · Web viewBộ môn phụ trách: Bộ môn Hệ thống Thông tin, Khoa CNTT. Mục tiêu

Bài giảng: Giải thuật sắp xếp (tiếp)Chương, mục:Tiết thứ: 17-20 Tuần thứ: 5Mục đích, yêu cầu:

Mục đích: Giới thiệu cho sinh viên nắm được mục đích, ý nghĩa của việc sắp xếp. Nắm được lần lượt các ý tưởng, thuật toán sắp xếp cụ thể, phân tích được trường hợp thuật toán chạy tốt, trường hợp tồi nhất phụ thuộc dữ liệu đầu vào.

Yêu cầu: Sinh viên viết chương trình thử nghiệm cho các thuật toán, chạy với bộ dữ liệu số lớn, phân tích sự ảnh hưởng thời gian của các thuật toán.- Hình thức tổ chức dạy học

Giới thiệu lý thuyết.- Thời gian:

4 tiết- Địa điểm:

Phòng học.- Nội dung chính:3.6. Thuật toán sắp xếp theo cơ số

- Ý tưởng. Thuật toán.- Ví dụ minh họa. Đánh giá.

3.7. Bài toán hòa nhập hai file lớn- Ý tưởng. Thuật toán.- Ví dụ minh họa. Đánh giá.

Bài tập (1 tiết):Phân tích và cài đặt thuật toán hòa nhập 2 file lớn.

Thảo luận (1 tiết):Đánh giá các trường hợp xấu nhất, tốt nhất, trung bình; Cách áp dụng giải

quyết bài toán thực tế.- Yêu cầu SV chuẩn bị:

Sinh viên tìm hiểu trước nội dung bài.- Chi chú:

Giáo viên chuẩn bị một số minh họa về đánh giá thuật toán qua thực nghiệm.

SV tự học: Viết chương trình cho các thuật toán được nêu trong bài. Kiểm nghiệm hiệu quả của thuật toán.

Page 10: HỌC VIỆN KỸ THUẬT QUÂN SỰfit.mta.edu.vn/files/FileMonHoc/DeCuongChiTiet-1.doc · Web viewBộ môn phụ trách: Bộ môn Hệ thống Thông tin, Khoa CNTT. Mục tiêu

Bài giảng: Giải thuật tìm kiếmChương, mục:Tiết thứ: 21-24 Tuần thứ: 6Mục đích, yêu cầu:

Mục đích: Giới thiệu cho sinh viên nắm được một số thuật toán tìm kiếm cơ bản. Phân tích được trường hợp thuật toán sử dụng phụ thuộc dữ liệu đầu vào.

Yêu cầu: Sinh viên viết chương trình thử nghiệm cho các thuật toán, chạy với bộ dữ liệu số lớn, phân tích sự ảnh hưởng thời gian của các thuật toán.- Hình thức tổ chức dạy học

Giới thiệu lý thuyết.- Thời gian:

4 tiết- Địa điểm:

Phòng học.- Nội dung chính:4.1. Thuật toán tìm kiếm tuần tự

- Ý tưởng. Thuật toán.- Ví dụ minh họa. Đánh giá.

4.2. Thuật toán tìm kiếm nhị phân- Ý tưởng. Thuật toán.- Ví dụ minh họa. Đánh giá.

Bài tập (1 tiết):Phân tích và cài đặt thuật toán tìm kiếm, so sánh với tìm kiếm tuần tự + chi

phí sắp xếp.Thực hành (1 tiết):

- Viết chương trình cho các thuật toán được nêu trong bài. Kiểm nghiệm hiệu quả của thuật toán.

- Yêu cầu SV chuẩn bị:Sinh viên tìm hiểu trước nội dung bài.

- Chi chú: Giáo viên chuẩn bị một số minh họa về đánh giá thuật toán qua thực

nghiệm. SV tự học: Viết chương trình cho các thuật toán được nêu trong bài. Kiểm

nghiệm hiệu quả của thuật toán.

Bài giảng: Giải thuật tìm kiếm (tiếp)

Page 11: HỌC VIỆN KỸ THUẬT QUÂN SỰfit.mta.edu.vn/files/FileMonHoc/DeCuongChiTiet-1.doc · Web viewBộ môn phụ trách: Bộ môn Hệ thống Thông tin, Khoa CNTT. Mục tiêu

Chương, mục:Tiết thứ: 25-28 Tuần thứ: 7Mục đích, yêu cầu:

Mục đích: Giới thiệu cho sinh viên nắm được một số thuật toán tìm kiếm nâng cao. Phân tích được trường hợp thuật toán sử dụng phụ thuộc dữ liệu đầu vào.

Yêu cầu: Sinh viên viết chương trình thử nghiệm cho các thuật toán, chạy với bộ dữ liệu số lớn, phân tích sự ảnh hưởng thời gian của các thuật toán.- Hình thức tổ chức dạy học

Giới thiệu lý thuyết.- Thời gian:

4 tiết- Địa điểm:

Phòng học.- Nội dung chính:4.3. Một số bài toán tìm kiếm

- Tìm kiếm dựa trên quy hoạch động- Tìm kiếm dựa trên đệ quy

Tìm kiếm dựa trên phân chia vùng tìm kiếm Bài tập (1 tiết):

Phân tích và cài đặt thuật toán tìm kiếm, so sánh với tìm kiếm tuần tự + chi phí sắp xếp.Thực hành (1 tiết):

- Viết chương trình cho các thuật toán được nêu trong bài. Kiểm nghiệm hiệu quả của thuật toán.

- Yêu cầu SV chuẩn bị:Sinh viên tìm hiểu trước nội dung bài.

- Chi chú: Giáo viên chuẩn bị một số minh họa về đánh giá thuật toán qua thực

nghiệm. SV tự học: Viết chương trình cho các thuật toán được nêu trong bài. Kiểm

nghiệm hiệu quả của thuật toán.

Bài giảng: Kỹ thuật chia để trịChương, mục:Tiết thứ: 29-32 Tuần thứ: 8Mục đích, yêu cầu:

Page 12: HỌC VIỆN KỸ THUẬT QUÂN SỰfit.mta.edu.vn/files/FileMonHoc/DeCuongChiTiet-1.doc · Web viewBộ môn phụ trách: Bộ môn Hệ thống Thông tin, Khoa CNTT. Mục tiêu

Mục đích: Giới thiệu cho sinh viên nắm được một số thuật toán dựa trên kỹ thuật chia để trị.

Yêu cầu: Sinh viên viết chương trình thử nghiệm cho các thuật toán, chạy với bộ dữ liệu số lớn, phân tích sự ảnh hưởng thời gian của các thuật toán.- Hình thức tổ chức dạy học

Giới thiệu lý thuyết.- Thời gian:

4 tiết- Địa điểm:

Phòng học.- Nội dung chính:5.1. Ý tưởng và lược đồ tổng quát

- Ý tưởng- Lược đồ tổng quát- Ví dụ minh họa

5.2. Thiết kế thuật toán sắp xếp- Sắp xếp nổi bọt- Sắp xếp phân đoạn

Sắp xếp hòa nhập Bài tập (1 tiết):

Cài đặt các thuật toán.Thảo luận(1 tiết):

Đánh giá hiệu quả, thời gian chạy các thuật toán - Yêu cầu SV chuẩn bị:

Sinh viên tìm hiểu trước nội dung bài.- Chi chú:

Giáo viên chuẩn bị một số minh họa về đánh giá thuật toán qua thực nghiệm.

SV tự học: Viết chương trình cho các thuật toán được nêu trong bài. Kiểm nghiệm hiệu quả của thuật toán.

Bài giảng: Kỹ thuật chia để trị (tiếp)Chương, mục:Tiết thứ: 33-36 Tuần thứ: 9Mục đích, yêu cầu:

Page 13: HỌC VIỆN KỸ THUẬT QUÂN SỰfit.mta.edu.vn/files/FileMonHoc/DeCuongChiTiet-1.doc · Web viewBộ môn phụ trách: Bộ môn Hệ thống Thông tin, Khoa CNTT. Mục tiêu

Mục đích: Giới thiệu cho sinh viên nắm được một số thuật toán dựa trên kỹ thuật chia để trị.

Yêu cầu: Sinh viên viết chương trình thử nghiệm cho các thuật toán, chạy với bộ dữ liệu số lớn, phân tích sự ảnh hưởng thời gian của các thuật toán.- Hình thức tổ chức dạy học

Giới thiệu lý thuyết.- Thời gian:

4 tiết- Địa điểm:

Phòng học.- Nội dung chính:5.3. Thiết kế thuật toán tìm kiếm

- Tìm kiếm tuần tự- Tìm kiếm nhị phân- Một số bài toán tìm kiếm trên cây

Bài tập (1 tiết):Cài đặt các thuật toán.

Thực hành (1 tiết):Viết chương trình cho các thuật toán được nêu trong bài. Kiểm nghiệm hiệu

quả của thuật toán.- Yêu cầu SV chuẩn bị:

Sinh viên tìm hiểu trước nội dung bài.- Chi chú:

Giáo viên chuẩn bị một số minh họa về đánh giá thuật toán qua thực nghiệm.

SV tự học: Viết chương trình cho các thuật toán được nêu trong bài. Kiểm nghiệm hiệu quả của thuật toán.

Bài giảng: Thao tác với danh sáchChương, mục:Tiết thứ: 37-40 Tuần thứ: 10Mục đích, yêu cầu:

Mục đích: Giới thiệu cho sinh viên nắm được một số thao tác trên danh sách liên kết và sử dụng danh sách liên kết vào giải bài toán cụ thể.

Page 14: HỌC VIỆN KỸ THUẬT QUÂN SỰfit.mta.edu.vn/files/FileMonHoc/DeCuongChiTiet-1.doc · Web viewBộ môn phụ trách: Bộ môn Hệ thống Thông tin, Khoa CNTT. Mục tiêu

Yêu cầu: Sinh viên viết chương trình thử nghiệm cho các thuật toán, chạy với bộ dữ liệu số lớn, phân tích sự ảnh hưởng thời gian của thuật toán so với sử dụng mảng.- Hình thức tổ chức dạy học

Giới thiệu lý thuyết.- Thời gian:

4 tiết- Địa điểm:

Phòng học.- Nội dung chính:6.1. Một số cấu trúc danh sách tuyến tính

- Cấu trúc mảng- Cấu trúc danh sách liên kết

6.2. Thêm, bớt phần tử trên danh sách đơn Bài tập (1 tiết):

Cài đặt các thuật toán.Thực hành (1 tiết):

Viết chương trình cho các thuật toán được nêu trong bài. Kiểm nghiệm hiệu quả của thuật toán.

- Yêu cầu SV chuẩn bị:Sinh viên tìm hiểu trước nội dung bài.

- Chi chú: Giáo viên chuẩn bị một số minh họa về đánh giá thuật toán qua thực

nghiệm. SV tự học: Viết chương trình cho các thuật toán được nêu trong bài. Kiểm

nghiệm hiệu quả của thuật toán.

Bài giảng: Thao tác với danh sách (tiếp)Chương, mục:Tiết thứ: 41-44 Tuần thứ: 11Mục đích, yêu cầu:

Mục đích: Giới thiệu cho sinh viên nắm được một số thao tác trên danh sách liên kết và sử dụng danh sách liên kết vào giải bài toán cụ thể.

Page 15: HỌC VIỆN KỸ THUẬT QUÂN SỰfit.mta.edu.vn/files/FileMonHoc/DeCuongChiTiet-1.doc · Web viewBộ môn phụ trách: Bộ môn Hệ thống Thông tin, Khoa CNTT. Mục tiêu

Yêu cầu: Sinh viên viết chương trình thử nghiệm cho các thuật toán, chạy với bộ dữ liệu số lớn, phân tích sự ảnh hưởng thời gian của thuật toán so với sử dụng mảng.- Hình thức tổ chức dạy học

Giới thiệu lý thuyết.- Thời gian:

4 tiết- Địa điểm:

Phòng học.- Nội dung chính:6.3. Thuật toán tính giá trị của biểu thức

- Biểu thức dạng trung tố- Biểu thức dạng hậu tố

6.4. Tính toán với số lớn- Cộng, trừ hai số lớn- Nhân hai số lớn

Bài tập (1 tiết):

Cài đặt các thuật toán.Thực hành (1 tiết):

Viết chương trình cho các thuật toán được nêu trong bài. Kiểm nghiệm hiệu quả của thuật toán.

- Yêu cầu SV chuẩn bị:Sinh viên tìm hiểu trước nội dung bài.

- Chi chú: Giáo viên chuẩn bị một số minh họa về đánh giá thuật toán qua thực

nghiệm. SV tự học: Viết chương trình cho các thuật toán được nêu trong bài. Kiểm

nghiệm hiệu quả của thuật toán.

Bài giảng: Thao tác với cấu trúc câyChương, mục:Tiết thứ: 45-48 Tuần thứ: 12Mục đích, yêu cầu:

Mục đích: Giới thiệu cho sinh viên nắm được một số thao tác trên cấu trúc cây và sử dụng cấu trúc cây vào giải bài toán cụ thể.

Page 16: HỌC VIỆN KỸ THUẬT QUÂN SỰfit.mta.edu.vn/files/FileMonHoc/DeCuongChiTiet-1.doc · Web viewBộ môn phụ trách: Bộ môn Hệ thống Thông tin, Khoa CNTT. Mục tiêu

Yêu cầu: Sinh viên viết chương trình thử nghiệm cho các thuật toán, chạy với bộ dữ liệu số lớn, phân tích sự ảnh hưởng thời gian của thuật toán so với sử dụng mảng, so sánh thời gian chạy với các cấu trúc khác.- Hình thức tổ chức dạy học

Giới thiệu lý thuyết.- Thời gian:

4 tiết- Địa điểm:

Phòng học.- Nội dung chính:7.1. Xây dựng cây nhị phân tìm kiếm

- Thủ tục thêm một phần tử- Xây dựng cây nhị phân tìm kiếm cho một dãy khóa

7.2. Duyệt cây- Duyệt cây nhị phân- Duyệt cây tổng quát

Bài tập (1 tiết):

Cài đặt các thuật toán, ghi thứ tự duyệt cây Thực hành (1 tiết):

Thao tác xóa phần tử trên cây, cây cân bằng.- Yêu cầu SV chuẩn bị:

Sinh viên tìm hiểu trước nội dung bài.- Chi chú:

Giáo viên chuẩn bị một số minh họa về đánh giá thuật toán qua thực nghiệm.

SV tự học: Viết chương trình cho các thuật toán được nêu trong bài. Kiểm nghiệm hiệu quả của thuật toán.

Bài giảng: Thao tác với cấu trúc cây (tiếp)Chương, mục:Tiết thứ: 49-52 Tuần thứ: 13Mục đích, yêu cầu:

Mục đích: Giới thiệu cho sinh viên nắm được một số thao tác trên cấu trúc cây và sử dụng cấu trúc cây vào giải bài toán cụ thể.

Page 17: HỌC VIỆN KỸ THUẬT QUÂN SỰfit.mta.edu.vn/files/FileMonHoc/DeCuongChiTiet-1.doc · Web viewBộ môn phụ trách: Bộ môn Hệ thống Thông tin, Khoa CNTT. Mục tiêu

Yêu cầu: Sinh viên viết chương trình thử nghiệm cho các thuật toán, chạy với bộ dữ liệu số lớn, phân tích sự ảnh hưởng thời gian của thuật toán so với sử dụng mảng, so sánh thời gian chạy với các cấu trúc khác.- Hình thức tổ chức dạy học

Giới thiệu lý thuyết.- Thời gian:

4 tiết- Địa điểm:

Phòng học.- Nội dung chính:7.3. Xây dựng cây nhị phân Huffman

- Xây dựng cây Huffman- Đánh giá hiệu quả

7.4. Cây cân bằng- Chỉnh nút- Đánh giá hiệu qủa

Bài tập (1 tiết):Cài đặt các thuật toán.

Thực hành (1 tiết):- Xây dựng cây nhị phân tìm kiếm- Xây dựng cậy Huffman- Hiệu chỉnh cây cân bằng

- Yêu cầu SV chuẩn bị:Sinh viên tìm hiểu trước nội dung bài.

- Chi chú: Giáo viên chuẩn bị một số minh họa về đánh giá thuật toán qua thực

nghiệm. SV tự học: Viết chương trình cho các thuật toán được nêu trong bài. Kiểm

nghiệm hiệu quả của thuật toán.

Bài giảng: Thao tác trên đồ thịChương, mục:Tiết thứ: 53-56 Tuần thứ: 14Mục đích, yêu cầu:

Mục đích: Giới thiệu cho sinh viên nắm được một số thao tác trên đồ thị và ứng dụng đồ thị vào giải bài toán cụ thể.

Page 18: HỌC VIỆN KỸ THUẬT QUÂN SỰfit.mta.edu.vn/files/FileMonHoc/DeCuongChiTiet-1.doc · Web viewBộ môn phụ trách: Bộ môn Hệ thống Thông tin, Khoa CNTT. Mục tiêu

Yêu cầu: Sinh viên viết chương trình thử nghiệm cho các thuật toán.- Hình thức tổ chức dạy học

Giới thiệu lý thuyết.- Thời gian:

4 tiết- Địa điểm:

Phòng học.- Nội dung chính:8.1. Một số khái niệm

- Một số khái niệm đồ thị- Khái niệm cây khung

8.2. Biểu diễn đồ thị8.3. Duyệt đồ thị

- Duyệt theo chiều rộng- Duyệt theo chiều sâu

Bài tập (1 tiết):- Cài đặt các thuật toán- Ghi thứ tự duyệt đồ thị

- Yêu cầu SV chuẩn bị:Sinh viên tìm hiểu trước nội dung bài.

- Chi chú: Giáo viên chuẩn bị một số minh họa về đánh giá thuật toán qua thực

nghiệm.SV tự học: Viết chương trình cho các thuật toán được nêu trong bài. Kiểm nghiệm hiệu quả của thuật toán.

Bài giảng: Thao tác trên đồ thị (tiếp)Chương, mục:Tiết thứ: 57-60 Tuần thứ: 15Mục đích, yêu cầu:

Mục đích: Giới thiệu cho sinh viên nắm được một số thao tác trên đồ thị và ứng dụng đồ thị vào giải bài toán cụ thể.

Yêu cầu: Sinh viên viết chương trình thử nghiệm cho các thuật toán.- Hình thức tổ chức dạy học

Giới thiệu lý thuyết.

Page 19: HỌC VIỆN KỸ THUẬT QUÂN SỰfit.mta.edu.vn/files/FileMonHoc/DeCuongChiTiet-1.doc · Web viewBộ môn phụ trách: Bộ môn Hệ thống Thông tin, Khoa CNTT. Mục tiêu

- Thời gian: 4 tiết

- Địa điểm: Phòng học.

- Nội dung chính:8.4. Thuật toán tìm cây khung tối thiểu

- Thuật toán Prim- Thuật toán Krusskal

7.4. Thuật toán tìm đường đi ngắn nhất- Thuật toán tìm đường đi ngắn nhất Floy- Thuật toán tìm đường đi ngắn nhất Dijkstra

Bài tập (1 tiết):- Cài đặt các thuật toán

Thực hành: (1 tiết)Viết chương trình tìm cây khung tối thiểu, bài toán tìm đường đi ngắn nhất.

- Yêu cầu SV chuẩn bị:Sinh viên tìm hiểu trước nội dung bài.

- Chi chú: Giáo viên chuẩn bị một số minh họa về đánh giá thuật toán qua thực

nghiệm.SV tự học: Viết chương trình cho các thuật toán được nêu trong bài. Kiểm nghiệm hiệu quả của thuật toán.

8. Chính sách đối với học phần và các yêu cầu khác của giáo viênBài kiểm tra được thực hiện ở tuần 11. Điểm bài kiểm tra kết hợp với điểm

được cho trong quá trình làm bài tập, thảo luận và thực hành để tổng hợp thành điểm thường xuyên.

Việc thực hành được thực hiện như sau: giáo viên hướng dẫn cách giải quyết bài toán, cách viết và thực hiện chương trình, tổng hợp kết quả thực nghiệm. Sinh viên tự thực hiện, nộp kết quả. Các giải đáp thắc mắc được thực hiện ở phần thảo luận.9. Phương pháp, hình thức kiểm tra – đánh giá kết quả học phần

9.1. Kiểm tra – đánh giá thường xuyên: 9.2. Kiểm tra - đánh giá định kì: - Tham gia học tập trên lớp (đi học đầy đủ, chuẩn bị bài tốt và tích cực thảo luận,…): hệ số 0.1- Hoàn thành tốt Bài tập về nhà , Kiểm tra giữa kì : hệ số 0.2- Thi kết thúc học phần tốt: hệ số 0.7

Page 20: HỌC VIỆN KỸ THUẬT QUÂN SỰfit.mta.edu.vn/files/FileMonHoc/DeCuongChiTiet-1.doc · Web viewBộ môn phụ trách: Bộ môn Hệ thống Thông tin, Khoa CNTT. Mục tiêu

Chủ nhiệm khoa(Ký ghi rõ họ tên)

Chủ nhiệm bộ môn(Ký ghi rõ họ tên)

Giảng viên biên soạn(Ký ghi rõ họ tên)

Tống Minh Đức