Skip to document

De cuong IT003(2024 01)

...
Course

Cấu trúc dữ liệu và giải thuật (IT003)

8 Documents
Students shared 8 documents in this course
Academic year: 2023/2024
Uploaded by:

Comments

Please sign in or register to post comments.

Preview text

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

ĐỀ CƯƠNG MÔN HỌC

Môn: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT

(Tiếng Anh: Data Structures and Algorithms)

Chương trình đào tạo:

Cử nhân Trí tuệ nhân tạo;

Cử nhân Khoa học máy tính.

(Bản Cập nhật tháng 0 1 năm 202 4 )

Người biên soạn:

ThS. Trịnh Quốc Sơn

ThS. Phạm Nguyễn Trường An

ThSỳnh Thị Thanh Thương

ThS. Nguyễn Thanh Sơn

TS Tiến Dũng

TP. HCM – 2024

1. THÔNG TIN CHUNG

1 Thông tin về giảng viên:

  • Họ và tên: Trịnh Quốc Sơn
  • Chức danh, học vị: Thạc sỹ
  • Email: sontq@uit.edu 1 Thông tin về môn học Tên môn học (tiếng Việt): Cấu trúc dữ liệu và giải thuật Tên môn học (tiếng Anh): Data structures and Algorithms Đối tượng học tập Những người muốn có kiến thức về cấu trúc dữ liệu và giải thuật Mã môn học: IT Thuộc khối kiến thức: Cơ sở Thuộc nhóm môn học ☒ Đại trà ☒Chất lượng cao ☒ Tài năng Khoa/Bộ môn phụ trách: Khoa Khoa học Máy tính Số tín chỉ: 4 Lý thuyết: 3 Thực hành: 1 Môn học tiên quyết: Môn học trước: IT001 – Nhập môn lập trình

2. MÔ TẢ TÓM TẮT NỘI DUNG MÔN HỌC

a. Môn học giúp sinh viên hiểu tầm quan trọng của giải thuật và cách tổ chức dữ liệu, là hai thành tố quan trọng nhất cho một chương trình. Nắm bắt, áp dụng được các giải thuật, cấu trúc dữ liệu thường đư ợc áp dụng trong việc giải quyết bài toán trong tin học. Giúp củng cố và phát triển kỹ năng lập trình vừa được học trong môn học trước. b. Đối với hệ tài năng: nội dung đư ợc mở rộng thêm với các cấu trúc dữ liệu phức tạp và các thuật toán có độ phức tạp cao hơn, yêu cầu và đánh giá môn học cao hơn.

3. MỤC TIÊU VÀ CHUẨN ĐẦU RA MÔN HỌC

3 Mục tiêu môn học:

3.1. Mục tiêu chung: Trang bị cho người học những kiến thức cơ bản về các giải thuật và cấu trúc dữ liệu trong tin học. 3.1. Mục tiêu cụ thể Mục tiêu Nội dung mục tiêu môn học CG Hiểu và nắm vững các cấu trúc dữ liệu cơ bản và các giải thuật cơ bản. CG Áp dụng được các cấu trúc dữ liệu và giải thuật để giải quyết vấn đề cơ bản trong tin học.

  • Đối với bất kỳ sự gian lận nào trong quá trình làm bài tập hay bài thi, sinh viên phải chịu mọi hình thức kỷ luật của Khoa/Trường và bị 0 đi ểm cho môn học này.

5. NỘI DUNG MÔN HỌC, KẾ HOẠCH GIẢNG DẠY

  • Thời lượng: Mỗi buổi học lý thuyết là 3 tiết.

5 Lý thuyết

Buổi học Nội dung CĐRMH Hoạt động dạy và học Thời điểm kiểm tra 1 Chương 1. Tổng quan về giải thuật và cấu trúc dữ liệu 1 Khái niệm và vai trò của cấu trúc dữ liệu trong một đề án tin học 1 Các tiêu chuẩn đánh giá CTDL 1 Khái niệm thuật toán, biểu diễn thuật toán 1 Độ phức tạp thuật toán 1 Một số ví dụ về CTDL & GT 1 Giới thiệu một số chiến lược thiết kế giải thuật 1.6 Quay lui 1.6 Nhánh và cận 1.6 Chia để trị 1.6 Quy hoạch động 1.6 Tham lam 1 Bài tập chương

CLO1,

CLO

Dạy: - GV đặt vấn đề và trao đổi;Tổng hợp trả lời của SV, tổng kết; Thuyết giảng - Cho bài tập về nhà BT#1, hướng dẫn. - Đặt vấn đề để SV chuẩn bị cho buổi học kế tiếp. Học ở lớp:

  • Trả lời câu hỏi, thảo luận trước lớp, nghe giảng.
  • Trao đổi với GV về bài tập. Học ở nhà:
  • Làm BT#
  • Đọc tài liệu

(a) chương 1 từ trang 1;

tài liệu (b) chương 10 từ trang 409

  • Tham khảo tài liệu (f) chương 3 từ trang 65
  • Đoc bảng thuật ngữ môn học (Anh – Việt) trang 362 tài liệu (f)
  • Chuẩn bị các câu hỏi trước buổi lên lớp.

A1, A

2 Chương 2. Tìm kiếm và sắp xếp 2. Cấu trúc dữ liệu vector 2 Định nghĩa bài toán tìm kiếm 2. Các giải thuật tìm kiếm: 2.3 Tìm kiếm tuyến tính 2.3 Tìm kiếm tuyến tính (cải tiến) 2.3 Tìm kiếm nhị phân

CLO1,

CLO

Dạy: - GV đặt vấn đề và trao đổi;Tổng hợp trả lời của SV, tổng kết; Thuyết giảng - Cho bài tập về nhà BT#2, hướng dẫn. - Đặt vấn đề để SV chuẩn bị cho buổi học kế tiếp.

A1, A

Học ở lớp: - Trả lời câu hỏi, thảo luận trước lớp, nghe giảng. - Trao đổi với GV về bài tập. Học ở nhà: - Làm BT# - Đọc tài liệu o chương 1 từ trang 12; tài liệu (b) chương 10 từ trang 409 o Tham khảo tài liệu (f) chương 3 từ trang 65 - Chuẩn bị các câu hỏi trước buổi lên lớp.

3 2. Các giải thuật sắp xếp:

2.4 Định nghĩa bài toán sắp

xếp

2.4 Phân loại sắp xếp:

  • Online vs Offline sorting
  • Stable vs Unstable sorting
  • Internal vs External sorting 2.4 Các giải thuật sắp xếp :
  • Selection sort
  • Insertion sort
  • Counting sort (giới thiệu)
  • Radix sort (giới thiệu)

CLO1,

CLO

Dạy:

  • GV đặt vấn đề và trao đổi;Tổng hợp trả lời của SV, tổng kết; Thuyết giảng
  • Cho bài tập về nhà BT#3, hướng dẫn.
  • Đặt vấn đề để SV chuẩn bị cho buổi học kế tiếp. Học ở lớp: Trả lời câu hỏi, thảo luận trước lớp, nghe giảng.
  • Trao đổi với GV về bài tập. Học ở nhà:
  • Làm BT#
  • Tham khảo tài liệu (d) chương 9 từ trang 207
  • Tham khảo tài liệu (e) chương 11 từ trang 281
  • Chuẩn bị các câu hỏi trước buổi lên lớp.

A1, A

4 2 Các giải thuật sắp xếp (tt) : 2.5 Heap sort 2.5 Quick sort 2.5 Merge sort 2 Cấu trúc priority queue (dùng heap) 2 Bài tập chương

CLO1,

CLO

Dạy:

  • GV đặt vấn đề và trao đổi;Tổng hợp trả lời của SV, tổng kết; Thuyết giảng
  • Cho bài tập về nhà BT#4, hướng dẫn.
  • Đặt vấn đề để SV chuẩn bị cho buổi học kế tiếp.

A1, A

3 Bài tập chương trang 124; tài liệu (b) chương 4 từ trang 113

  • Tham khảo tài liệu (f) chương 4 từ trang 143
  • Chuẩn bị các câu hỏi trước buổi lên lớp. 7 , 8 Chương 4. Tree 4 Cấu trúc cây 4.1 Khái niệm cây 4.1 Tính chất cây 4.1 Ví dụ về đối tượng các cấu trúc dạng cây 4 Cây nhị phân 4.2 Khái niệm cây nhị phân 4.2 Tính chất cây nhị phân 4.2 Biểu diễn cây nhị phân: mảng, liên kết 4.2 Các phép duyệt cây nhị phân 4 Cây tổng quát 4.3 Cây N-phân 4.3 Biểu diễn cây tổng quát 4 Cây nhị phân tìm kiếm 4.4 Khái niệm 4.4 Các thao tác trên cây 4.4 Ví dụ 4 Bài tập 4 Cây đỏ đen (giới thiệu) 4 Thư viện set, map

CLO1,

CLO

Dạy: - GV đặt vấn đề và trao đổi;Tổng hợp trả lời của SV, tổng kết; Thuyết giảng - Cho bài tập về nhà BT#7, hướng dẫn. - Đặt vấn đề để SV chuẩn bị cho buổi học kế tiếp. Học ở lớp: - Trả lời câu hỏi, thảo luận trước lớp, nghe giảng. - Trao đổi với GV về bài tập. Học ở nhà: - Làm BT# - Đọc tài liệu (d) chương 6 từ trang 100 đến 143 - Chuẩn bị các câu hỏi trước buổi lên lớp.

A1, A

9 4.6ác cấu trúc cây khác 4.7ây B-tree 4 Các thao tác trên B-tree

CLO1,

CLO

Dạy:

  • GV đặt vấn đề và trao đổi;Tổng hợp trả lời của SV, tổng kết; Thuyết giảng
  • Cho bài tập về nhà BT#8, hướng dẫn.
  • Đặt vấn đề để SV chuẩn bị cho buổi học kế tiếp. Học ở lớp:
  • Trả lời câu hỏi, thảo luận trước lớp, nghe giảng.
  • Trao đổi với GV về bài tập.

-

Học ở nhà:

  • Làm BT#
  • Đọc tài liệu

A1, A

(a) chương 6 từ trang

173 đến 199; tài liệu (b) chương 5 từ trang 185 đến 208

  • Tham khảo tài liệu (f) chương 6 từ trang 273 Chuẩn bị các câu hỏi trước buổi lên lớp. 10 Chương 5: Bảng băm (Hash Table) 5 Khái niệm bảng băm, hàm băm 5 Các dạng hàm băm 5 Các phương pháp giải quyết đụng độ 5 So sánh các phương pháp 5 Ví dụ minh hoạ 5 Dùng thư viện cài đặt (C++) 5 Bài tập chương

CLO1,

CLO

Dạy:

  • GV đặt vấn đề và trao đổi;Tổng hợp trả lời của SV, tổng kết; Thuyết giảng
  • Cho bài tập về nhà BT#9, hướng dẫn.
  • Đặt vấn đề để SV chuẩn bị cho buổi học kế tiếp. Học ở lớp:
  • Trả lời câu hỏi, thảo luận trước lớp, nghe giảng. Trao đổi với GV về bài tập. Học ở nhà:
  • Làm BT#
  • Đọc tài liệu (b) chương 9 từ trang 339 đến 404; tài liệu (f) chương 7 từ trang 286 đến 347
  • Tham khảo tài liệu (d) chương 7 từ trang 147 đến 185 Chuẩn bị các câu hỏi trước buổi lên lớp.

A1, A

11,12,

13 ,

Chương 6: Đồ thị 6 Các khái niệm trên đồ thị 6.1 Định nghĩa 6.1 Các loại đồ thị 6.1 Khái niệm đường đi, chu trình, liên thông 6 Biểu diễn đồ thị trên máy tính 6 Các thuật toán duyệt đồ thị: 6.3 BFS 6.3 DFS 6 Một số bài toán trên đồ thị : - Bài toán đường đi ngắn nhất - Bài toán liên thông

CLO1,

CLO

Dạy:

  • GV đặt vấn đề và trao đổi;Tổng hợp trả lời của SV, tổng kết; Thuyết giảng
  • Cho bài tập về nhà BT#10, hướng dẫn.
  • Đặt vấn đề để SV chuẩn bị cho buổi học kế tiếp. Học ở lớp:
  • Trả lời câu hỏi, thảo luận trước lớp, nghe giảng.
  • Trao đổi với GV về bài

A1, A

theo qui định của môn học chương trình 4 Bài thực hành 4: Viết chương trình cài đặt cây nhị phân tìm kiếm và các thao tác trên cây nhị phân tìm kiếm. Sử dụng ngôn ngữ lập trình theo qui định của môn học

CLO3,

CLO

Dạy: GV hướng dẫn cho sinh viên thực hiện theo yêu cầu bài tập Học: Sinh viên thực hiện theo hướng dẫn của GV TH cài đặt chương trình

A

5 Bài thực hành 5 : Bài thực hành sử dụng cấu trúc bảng băm Sử dụng ngôn ngữ lập trình theo qui định của môn học

CLO3,

CLO

Dạy: GV hướng dẫn cho sinh viên thực hiện theo yêu cầu bài tập Học: Sinh viên thực hiện theo hướng dẫn của GV TH cài đặt chương trình

A

6 Bài thực hành 6 : Bài thực hành sử dụng cấu trúc đồ thị Sử dụng ngôn ngữ lập trình theo qui định của môn học

CLO3,

CLO

Dạy: GV hướng dẫn cho sinh viên thực hiện theo yêu cầu bài tập Học: Sinh viên thực hiện theo hướng dẫn của GV TH cài đặt chương trình

A

6. PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN DẠY HỌC

  • Phương pháp giảng dạy chủ yếu: Giảng viên đ ặt vấn đ ề, giải thích, trao đ ổi. Sinh viên nghe giảng, suy nghĩ và thảo luận các vấn đề
  • Học liệu: các nguồn tài liệu được sử dụng trên lớp, các slides và tài liệu khác do giảng viên cung cấp.

7. KIỂM TRA, ĐÁNH GIÁ KẾT QUẢ HỌC TẬP

7 Khung thông tin về kiểm tra đánh giá kết quả học tập

Thời điểm kiểm tra Hình thức KTĐG Công cụ TĐG Trọng số Thang điểm Tiêu chí đánh giá A1 Quá trình Bài kiểm tra trên lớp

2 0% 10

A 2 Giữa kỳ 0 A 3 Thực hành Quá trình thực hành

20 %

10

Thi cuối kỳ 2 0% Thi thực hành cuối kỳ chung A4 Cuối kỳ 4 0% 10 Bài thi viết Làm bài viết trên Giấy thi. Câu hỏi tự luận;

4 0% 10

Nội dung trong bài làm đảm bảo tính chính xác, đầy đủ và phù hợp với yêu cầu của nội dung câu hỏi. Thi lý thuyết cuối kỳ chung

8. TÀI LIỆU HỌC TẬP, THAM KHẢO

Giáo trình: - Đỗ Văn Nhơn, Trịnh Quốc Sơn, 2015, Giáo trình Cấu Trúc Dữ Liệu & Giải thuật,

NXB ĐHQG Tp. HCM.

Tài liệu tham khảo: - Mark Allen Weiss, 2018, Data Structures and Algorithm Analyis in C++, Fourth

Edition, Pearson Education, Inc., publishing as Addison-Wesley.

  • Mark Allen Weiss, 2010, Data Structures and Algorithm Analyis in C, Fourth

Edition, Pearson Education, Inc., publishing as Addison-Wesley.

  • Nguyễn Trung Trực, 2008, Giáo trình Cấu Trúc Dữ Liệu & Giải thuật, NXB ĐHQG

Tp. HCM

  • Đỗ Xuân Lôi, 2009, Giáo trình Cấu Trúc Dữ Liệu & Giải thuật, NXB ĐHQG Hà nội,

Tái bản lần thứ 11.

  • Nguyễn Đức Nghĩa, 2013, Cấu Trúc Dữ Liệu & Giải thuật, NXB Bách Khoa Hà nội,

ISSN 978 6049 112782.

9. PHẦN MỀM HAY CÔNG CỤ HỖ TRỢ THỰC HÀNH

  • Codeblock - codeblocks/
  • Hệ thống Wecode

10. Ngày phê duyệt:

11. Cấp phê duyệt: Khoa Khoa học máy tính

Tp, ngày 10 tháng 01 năm 202 4 Trưởng Khoa (Ký và ghi rõ họ tên) Giảng viên biên soạn (Ký và ghi rõ họ tên)

Was this document helpful?

De cuong IT003(2024 01)

Course: Cấu trúc dữ liệu và giải thuật (IT003)

8 Documents
Students shared 8 documents in this course
Was this document helpful?
ĐẠI HC QUC GIA TP. H CHÍ MINH
TRƯỜNG ĐẠI HC CÔNG NGH THÔNG TIN
ĐỀ CƯƠNG MÔN HC
Môn: CU TRÚC D LIU VÀ GII THUT
(Tiếng Anh: Data Structures and Algorithms)
Chương trình đào to:
C nhân Trí tu nhân to;
C nhân Khoa hc máy tính.
(Bn Cp nht tháng 01 năm 2024)
Ngưi biên son:
ThS. Trnh Quc Sơn
ThS. Phm Nguyn Trưng An
ThS.Hunh Th Thanh Thương
ThS. Nguyn Thanh Sơn
TS.Mai Tiến Dũng
TP. HCM 2024