Mô tả vắn tắt học phần

1. Tên học phần:

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

2. Ngôn ngữ giảng dạy:

Tiếng Việt

3. Mã học phần:

TEC550050

4. Bộ môn phụ trách giảng dạy:

CNTK - Viện Đổi mới sáng tạo

5. Trình độ:

Đại Học

6. Số tín chỉ:

3

7. Phân bổ thời gian:

  • Đối với hoạt động trên lớp:
  • Lý thuyết: 30 giờ
  • Làm việc nhóm, thảo luận:: 15 giờ
  • Đối với hoạt động tại phòng máy tính, phòng mô phỏng, …:
  • Thực hành, làm việc nhóm, thảo luận
  • Tự nghiên cứu, tự học: 105 giờ
  • Đồ án, Đề án, Dự án
  • Thực tập

8. Tính chất học phần:

Bắt buộc

9. Ngành áp dụng:

Công nghệ Tài chính

10. Điều kiện tiên quyết:

Không có môn học bắt buộc phải hoàn thành trước học phần này

11. Mục tiêu học phần:

Học phần Cấu trúc dữ liệu và giải thuật trang bị cho sinh viên khối lượng kiến thức tương đối hoàn chỉnh về phân tích và thiết kế các giải thuật lập trình cho máy tính. Cung cấp kiến thức nền tảng về các giải thuật trên máy tính, bao gồm giải thuật đệ quy, các giải thuật tìm kiếm, sắp xếp. Cung cấp kiến thức về các cấu trúc dữ liệu và giải thuật tương ứng thông dụng trên máy tính, bao gồm danh sách, hàng đợi, ngăn xếp, cây nhị phân tìm kiếm, cây AVL.

12. Mô tả vắn tắt nội dung học phần:

Học phần này trang bị cho sinh viên kiến thức cơ bản và nâng cao về cấu trúc dữ liệu và giải thuật, từ đó áp dụng vào lập trình và giải quyết các bài toán thực tế bằng ngôn ngữ Python. Nội dung học phần bao gồm các chủ đề sau:

  • Thiết kế và phân tích giải thuật: Sinh viên được giới thiệu về các khái niệm cơ bản, cách phân tích và đánh giá giải thuật, đặc biệt là thuật toán tìm kiếm và sắp xếp như tìm kiếm nhị phân, sắp xếp bong bóng, chèn, hợp nhất và sắp xếp nhanh.
  • Giải thuật đệ quy: Khái niệm và ứng dụng của đệ quy trong lập trình, bao gồm cách thiết kế và phân tích độ phức tạp của giải thuật đệ quy.
  • Thuật toán sắp xếp và tìm kiếm: Phân tích các bài toán sắp xếp và tìm kiếm, cách cài đặt và so sánh các thuật toán khác nhau.
  • Cấu trúc dữ liệu liên kết: Giới thiệu và thực hành với danh sách liên kết, stack, queue, và các phép xử lý trên các cấu trúc dữ liệu này.
  • Cây và đồ thị: Khái niệm, phân loại và các phép duyệt trên cây, các thuật toán đồ thị như Kruskal và Dijkstra.
  • Quy hoạch động: Lý thuyết và thực hành các bài toán quy hoạch động, từ đó cài đặt các giải thuật quy hoạch động trong Python.
  • Thực hành và tổng kết: Thực hành các nội dung đã học thông qua các bài tập và dự án nhỏ, tổng kết và đánh giá toàn bộ học phần.

Sinh viên sẽ phát triển các kỹ năng phân tích, đánh giá giải thuật, viết và cài đặt giải thuật bằng Python, cũng như khả năng làm việc độc lập và tham gia các dự án công nghệ. Qua học phần này, sinh viên sẽ có nền tảng vững chắc để tiếp tục học tập, nghiên cứu và ứng dụng các kiến thức công nghệ mới.