Trường Đại học Khoa Học Tự Nhiên, ĐHQG HCM Khoa Công Nghệ Thông Tin Đề cương môn học Cấu trúc dữ liệu và Giải thuật Trang 1/7 ĐỀ CƯƠNG MÔN HỌC CTT101 – Cấu trúc dữ liệu & Giải thuật 1 THÔNG TIN CHUNG[.]
Trường Đại học Khoa Học Tự Nhiên, ĐHQG-HCM Khoa Công Nghệ Thơng Tin ĐỀ CƯƠNG MƠN HỌC CTT101 – Cấu trúc liệu & Giải thuật THÔNG TIN CHUNG Tên môn học (tiếng Việt): Cấu trúc liệu Giải thuật Tên môn học (tiếng Anh): Data structures and Algorithms Mã số môn học: CTT101 Thuộc khối kiến thức: Cơ sở ngành Số tín chỉ: Số tiết lý thuyết: 45 Số tiết thực hành: 30 Số tiết tự học: 60 Các môn học tiên quyết: Không Các môn học trước: Kỹ thuật lập trình MƠ TẢ MƠN HỌC (COURSE DESCRIPTION) Nội dung môn học gồm phần: CTDL Giải thuật Với nội dung CTDL, môn học trình bày tất cấu trúc liệu bản, cần thiết mà người lập trình viên phải nắm vững để vận dụng trình viết ứng dụng, như: danh sách liên kết, ngăn xếp, hàng đợi, hàng đợi ưu tiên, nhị phân tìm kiếm (BST, AVL, Red-Black, AA), B-cây, bảng băm Với nội dung Giải thuật, giải thuật kèm với CTDL nêu trên, mơn học cịn trình bày giải thuật cần thiết khác như: xếp, tìm kiếm, tìm kiếm chuỗi (KMP, Rabin Karp), giải thuật nén (Run-Length, Huffman, LZW) Sinh viên học lập trình C/C++, bao gồm: làm để ước lượng, chọn lựa, sử dụng thư viện để cài đặt giải thuật cấu trúc liệu khác Môn học cung cấp kỹ thuật phân tích giải thuật bản; phân tích gần độ phức tạp giải thuật; ký hiệu big-O, big-Theta bigOmega; ôn lại thực sâu kỹ thuật đệ qui; giải thuật hiệu cho cấu trúc liệu rời rạc như: cây, danh sách liên kết, bảng băm,… Bên cạnh đó, sinh viên học cách cài đặt hiệu giải thuật; làm để vận dụng kỹ thuật như: chia để trị, đệ qui quay lui,… Đề cương môn học Cấu trúc liệu Giải thuật Trang 1/7 Trường Đại học Khoa Học Tự Nhiên, ĐHQG-HCM Khoa Công Nghệ Thông Tin MỤC TIÊU MÔN HỌC (COURSE GOALS) Sinh viên học xong mơn học có khả : CĐR CDIO Mục tiêu Mô tả (mức tổng quát ) G1 Hiểu sử dụng cấu trúc liệu, bao gồm: khái niệm, tính chất, ưu điểm, hạn chế, tình sử dụng giải thuật liên quan cấu trúc liệu cụ thể 1.1.1 Phân tích xây dựng cấu trúc liệu (trên sở kết hợp, thay đổi cấu trúc liệu học) để phù hợp với yêu cầu thực tế phần mềm 1.3.1 G2 chương trình 1.3.1 2.1 2.2 2.3.1 2.4.1 2.4.3 4.1.4 4.1.5 G3 Cài đặt CTDL giải thuật trình bày phần nội dung mơn học C/C++ 1.2.1 G4 Phân tích ưu điểm hạn chế cấu trúc liệu khác nhau, từ chọn lựa cấu trúc liệu giải thuật phù hợp cho ứng dụng cụ thể 1.3.1 G5 Đọc hiểu tài liệu tham khảo tiếng Việt, tiếng Anh cung cấp sẵn 4.4.3 G6 Tổ chức làm việc nhóm, phân cơng cơng việc, kỹ trình bày báo cáo 1.3.1 4.2 4.3.1 4.3.2 3.1 3.3.1 3.3.2 2.3.1 2.3.4 Đề cương môn học Cấu trúc liệu Giải thuật Trang 2/7 Trường Đại học Khoa Học Tự Nhiên, ĐHQG-HCM Khoa Công Nghệ Thông Tin CHUẨN ĐẦU RA MƠN HỌC Chuẩn Mơ tả (Mức chi tiết - hành động) Mức độ (I/T/U) đầu G1.1 Áp dụng kiến thức khoa học môn học Sử T, U dụng số kiến thức tốn để tính tốn độ phức tạp giải thuật, hay cài đặt giải thuật G1.2 Hiểu sử dụng cấu trúc liệu, bao gồm: khái niệm, I, T, U tính chất, ưu điểm, hạn chế, tình sử dụng giải thuật liên quan cấu trúc liệu cụ thể G2.1 Áp dụng kiến thức nghề nghiệp, nghiệp vụ (nói chung I, T, U xã hội) vào chủ đề mơn học Có vận dụng tốn thực tế vào việc cài đặt ứng dụng minh họa CTDL G2.2 Suy nghĩ giải vấn đề Có thể tự định nghĩa cấu trúc I, T, U liệu (trên sở kết hợp, thay đổi cấu trúc liệu học) để phù hợp với yêu cầu thực tế phần mềm G2.3 Phân tích xây dựng cấu trúc liệu (trên sở kết T, U hợp, thay đổi cấu trúc liệu học) để phù hợp với yêu cầu thực tế phần mềm G3.1 Cài đặt cấu trúc liệu thuật tốn C/C++ I, T, U G4.1 Phân tích ưu điểm hạn chế cấu trúc liệu T, U khác nhau, từ chọn lựa cấu trúc liệu giải thuật phù hợp cho ứng dụng cụ thể G5.1 Hiểu xác thuật ngữ tiếng Anh mơn học Giải thích I, T, U diễn đạt thuật ngữ tiếng Anh chuyên ngành môn học Phát âm thuật ngữ, sử dụng xác theo ngữ cảnh G5.2 Đọc hiểu tài liệu tham khảo tiếng Anh GV I, T cung cấp G6.1 Kỹ viết nói, kỹ trình bày (tiếng Việt) liên quan đến U chủ đề môn học Đề cương môn học Cấu trúc liệu Giải thuật Trang 3/7 Trường Đại học Khoa Học Tự Nhiên, ĐHQG-HCM Khoa Công Nghệ Thông Tin G6.2 SV làm seminar, tập nhóm thuyết trình theo nhóm U G6.3 Nhận biết vận dụng kiến thức văn hóa, đạo đức T, U nghề nghiệp, trách nhiệm khía cạnh luật lệ liên quan đến chủ đề môn học Ý thức tuân thủ quyền, tài liệu tham khảo Ý thức tự làm, trung thực báo cáo kết Ý thức tuân thủ kế hoạch làm việc đặt G6.4 Thảo luận, tranh luận, phản biện, phê phán sở lý luận U khoa học Thảo luận qua seminar G6.5 Làm việc nhóm, tổ chức quản lý Làm việc nhóm U học lớp hay tập nhóm hay seminar KẾ HOẠCH GIẢNG DẠY LÝ THUYẾT Tuần Tên chủ đề Chuẩn Hoạt động dạy/ đầu Hoạt động học (gợi ý) Hoạt động đánh giá Trong lớp Giảng viên Chương Tính chi phí thuật tốn Chương Các thuật tốn xếp G5.1 G5.2 G2.1 G1.1 G3.1 Ngoài lớp Sinh viên - Tính chi phí thuật tốn - Big-O, Big-, Big- - Ôn lại Quick Sort - Heap sort - Radix sort Tự ơn tập thuật tốn: Selection sort, Bubble sort, Merge sort (Sorting Algorithms) Chương Các thuật tốn tìm kiếm (Searching Algorithms) Ơn tập & rèn luyện G5.1 G5.2 G6.1 G6.2 G1.1 G2.2 G6.5 G3.1 G6.3 G2.2 G3.1 - Ôn lại Sequential search - Ôn lại Binary search - Brute Force - Rabin Karp - KMP - Đệ qui - Các kiến thức chương chương Bài tập Bài tập CC1- nhóm (N1) Moodle lớp Bài tập Bài tập CN1 - CC2 – Moodle lớp Chương Các khái niệm G5.1 G5.2 G1.2 - Kiểu liệu (Data Type) - Kiểu liệu (Basic Data Type) Đề cương môn học Cấu trúc liệu Giải thuật Tự đọc tài liệu: DSLK, stack, Trang 4/7 Trường Đại học Khoa Học Tự Nhiên, ĐHQG-HCM Khoa Công Nghệ Thông Tin G4.1 Chương Các cấu trúc liệu G5.1 G5.2 G6.4 G6.5 G3.1 G1.2 - Kiểu liệu có cấu trúc (Structured Data Type) - Kiểu liệu trừu tượng (ADT – Abstract Data Type) - Cấu trúc liệu (Data structure) - Đánh giá Cấu trúc liệu - Ôn lại Danh sách liên kết - Ôn lại Stack, Queue - Hàng đợi ưu tiên (Priority Queue) queue Bài tập Tự đọc tài liệu: nhóm (N2) khái niệm lớp cấu trúc Bài tập CC3Moodle Chương Các cấu trúc liệu G5.1 G5.2 G6.3 G2.2 G3.1 G1.2 G2.3 - Cây nhị phân tìm kiếm (Binary Search Tree) - Cây AVL Tự đọc tài liệu: đỏ-đen (Red-Black tree) Bài tập CN2 Moodle Chương Các cấu trúc liệu Chương Các cấu trúc liệu Kiểm tra kỳ 10 Chương Các G5.1 G5.2 G2.2 G1.2 - B-cây - Ôn tập đỏ-đen G6.3 G2.2 G6.4 G6.5 G3.1 G1.2 G2.2 G3.1 G3.1 - Bảng băm – Hash Table - Ôn tập AA - Ôn tập kiến thức chương G2.1 G6.3 G2.2 G6.4 G6.5 - Nén LZW - Ôn tập thuật toán nén thuật toán nén Bài tập CC4 – lớp Tự đọc tài liệu: AA (AA tree) Bài tập Bài tập CN3 - nhóm (N3) Moodle lớp - Nén Run-Length Encoding - Nén Huffman tĩnh liệu 11 Chương Các thuật toán nén liệu Đề cương môn học Cấu trúc liệu Giải thuật Bài tập Bài tập CN4 - nhóm (N4) Moodle lớp Trang 5/7 Trường Đại học Khoa Học Tự Nhiên, ĐHQG-HCM Khoa Công Nghệ Thông Tin 12 G3.1 G4.1 G6.1 G6.2 Ôn tập & rèn luyện Tổng hợp kiến thức môn học Bài tập Bài tập CC5- nhóm (N5) Moodle lớp # G2.2 G1.2 G2.3 G4.1 Kiểm tra cuối kỳ KẾ HOẠCH GIẢNG DẠY THỰC HÀNH (nếu có) Các tập thực hành bao gồm: - CC1, CC3, CC5 - CN1, CN2, CN3, CN4, CN5 Kế hoạch thực hành thể cụ thể phần [5] ĐÁNH GIÁ Các chuẩn Mã Tên Mô tả (gợi ý) đầu Tỉ lệ (%) đánh giá CC Bài tập chuyên cần 20% CC1 Bài tập chuyên cần thực Max 120 phút làm bài, có CC3 qua hệ thống Moodle thể lập trình và/hoặc trắc nghiệm hiểu Tiêu chí: CC5 - Đầy đủ - Đúng - Đúng hạn G6.1 G6.2 G6.3 G1.1 G2.2 G3.1 G1.2 4% 4% 4% CC2 Bài tập chuyên cần thực Max 20 phút làm bài, ưu 4% CC4 lớp tiên câu hỏi trắc nghiệm 4% hay tự luận ngắn Tiêu chí: N - Đầy đủ - Đúng Bài tập nhóm lớp N1-N5 20% Bài tập nhóm Bài tập giấy tập lập trình Làm lớp Đề cương mơn học Cấu trúc liệu Giải thuật G6.1 G6.2 G2.2 4%/bài Trang 6/7 Trường Đại học Khoa Học Tự Nhiên, ĐHQG-HCM Khoa Cơng Nghệ Thơng Tin Max 30 phút làm Có thể trình bày kết CN G6.4 G6.5 G2.3 G4.1 Bài tập project cá nhân CN1 CN2 20% Bài tập lập trình tổng hợp, Bài làm nộp qua bao gồm kiến thức Moodle, làm riêng theo hay nhiều chương cá nhân Thời gian làm CN3 max tuần CN4 KTGK Kiểm tra kỳ Thực hành phòng lab LTCK Thi lý thuyết cuối kỳ Tự luận L2.1 G6.3 G2.2 G3.1 G1.2 G2.3 G4.1 G1.1 G2.2 G3.1 G2.2 G1.2 G2.3 G4.1 5%/bài 10% 30% TÀI NGUYÊN MÔN HỌC Tài liệu tham khảo a Mark Allen Weiss, Data structures and Algorithm Analysis in C (Second Edition), AddisonWesley, 1991 b Thomas H.Cormen, Charles E Leiserson, Ronald L Rivest, Introduction to Algorithms, The MIT Press and McGraw-Hill Book Company, 1990 c Dương Anh Đức, Trần Hạnh Nhi – Cấu trúc liệu, Trường ĐH KHTN – ĐHQG Tp HCM d Đinh Mạnh Tường, Cấu trúc liệu & Thuật toán, Nhà xuất khoa học kỹ thuật, 2000 Tài nguyên khác Phần mềm hay công cụ hỗ trợ thực hành: a Ngơn ngữ lập trình: C++, viết chế độ console hay GUI (tùy chọn) b Cơng cụ lập trình: sử dụng Visual Studio trở lên, đề nghị Visual Studio 2012 CÁC QUY ĐỊNH CHUNG Sinh viên khơng tính điểm chuyên cần thiếu 50% số kiểm tra chuyên cần Sinh viên cần tuân thủ nghiêm túc nội quy quy định Khoa Trường Đối với gian lận trình làm tập hay thi, sinh viên phải chịu hình thức kỷ luật Khoa/Trường bị điểm cho môn học - HẾT Đề cương môn học Cấu trúc liệu Giải thuật Trang 7/7 ... dụng cấu trúc liệu, bao gồm: khái niệm, tính chất, ưu điểm, hạn chế, tình sử dụng giải thuật liên quan cấu trúc liệu cụ thể 1.1.1 Phân tích xây dựng cấu trúc liệu (trên sở kết hợp, thay đổi cấu trúc. .. Các cấu trúc liệu G5.1 G5.2 G6.4 G6.5 G3.1 G1.2 - Kiểu liệu có cấu trúc (Structured Data Type) - Kiểu liệu trừu tượng (ADT – Abstract Data Type) - Cấu trúc liệu (Data structure) - Đánh giá Cấu trúc. .. đổi cấu trúc liệu học) để phù hợp với yêu cầu thực tế phần mềm G3.1 Cài đặt cấu trúc liệu thuật toán C/C++ I, T, U G4.1 Phân tích ưu điểm hạn chế cấu trúc liệu T, U khác nhau, từ chọn lựa cấu trúc