Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
ĐỀ CƯƠNG CHI TIẾT CTDL> TINH.222
1. UBND TỈNH LÀO CAI
TRƯỜNG CAO ĐẲNG SƯ PHẠM
CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc
CHƯƠNG TRÌNH TRÌNH ĐỘ CAO ĐẲNG
NGÀNH ĐÀO TẠO: SƯ PHẠM TOÁN TIN
ĐỀ CƯƠNG CHI TIẾT HỌC PHẦN
1.Tên học phần: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Mã số: TINH.222
2. Số tín chỉ : 02
3. Trình độ: Cho sinh viên cao đẳng năm thứ nhất
4. Phân bố thời gian: Tổng số tiết = 30 tiết chuẩn = 30 tiết thực dạy
Trong đó: Học trên lớp: 30 tiết
Lý thuyết: 19 tiết
Bài tập: 10 tiết
Kiểm tra: 1 tiết
Tự học: 60 giờ
5. Điều kiện tiên quyết: Sinh viên cần học qua học phần Lập trình
6. Bộ môn phụ trách: Tin học
7. Mục tiêu của học phần: Học xong học phần này sinh viên đạt được các năng lực
và phẩm chất sau:
7.1. Năng lực: Sau khi học xong học phần, sinh viên phải đạt được các năng lực sau:
* Năng lực khoa học bộ môn
- Năng lực phân tích, đánh giá và so sánh các giải thuật: Phân tích, đánh giá
các giải thuật dựa trên thời gian thực hiện thuật toán.
- Lựa chọn sử dụng cấu trúc dữ liệu và giải thuật: Lựa chọn kiểu dữ liệu và
giải thuật tối ưu nhất để lập trình giải quyết các bài toán cụ thể trong thực tế.
- Năng lực vận dụng kiến thức cấu trúc dữ liệu vào trong các học phần ngành
Tin học và vào cuộc sống: Vận dụng các kiến thức về sắp xếp, tìm kiếm, lưu trữ thông
tin vào thực tế cuộc sống và vào các học phần chuyên ngành khác.
* Năng lực chung
1
2. - Năng lực tự học: Có kĩ năng tự học, tự nghiên cứu, giao tiếp, hợp tác với bạn
trong thực hiện nhiệm vụ học tập.
- Năng lực giao tiếp: Sử dụng các quy tắc suy luận logic áp dụng vào thực tế
giảng dạy và trong cuộc sống.
7.2. Phẩm chất
- Yêu nghề, có phẩm chất đạo đức tốt, chuẩn mực, gương mẫu của người giáo
viên tương lai.
- Dũng cảm đấu tranh chống tiêu cực, gian lận trong thi cử, bệnh thành tích
trong giáo dục.
8. Mô tả học phần:
Học phần này là cung cấp những hiểu biết nền tảng trong việc thiết kế một
chương trình máy tính để thấy rõ được sự cần thiết của việc phân tích, lựa chọn cấu
trúc dữ liệu phù hợp cho từng bài toán cụ thể, đồng thời khảo sát một số cấu trúc dữ
liệu và thuật toán kinh điển mà lập trình viên nào cũng phải nắm vững như thuật toán
tìm kiếm, thuật toán sắp xếp, cấu trúc mảng, danh sách liên kết, ngăn xếp, hàng đợi,
cây,..
9. Nhiệm vụ của sinh viên:
* Tham gia dự học trên lớp:
- Thực hiện nghiêm túc các nhiệm vụ do giảng viên hướng dẫn: nghe giảng,
phát biểu ý kiến, học cá nhân, thảo luận nhóm...
- Có đủ các bài kiểm tra thường xuyên, giữa kỳ và thi kết thúc học phần
- Có đủ giáo trình, tài liệu và dụng cụ học tập.
* Tự học ở nhà:
- Phải đọc và nghiên cứu trước giáo trình, tài liệu tham khảo, chuẩn bị các ý kiến,
đề xuất khi nghe giảng, chuẩn bị sưu tầm và đọc các bài có liên quan đến bài giảng.
- Chuẩn bị tốt các nội dung do giảng viên yêu cầu theo cá nhân, nhóm, đồ dùng
và phương tiện học tập phù hợp với nội dung bài học.
- Tích cực liên hệ với các kiến thức đã học với thực tiễn đời sống, thực tiễn ngành
và địa phương.
* Dự thi kết thúc học phần.
10. Tài liệu học tập:
2
3. [1] Đỗ Xuân Lôi - Cấu trúc dữ liệu và giải thuật – NXB Đại học Quốc gia Hà
Nội.2006
10.2. Sách tham khảo:
[2] Nguyễn Thị Tĩnh - Giáo trình cấu trúc dữ liệu và giải thuật - NXB Đại học
sư phạm. 2005
[3] Đỗ Xuân Lôi - Cấu trúc dữ liệu và giải thuật - Nhà xuất bản giáo dục.2004
[4] Nguyễn Quốc Cường - Cấu trúc dữ liệu + Giải thuật = Chương trình - NXB
Giáo dục. 2000
10. Đánh giá sinh viên
- Theo Quy chế đào tạo Cao đẳng hệ chính quy theo học chế tín chỉ, ban hành
kèm theo Quyết định số 394/QĐ-CĐSP ngày 09/09/2013 của Hiệu trưởng trường
CĐSP Lào Cai.
- Theo Quy định Về việc tổ chức các hoạt động chuyên môn trong trường
CĐSP Lào Cai, Ban hành kèm theo Quyết định số 542/QĐ-CĐSP ngày 18 tháng 12
năm 2014 của Hiệu trưởng trường CĐSP Lào Cai.
- Theo Công văn số 256/CĐSP-ĐTNCKH ngày 08/12/2015 v/v hướng dẫn
công tác kiểm tra, đánh giá năm học 2015-2016.
- Mục đích đánh giá: Đánh giá để phát triển học tập của SV, giúp SV định
hướng việc học tập để phát triển các năng lực nghề nghiệp.
- Nội dung đánh giá: Đánh giá theo chuẩn/mục tiêu năng lực của học phần.
- Phương pháp đánh giá:
+ Đánh giá quá trình: kiêm tra thường xuyên, qua theo dõi của GV kết hợp với
SV đánh giá đồng đẳng ý thức học tập. Đánh giá hồ sơ học tập của SV về việc thực
hiện các bài tập, các nhiệm vụ học tập theo yêu cầu của GV (điểm hệ số 1)
+ SV làm bài kiểm tra giữa kì hoặc thực hiện các dự án học tập (điểm hệ số 2)
+ Thi kết thúc học phần: Thi vấn đáp - Thực hành: 90 phút (Điểm hệ số 4)
- Điều kiện để được dự thi học phần:
+ Tham gia học tập trên lớp ít nhất là 80% số tiết, nếu nghỉ hơn 9 tiết sinh viên
không được dự thi lần 1.
+ Trên lớp thực hiện nghiêm túc các nhiệm vụ học tập.
+ Phần tự học, tự nghiên cứu: Hoàn thành tốt nhất nhiệm vụ mà giảng viên giao
cho cá nhân
3
4. + Có đủ điểm kiểm tra theo qui định.
- Điểm tổng hợp đánh giá học phần (A) là trung bình cộng (TB) của các điểm
bộ phận theo hệ số của từng loại điểm, làm tròn đến phần nguyên. Được tính theo
công thức:
Điểm học phần (A) = (ĐQT + KT + Thi*2)/4
11. Thang điểm: 10
12. Nội dung chi tiết học phần:
Chương I
TỔNG QUAN VỀ CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT
5 tiết ( Lý thuyết: 3, Bài tập: 2)
Thực tiễn, nghề nghiệp Nội dung kiến thức HP Vận dụng
Lí thuyết (3 tiết)
Các quan điểm về mối quan
hệ giữa cấu trúc dữ liệu và
giải thuật:
LINk
1. Tầm quan trọng của cấu
trúc dữ liệu và giải thuật
trong 1 đề án tin học
- Cấu trúc dữ liệu
- Giải thuật
- Mối quan hệ giữa cấu trúc
dữ liệu và giải thuật
2. Đánh giá cấu trúc dữ liệu
và giải thuật
- Tiêu chuẩn đánh giá cấu
trúc dữ liệu
- Đánh giá độ phức tạp của
thuật toán
- Đánh giá tầm quan trọng của
cấu trúc dữ liệu và giải thuật
đối với người lập trình
- Thực hiện diễn tả thuật toán
bằng các cách thức khác nhau:
theo sơ đồ thuật, liệt kê và bằng
ngôn ngữ lập trình cụ thể như
Pascal, C
- Trình bày cách giải bài tập
2.9 - Trang 39, sách giáo trình
[1]
Kiểu dữ liệu cơ sở, kiểu dữ
liệu có cấu trúc trong Pascal
3. Kiểu dữ liệu
- Kiểu dữ liệu cơ sở
- Kiểu dữ liệu có cấu trúc
- Kiểu dữ liệu con trỏ
- Kiểu dữ liệu tệp tin
Phát hiện các dấu hiệu đặc
trưng để lựa chọn các kiểu dữ
liệu phù hợp trong quá trình lập
trình
4
5. Bài tập (2 tiết)
Ngôn ngữ lập trình Pascal
Bài tập về đánh giá độ phức
tạp của thuật toán
- Ước lượng thời gian thực hiện
thuật toán
- Lựa chọn thuật toán tối ưu đối
với từng trường hợp
Chương II
KỸ THUẬT TÌM KIẾM
6 tiết (Lý thuyết: 4, Bài tập: 2)
Thực tiễn, nghề nghiệp Nội dung kiến thức HP Vận dụng
Lí thuyết (4 tiết)
Tình huống thực tế:
- Tìm SV có tên là Hằng
trong 1 danh sách gồm 100
sinh viên chưa sắp xếp.
- Tìm SV có tên là Hằng
trong 1 danh sách gồm 100
sinh viên đã sắp xếp họ tên
theo thứ tự từ A đến Z
1. Khái quát về tìm kiếm
2. Tìm kiếm tuyến tính
3. Tìm kiếm nhị phân
4. Tìm kiếm theo chỉ mục
Lựa chọn phương pháp tìm
kiếm tối ưu cho yêu cầu của bài
toán thực tế
Bài tập (2 tiết)
Các phương pháp tìm kiếm
Giải bài tập 10.1, 10.2,
10.3, 10.4, 10.8 - Trang
278-279, sách giáo trình [1]
Bày tỏ quan điểm về các cách
tìm kiếm tối ưu
Chương III
KỸ THUẬT SẮP XẾP
8 tiết (Lý thuyết: 5, Bài tập: 3)
Thực tiễn, nghề nghiệp Nội dung kiến thức HP Vận dụng
Lí thuyết (5 tiết)
Tình huống thực tế: 1. Khái quát về sắp xếp
5
6. - Năm 2008, Đại học Công
Nghệ có N thí sinh tham gia
tuyển sinh, hãy viết chương
trình sắp xếp các thí sinh
theo thứ tự giảm dần của
tổng điểm thi ba môn
- Lựa chọn phương pháp sắp
xếp để thời gian thực hiện
thuật toán là tối ưu nhất
2. Các giải thuật về sắp xếp
nội
- Phương pháp đổi chỗ
- Phương pháp chọn
- Phương pháp chèn
- Phương pháp trộn
3. Các giải thuật về sắp xếp
ngoại
- Phương pháp trộn
- Sắp xếp theo chỉ mục
- Đánh giá, so sánh các phương
pháp sắp xếp
- Kiểm nghiệm các bước sắp
xếp của các giải thuật trên bộ
dữ liệu A = [34, 12, 45, 91, 32,
18, 64,73, 21]
Bài tập (3 tiết)
Ý tưởng các phương pháp
sắp xếp
Lựa chọn giải các bài tập
9.1, 9.2, 9.3, 9.6 - Trang
235, sách giáo trình [1]
Trình bày giải thuật thể hiện
các phương pháp sắp xếp đã
học bằng ngôn ngữ lập trình
Pascal
Chương IV
DANH SÁCH
7 tiết (Lý thuyết: 5, Bài tập: 2)
Thực tiễn, nghề nghiệp Nội dung kiến thức HP Vận dụng
Lí thuyết (5 tiết)
Ví dụ thực tế:
- Đoàn tàu
- Xếp hàng mua vé
- Hộp đựng bóng tennis
1. Khái niệm về danh sách
2. Các phép toán trên danh
sách
3. Danh sách liên kết
- Danh sách liên kết đơn
- Danh sách liên kết kép
4. Danh sách hạn chế
- Hàng đợi (Queue)
- Phân tích, đánh giá ưu, nhược
điểm của danh sách liên kết
- Giải bài tập 5.2 - Trang 100,
Sách giáo trình [1]
- Giải bài tập 5.8 - Trang 101,
Sách giáo trình [1]
6
7. - Ngăn xếp (Stack)
Bài tập (2 tiết)
Định nghĩa, các phép toán
trên cấu trúc dữ liệu danh
sách, ngăn xếp, hàng đợi
Biểu diễn và xây dựng các
thao tác cài đặt ngăn xếp
dựa trên cấu trúc mảng (vẽ
hình minh họa cho từng
thao tác)
Phân tích các ứng dụng trong
thực tế về tổ chức danh sách
theo Hàng đợi và Ngăn xếp
Chương V
CÂY
3 tiết (Lý thuyết: 2, Bài tập: 1)
Thực tiễn, nghề nghiệp Nội dung kiến thức HP Vận dụng
Lí thuyết (4 tiết)
Tình huống thực tế: Hệ thống
kiến thức bài học dưới dạng
sơ đồ tư duy
Kiểu dữ liệu trừu tượng cây,
các phương pháp duyệt cây
(HP Toán rời rạc)
1. Khái niệm, biểu diễn cây
2. Cây nhị phân
3. Cây cân bằng
Cài đặt bằng ngôn ngữ lập trình
cụ thể (Pascal, C), xây dựng
các thủ tục duyệt cây
Bài tập (3 tiết)
Kiến thức về cây
- Biểu diễn biểu thức đại số
dưới dạng cây nhị phân
- Giải bài tập 6.1, 6.2, 6.3,
6.4, 6.5 - Trang 143-144,
Sách giáo trình [1]
Ứng dụng kiến thức về cây để
xây dựng các mô hình trong
thực tế
KIỂM TRA
Mục đích: Đánh giá các năng lực của SV
Hình thức: Kiểm tra viết
7
8. Nội dung: Đánh giá các năng lực giải quyết các bài toán của sinh viên qua nội dung
sau:
- Phát biểu bài toán, mô tả giải thuật và đánh giá độ phức tạp của thuật toán
- Định nghĩa, biểu diễn và xây dựng các thao tác cài đặt cấu trúc dữ liệu kiểu
danh sách, ngăn xếp, hàng đợi.
- Trình bày ý tưởng của các phương pháp sắp xếp, tìm kiếm và thực hiện việc
kiểm nghiệm trên bộ dữ liệu bất kỳ
14. Hướng dẫn thực hiện chương trình:
- Đây là một trong những học phần quan trọng nhất của tin học, nó là nền tảng
của các kỹ năng lập trình từ căn bản đến nâng cao. Muốn lĩnh hội được kiến thức cốt
lõi của giáo trình sinh viên cần thực hiện tốt các học phần tiên quyết nhất là một số
ngôn ngữ lập trình bậc cao như Pascal hay ngôn ngữ C...
- Học phần có nhiều những kiến thức rải rác nằm khắp các chương mục có liên
quan tới chương trình THCS, nhất là đối với đối tượng học sinh khá giỏi như: quy
hoạch động, các thuật toán tìm kiếm, phương pháp thiết kế thuật giải: quay lui, vét
cạn....
- Vì nội dung cơ bản là lý thuyết trừu tượng và khó nên phương pháp cơ bản
vẫn là thuyết trình tích cực. Giáo viên cần đơn giản hóa bằng hệ thống các vị dụ thực
tiễn gần gũi với sinh viên, chuẩn bị kỹ bài giảng trước khi lên lớp. Mặt khác, về phía
sinh viên, cần yêu cầu nghiêm túc việc đọc trước tài liệu khi lên lớp nghe giảng.
- Học phần chỉ gói gọn trong 02 đơn vị tín chỉ với lượng kiến thức lớn và độ
khó cao. Một trong những kinh nghiệm khác để sinh viên có thể lĩnh hội được bản
chất của hệ thống khái niệm và phương pháp trong giáo trình là luôn gắn bó mật thiết
với việc cài đặt bằng một ngôn ngữ lập trình cụ thể. Bên cạnh đó luôn luôn tìm tòi
sáng tạo, tìm hiểu ở nhiều tư liệu liên quan để có cái nhìn thấu đáo hơn. Giáo viên sẽ
hướng dẫn sinh viên tự học tự nghiên cứu và tra cứu tư liệu phù hợp để có thêm
nguồn thông tin tri thức bổ trợ cho giáo trình.
TRƯỞNG KHOA
Hà Vũ Quang
8