Mục tiêu của học phần: - Kiến thức: Môn học cung cấp cho sinh viên kỹ năng lập trình trên các cấu trúc dữ liệu quan trọng cùng với phương pháp phân tích, thiết kế, đánh giá thuật toán.
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐHDL PHƯƠNG ĐÔNG Độc lập – Tự do – Hạnh phúc
====================== -o0o -
CHƯƠNG ĐÀO TẠO ĐẠI HỌC NGÀNH ĐÀO TẠO: CÔNG NGHỆ THÔNG TIN
-
ĐỀ CƯƠNG CHI TIẾT HỌC PHẦN
2 Số tín chỉ: 2
3 Trình độ: Cho sinh viên năm thứ 4
4 Phân bổ thời gian:
thực tế, studio
Tự học, tự nghiên cứu
Lý thuyết Bài tập Thảo luận
5 Điều kiện tiên quyết:
- Học phần tiên quyết: Ngôn ngữ lập trình C++
- Học phần trước:
- Học phần song hành:
6 Mục tiêu của học phần:
- Kiến thức: Môn học cung cấp cho sinh viên kỹ năng lập trình trên các cấu trúc
dữ liệu quan trọng cùng với phương pháp phân tích, thiết kế, đánh giá thuật toán
- Kỹ năng: Sinh viên có khả năng tự tư duy để phân tích các yêu, sau đó sẽ lựa
chọn được phương pháp, sử dụng cú pháp và ngữ nghĩa trong lập trình thích hợp nhất để áp dụng cho các bài toán, vấn đề cần giải quyết
- Thái độ: Rèn sinh viên về khả năng tư duy, phân tích chính xác, áp dụng cho
việc lập trình Có khả năng thực hiện tốt công việc lập trình trong công việc học tập cũng như chuyên môn, ứng dụng ngoài thực tế
7 Mô tả vắn tắt nội dung học phần
Môn học tổng quan về kỹ thuật lập trình, cách thức lập trình trên các cấu trúc dữ liệu quan trọng như: stack, queue mlink, tree & graph cùng với phương pháp phân tích, thiết kế, đánh giá Nghiên cứu các thuật toán cơ bản được sử dụng trong thực
Trang 2tế như các thuật toán tìm kiếm, các thuật toán liên quan đến đồ thị Các giải thuật lập trình dựa trên danh sách, cây…Nghiên cứu cách cài đặt các thuật toán trên máy tính
8 Nhiệm vụ của sinh viên
- Nộp đủ học phí
- Dự lớp đầy đủ, làm hết các bài tập, tham gia thảo luận theo nhóm và trên lớp theo yêu cầu của giáo viên
- Thi đạt
9 Tài liệu học tập
- Học liệu bắt buộc:
[1] Ths Vũ Thị Thương
Bài giảng Kỹ thuật lập trình, Khoa CNTT- Đại học Phương Đông
- Học liệu tham khảo:
[2] Đỗ Xuân Lôi
Cấu trúc dữ liệu và giải thuật NXB Khoa Học Kỹ Thuật, 2000
[3] Ts Lê Hữu Lập, Ths Nguyễn Duy Phương
Giáo trình Kỹ thuật lập trình Học viện Công nghệ Bưu chính Viễn thông
10 Tiêu chuẩn đánh giá sinh viên
- Nộp học phí đầy đủ 10%
- Bài tập, thảo luận 10%
- Điểm thi kết thúc học phần: 70%
11 Thang điểm: 10
12 Nội dung chi tiết học phần
12.1 Nội dung
Chương 1: Đại cương về kỹ thuật lập trình có cấu trúc
1.1 Sơ lược về lịch sử lập trình cấu trúc
1.2 Cấu trúc lệnh, lệnh có cấu trúc, cấu trúc dữ liệu
1.3 Nguyên lý tối thiểu
1.4 Nguyên lý địa phương
1.5 Nguyên lý nhất quán
1.6 Nguyên lý an toàn
1.7 Phương pháp Top-Down
1.8 Phương pháp Bottom – Up
Trang 3Chương 2: Duyệt và đệ quy
2.1 Định nghĩa bằng đệ qui
2.2 Giải thuật đệ qui
2.3 Thuật toán sinh kế tiếp
2.4 Thuật toán quay lui
2.5 Thuật toán nhánh cận
Chương 3: Ngăn xếp, hàng đợi và danh sách móc nối (stack, queue, link, list)
3.1 Kiểu dữ liệu ngăn xếp và ứng dụng
3.2 Hàng đợi
3.3 Danh sách liên kết đơn
3.4 Danh sách liên kết kép
Chương 4: Cấu trúc dữ liệu cây (Tree)
4.1 Định nghĩa và khái niệm
4.2 Cây nhị phân
4.3 Biểu diễn cây nhị phân
4.4 Các thao tác trên cây nhị phân
4.5 Các phép duyệt cây nhị phân
4.6 Cài đặt cây nhị phân tìm kiếm
Chương 5: Đồ thị (Graph)
5.1 Những khái niệm cơ bản của đồ thị
5.2 Biểu diễn đồ thị trên máy tính
5.3 Các thuật toán tìm kiếm trên đồ thị
5.4 Đường đi và chu trình Euler
5.5 Đường đi và chu trình Hamilton
5.6 Cây bao trùm
5.7 Bài toán tìm đường đi ngắn nhất
Chương 6: Sắp xếp và tìm kiếm (Sorting and searching)
6.1 Đặt bài toán
6.2 Giải thuật Selection Sort
6.3 Giải thuật Insertion Sort
6.4 Giải thuật Bubble Sort
6.5 Giải thuật Shaker Sort
6.6 Giải thuật Quick Sort
6.7 Giải thuật Heap Sort
6.8 Giải thuật Merge Sort
6.9 Tìm kiếm Searching
12.2 Hình thức tổ chức dạy học (phụ lục kèm theo)
Trang 413 Ngày phê duyệt
14 Cấp phê duyệt: Trường Đại học Phương Đông