Chuẩn bị các điều kiện học môn học Tự học Ở nhà hay thư viện Đọc trước hết các phần liên quan đến chương 1 Đọc bài giảng và tài liệu tham khảo Buổi 2 Chương 1: Tổng quan về phương pháp l
Trang 1TRƯỜNG ĐẠI HỌC CNTT&TT
KHOA CÔNG NGHỆ THÔNG TIN
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
ĐỀ CƯƠNG MÔN HỌC Tên học phần: Lập trình có cấu trúc
Mã học phần:
Hệ đào tạo: ĐẠI HỌC CHÍNH QUY
1 Thông tin chung về môn học:
- Số tín chỉ: 3 (2 LT, 1 TH)
- Loại học phần: Bắt buộc
- Môn học tiên quyết: Nhập môn lập trình.
- Học phần học trước: Toán cao câu 1+2, Tin đại cương.
- Các yêu cầu đối với học phần: Yêu cầu sinh viên tham gia các buổi học lý thuyết
trên lớp, tham gia các buổi thực hành, bài tập Chuẩn bị tốt kiến thức và kĩ năng lập trình trước giờ lên lớp do giáo viên đã đề ra Mức độ yêu cầu hoàn thành ít nhất 2/3 khối lượng công việc do giáo viên giao
Bộ môn (Khoa) phụ trách học phần: Bộ môn Công nghệ lập trình và ứng dụng
-Khoa CNTT
- Số tiết quy định đối với các hoạt động:
- Nghe giảng lý thuyết: 30 tiết
- Làm bài tập: tiết
- Hoạt động theo nhóm: tiết
- Bài tập lớn (tiểu luận): tiết
- Thảo luận: tiết
- Thực hành, thí nghiệm: 30 tiết
- Tự học: 90 tiết
- Tự học có hướng dẫn: tiết
2 Thông tin chung về các giảng viên
2 ThS Trần Văn Khánh 0987369426 tvkhanh@ictu.edu.vn
3 Mô tả tóm tắt nội dung môn học
- Vị trí của môn học: môn học hình thành khả năng tư duy, kỹ năng lập trình cơ bản,
lập trình có cấu trúc, tính cấu trúc được nhấn mạnh khi thực hiện các bài thực hành Môn
Trang 2được giảng dạy và hoàn thành trước khi vào học các môn học cơ sở ngành và chuyên ngành
- Kiến thức trang bị cho sinh viên: Môn học giúp sinh viên có kiến thức, phương
pháp, kỹ năng lập trình có cấu trúc cơ bản và lập trình nâng cao, tìm hiểu và cài đặt một
số bài toán ứng dụng phương pháp lập trình có cấu trúc
- Quan hệ với các học phần khác trong chương trình đào tạo: Vận dụng kiến thức
của các môn học trước bao gồm: Tin học đại cương, nhập môn lập trình
4 Mục tiêu môn học:
- Mục tiêu kiến thức: Trang bị cho sinh viên kỹ thuật trình trên các đối tượng dữ
liệu cơ bản và các đối tượng dữ liệu do người dùng định nghĩa Những kiến thức được trang bị cho môn học này bao gồm: Kỹ thuật lập trình trên các kiểu dữ liệu cơ bản, kỹ thuật lập trình trên mảng và con trỏ, và một số kỹ thuật sắp xếp và tìm kiếm
- Mục tiêu kĩ năng: Trau dồi kỹ năng lập trình cơ bản, lập trình nâng cao hướng cấu
trúc, giúp cho sinh viên nâng cao khả năng lập trình, hướng tới thực tế hóa các kỹ năng thiết kế của sinh viên
- Mục tiêu thái độ: Sinh viên cảm thấy yêu thích, say mê thiết kế, thấy được vai trò
của môn học với thực tế học tập, thực tế cuộc sống nói chung và cuộc sống nghề nghiệp nói riêng Từ đó, có khả năng tạo ra những phần mềm phù hợp với nhu cầu của xã hội
5 Học liệu
- Giáo trình chính:
[1] Hà Mạnh Hùng- Trần Văn Khánh, Giáo trình lập trình có cấu trúc, Khoa Công nghệ
thông tin, Đại học công nghệ thông tin và truyền thông
[2] Lê Hữu Lập- Nguyễn Duy Phương, Giáo trình kĩ thuật lập trình NXB Bưu Điện, 2003
- Tài liệu tham khảo:
[3] Phạm Văn Ất, Kỹ thuật lập trình C, NXB Thống kê, 2003
[4] Lê Hoài Bắc, Nguyễn Thanh Nghị, Kỹ năng lập trình, nhà xuất bản Khoa học và kỹ thuật – Hà Nội, 2005
[5] Đinh Mạnh Tường, Cấu trúc dữ liệu và giải thuật, NXB Giáo dục, 2002
Trang 36 Nhiệm vụ của sinh viên
6.1 Phần lý thuyết, bài tập, thảo luận
- Dự lớp từ 80% tổng số thời lượng của học phần Trong lớp cần tập trung chú ý
vào nội dung đang học và hăng hái đóng góp ý kiến làm cho sinh động và tăng thêm sự hiểu biết về môn học
- Hoàn thành các bài tập được giao: Sinh viên cần dành đủ thời gian để ôn tập các
kiến thức đã học và hoàn thành các các bài tập được giao ứng với mỗi nội dung của môn học
6.2 Phần thí nghiệm thực hành:
- Bài tập thực hành: Sinh viên thực hiện các bài tập thực hành môn học theo yêu
cầu của bài tập thực hành môn học
- Yêu cầu: Chuẩn bị tốt kiến thức và kĩ năng lập trình trước giờ lên lớp do giáo viên
đã đề ra Mức độ yêu cầu hoàn thành ít nhất 2/3 khối lượng công việc do giáo viên giao
6.3 Phần bài tập lớn, tiểu luận: Do giáo viên giảng dạy quy định
7 Tiêu chuẩn đánh giá sinh viên và thang điểm:
- Điểm đánh giá bộ phận: thang điểm 10 với trọng số
+ Bài kiểm tra thực hành:
+ Kiểm tra giữa kỳ:
+ Chuyên cần:
- Điểm kết thúc học phần: 60%
- Điểm học phần: Trung bình chung có trọng số của các điểm đánh giá bộ phận và
điểm kết thúc học phần Sau đó làm tròn đến một chữ số thập phân
Trang 48 Nội dung chi tiết môn học:
8.1 Nội dung về lý thuyết, thảo luận
Chương 1: Tổng quan về phương pháp lập trình có cấu trúc
(Tổng số tiết: 12; số tiết lý thuyết 06; số tiết thực hành 06)
1.1 Sơ lược về lịch sử lập trình có cấu trúc
1.2 Phương pháp luận lập trình có cấu trúc
1.2.1 Cấu trúc lệnh
1.2.2 Cấu trúc dữ liệu
1.3 Nguyên lý tối thiểu
1.3.1 Tập các phép toán
1.3.2 Tập các lệnh vào ra cơ bản
1.3.3 Thao tác trên các kiểu dữ liệu có cấu trúc
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
Chương 2: Nguyên tắc lập trình, gỡ rối và cải tiến hiệu suất chương trình
(Tổng số tiết: 12; số tiết lý thuyết 06; số tiết thực hành: 06)
2.1 Phong cách lập trình
2.2 Các nguyên tắc lập trình
2.3 Các chuẩn trong lập trình
2.4 Gỡ rối chương trình
2.5 Cải tiến hiệu xuất chương trình
2.6 Một số ví dụ minh họa
Chương 3: Dữ liệu kiểu cấu trúc và sắp xếp
(Tổng số tiết: 18; số tiết lý thuyết: 09; số tiết thực hành: 09)
3.1 Dữ liệu kiểu cấu trúc
3.1.1 Kiểu cấu trúc
3.1.2 Con trỏ kiểu cấu trúc
3.1.3 Mảng cấu trúc
3.1.4 Các cấu trúc tự trỏ
Trang 53.1.5 Một số ví dụ minh họa
3.2 Thuật toán sắp xếp
3.2.1 Đặt vấn đề
3.2.2 Các giải thuật sắp xếp cơ bản
3.2.3 Các giải thuật sắp xếp nhanh
3.2.4 Một số ví dụ minh họa
Chương 4: Đệ quy và tìm kiếm
(Tổng số tiết: 20; số tiết lý thuyết 9; số tiết thực hành: 09; số tiết kiểm tra: 02)
4.1 Thuật toán đệ qui
4.1.1 Định nghĩa bằng đệ qui
4.1.2 Giải thuật đệ qui
4.1.3 Một số ví dụ minh họa
4.2 Tìm kiếm
4.2.1 Tìm kiếm tuần tự
4.2.2 Tìm kiếm nhị phân
4.2.3 Một số ví dụ minh họa
9 Kế hoạch triển khai môn học
- Số buổi dạy lý thuyết: 10 Buổi; Số tiết/Buổi: 3
- Số buổi thực hành thí nghiệm: 10 Buổi; Số tiết/ Buổi: 3
- Kiểm tra giữa kỳ: buổi;
- Số buổi thực dạy: 20 buổi;
Trang 69.1 Lịch trình chung
Buổi
Hình thức học
Tài liệu học tập và tham khảo
Số tiết/buổi
1
a
Chương 1: Tổng quan về phương
pháp lập trình có cấu trúc
1.1 Sơ lược về lịch sử lập trình có cấu
trúc
1.2 Phương pháp luận lập trình có cấu
trúc
1.2.1 Cấu trúc lệnh
1.2.2 Cấu trúc dữ liệu
1.3 Nguyên lý tối thiểu
1.3.1 Tập các phép toán
1.3.2 Tập các lệnh vào ra cơ bản
1.3.3 Thao tác trên các kiểu dữ
liệu có cấu trúc
Lý thuyết
[1]
trang 02-09 [2]
3
Chương 1: Tổng quan về phương
pháp lập trình có cấu trúc
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
Lý thuyết
[1]
trang 09-23 [2]
3
3 3 Bài thực hành số 1:
Cấu trúc lệnh và điều khiển
Thực
Bài thực hành số 2:
Nguyên lý và phương pháp lập trình
có cấu trúc
Thực
5 5 Chương 2: Nguyên tắc lập trình, gỡ Lý thuyết [1]
Trang 7rối và cải tiến hiệu suất chương
trình
2.1 Phong cách lập trình
2.2 Các nguyên tắc lập trình
24-30 [2][4]
3
Chương 2: Nguyên tắc lập trình, gỡ
rối và cải tiến hiệu suất chương
trình
2.3 Các chuẩn trong lập trình
2.4 Gỡ rối chương trình
2.5 Cải tiến hiệu xuất chương trình
2.6 Một số ví dụ minh họa
Lý thuyết
[1]
31-45 [2]
3
Bài thực hành số 3:
8
Bài thực hành số 4:
Các chuẩn lập trình, gỡ rối chương
trình và cải tiến hiệu suất chương trình
Chương 3: Dữ liệu kiểu cấu trúc và
sắp xếp
3.1 Dữ liệu kiểu cấu trúc
3.1.1 Kiểu cấu trúc
3.1.2 Con trỏ kiểu cấu trúc
Lý thuyết
[1]
từ 46- 56 [2][4]
3
10
Chương 3: Dữ liệu kiểu cấu trúc và
sắp xếp
3.1.3 Mảng cấu trúc
3.1.4 Các cấu trúc tự trỏ
3.1.5 Một số ví dụ minh họa
Lý thuyết
[1]
57- 77 [2][4]
3
11 10 Bài thực hành số 5:
Mảng cấu trúc
Thực
12
Bài thực hành số 6:
Trang 813 11
Chương 3: Dữ liệu kiểu cấu trúc và
sắp xếp
3.2 Thuật toán sắp xếp
3.2.1 Đặt vấn đề
3.2.2 Các giải thuật sắp xếp đơn
giản
3.2.3 Các giải thuật sắp xếp nhanh
3.2.4 Một số ví dụ minh họa
Lý thuyết
[1]
78-91 [2][5]
3
14 13
Bài thực hành số 7:
Sắp xếp
Kiểm tra
Thực
15 15
Chương 4: Đệ quy và tìm kiếm
4.1 Thuật toán đệ qui
4.1.1 Định nghĩa bằng đệ qui
4.1.2 Giải thuật đệ qui
Lý thuyết
[1]
92-96 [2]
3
16 16 Bài thực hành số 8:
Đệ quy
Thực
17 17
Chương 4: Đệ quy và tìm kiếm
4.2 Tìm kiếm
4.2.1 Tìm kiếm tuần tự
Lý thuyết
[1]
96-98 [2] [4]
3
18 18 Bài thực hành số 9: Các thuật toán đệ quy và khử đệ quy Thực hành [1] [2] 3
19 19
Chương 4: Đệ quy và tìm kiếm
4.2.2 Tìm kiếm nhị phân Lý thuyết
[1]
98-100
20 20 Bài thực hành số 10: Ôn tập và kiểm tra Thực hành [1][2] 3
9.2 Lịch trình chi tiết
Buổi 1
Chương 1: Tổng quan về phương pháp lập trình có cấu trúc
Trang 9tổ chức
dạy học
gian, địa điểm
sinh viên chuẩn bị
chú
Lý thuyết Giảng
đường
Chương 1: Tổng quan về phương pháp lập trình có cấu trúc
1.1 Sơ lược về lịch sử lập trình có cấu trúc
1.2 Phương pháp luận lập trình có cấu trúc
1.2.1 Cấu trúc lệnh 1.2.2 Cấu trúc dữ liệu 1.3 Nguyên lý tối thiểu 1.3.1 Tập các phép toán 1.3.2 Tập các lệnh vào ra cơ bản 1.3.3 Thao tác trên các kiểu dữ liệu có cấu trúc
Đọc trước tài liệu liên quan
Chuẩn bị các điều kiện học môn học
Tự học Ở nhà
hay thư viện
Đọc trước hết các phần liên quan đến chương 1
Đọc bài giảng và tài liệu tham khảo
Buổi 2
Chương 1: Tổng quan về phương pháp lập trình có cấu trúc
Lý thuyết Giảng
đường
Chương 1: Tổng quan về phương pháp lập trình có cấu trúc
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
Đọc trước tài liệu liên quan
Buổi 3
Thực hành 1: Cấu trúc lệnh và điều khiển
Thực
hành
bài số 1
Phòng máy
Thực hành 1: Cấu trúc lệnh và điều khiển
Làm các bài tập do giáo viên đề ra và các bài tập thực hành trong sách tham khảo
Tìm các bài tập trong sách hoặc tài liệu trên
Trang 10Buổi 4
Thực hành 2: Nguyên lý và phương pháp lập trình có cấu trúc
Thực
hành
bài số 1
Phòng
máy
Thực hành 2: Nguyên lý và phương pháp
lập trình có cấu trúc Làm các bài tập do giáo viên đề ra và các bài tập thực hành trong sách tham khảo
Tìm các bài tập trong sách hoặc tài liệu trên mạng
Buổi 5
Chương 2: Nguyên tắc lập trình, gỡ rối và cải tiến hiệu suất chương trình Hình
thức tổ
chức dạy
học
Thời gian, địa
điểm
sinh viên chuẩn bị
Ghi chú
Lý thuyết Giảng
đường
Chương 2: Nguyên tắc lập trình, gỡ rối
và cải tiến hiệu suất chương trình
2.1 Phong cách lập trình 2.2 Các nguyên tắc lập trình
Đọc trước tài liệu liên quan
Tự học Ở nhà
hay thư
viện
Đọc các phần kiến thức liên quan đến nội dung trong chương 2
Đọc bài giảng và tài liệu tham khảo
Buổi 6
Chương 2: Nguyên tắc lập trình, gỡ rối và cải tiến hiệu suất chương trình
Lý thuyết Giảng
đường
Chương 2: Nguyên tắc lập trình, gỡ rối
và cải tiến hiệu suất chương trình
2.3 Các chuẩn trong lập trình 2.4 Gỡ rối chương trình 2.5 Cải tiến hiệu xuất chương trình 2.6 Một số ví dụ minh họa
Đọc trước tài liệu liên quan
Trang 11Tự học Ở nhà
hay thư
viện
Đọc các phần kiến thức liên quan đến nội dung trong chương 2
Đọc các phần nội dung liên quan trong bài giảng và tài liệu tham khảo
Tự học
Buổi 7
Bài thực hành số 3: Các nguyên tắc lập trình
Thực
hành bài
số 3
Phòng
máy
Bài thực hành số 3: Các nguyên tắc lập
trình
đề ra và các bài tập thực hành trong sách tham khảo thuộc chương 2
Tìm các bài tập trong sách hoặc tài liệu trên mạng
Buổi 8
Bài thực hành số 4:
Các chuẩn lập trình, gỡ rối chương trình và cải tiến hiệu suất chương trình
Thực
hành bài
4
Phòng
máy
Bài thực hành số 4:
Các chuẩn lập trình, gỡ rối chương trình
và cải tiến hiệu suất chương trình Làm các bài tập do giáo viên đề ra và các bài tập thực hành trong sách tham khảo
Tìm các bài tập trong sách hoặc tài liệu trên mạng
Buổi 9
Chương 3: Dữ liệu kiểu cấu trúc và sắp xếp
Hình
thức tổ
chức dạy
học
Thời gian, địa điểm
sinh viên chuẩn bị
Ghi chú
Lý thuyết Giảng
đường
Chương 3: Dữ liệu kiểu cấu trúc và sắp xếp
3.1 Dữ liệu kiểu cấu trúc
Đọc trước tài liệu liên quan
Trang 123.1.1 Kiểu cấu trúc 3.1.2 Con trỏ kiểu cấu trúc
Tự học Ở nhà
hay thư
viện
Đọc trước tiếp nội dung trong chương 3 Đọc bài
giảng và tài liệu tham khảo
Buổi 10
Chương 3: Dữ liệu kiểu cấu trúc và sắp xếp
Hình
thức tổ
chức dạy
học
Thời gian, địa điểm
sinh viên chuẩn bị
Ghi chú
Lý thuyết Giảng
đường
Chương 3: Dữ liệu kiểu cấu trúc và sắp xếp
3.1.3 Mảng cấu trúc 3.1.4 Các cấu trúc tự trỏ 3.1.5 Một số ví dụ minh họa
Đọc trước tài liệu liên quan
Tự học Ở nhà
hay thư
viện
Đọc trước tiếp nội dung trong chương 3 Đọc bài
giảng và tài liệu tham khảo
Buổi 11
Bài thực hành số 5:
Mảng cấu trúc
Thực
hành
Phòng
máy
Bài thực hành số 5:
Mảng cấu trúc Làm các bài tập do giáo viên đề ra và các bài tập thực hành trong sách tham khảo
Tìm các bài tập trong sách hoặc tài liệu trên mạng
Buổi 12
Bài thực hành số 6:
Trang 13Con trỏ cấu trúc
Thực
hành
Phòng
máy
Bài thực hành số 6:
Con trỏ cấu trúc Làm các bài tập do giáo viên đề ra và các bài tập thực hành trong sách tham khảo
Tìm các bài tập trong sách hoặc tài liệu trên mạng
Buổi 13
Chương 3: Dữ liệu kiểu cấu trúc và sắp xếp Hình
thức tổ
chức dạy
học
Thời gian, địa
điểm
sinh viên chuẩn bị
Ghi chú
Lý thuyết Giảng
đường
Chương 3: Dữ liệu kiểu cấu trúc và sắp xếp
3.2 Thuật toán sắp xếp 3.2.1 Đặt vấn đề 3.2.2 Các giải thuật sắp xếp đơn giản 3.2.3 Các giải thuật sắp xếp nhanh 3.2.4 Một số ví dụ minh họa
Đọc trước tài liệu liên quan
Tự học Ở nhà
hay thư
viện
Đọc trước nội dung trong chương 3 Đọc bài
giảng và tài liệu tham khảo
Buổi 14
Bài thực hành số 7:
Sắp xếp
Thực
hành
Phòng
máy
Bài thực hành số 7:
Sắp xếp Làm các bài tập do giáo viên đề ra và các bài tập thực hành trong sách tham khảo
Tìm các bài tập trong sách hoặc tài liệu trên mạng
Buổi 15
Chương 4: Đệ quy và tìm kiếm
Trang 14thức tổ
chức dạy
học
gian, địa
điểm
sinh viên chuẩn bị
chú
Lý thuyết Giảng
đường
Chương 4: Đệ quy và tìm kiếm
4.1 Thuật toán đệ qui 4.1.1 Định nghĩa bằng đệ qui 4.1.2 Giải thuật đệ qui
Đọc trước tài liệu liên quan
Tự học Ở nhà
hay thư
viện
Đọc trước nội dung trong chương 4 Đọc bài
giảng và tài liệu tham khảo
Buổi 16
Bài thực hành số 8:
Đệ quy
Thực
hành
Phòng
máy
Bài thực hành số 8:
Đệ quy Làm các bài tập do giáo viên đề ra và các bài tập thực hành trong sách tham khảo
Tìm các bài tập trong sách hoặc tài liệu trên mạng
Buổi 17
Chương 4: Đệ quy và tìm kiếm
Hình
thức tổ
chức dạy
học
Thời gian, địa
điểm
sinh viên chuẩn bị
Ghi chú
Lý thuyết Giảng
đường
Chương 4: Đệ quy và tìm kiếm
4.2 Tìm kiếm 4.2.1 Tìm kiếm tuần tự
Đọc trước tài liệu liên quan
Tự học Ở nhà
hay thư
viện
Đọc trước nội dung trong chương 4 Đọc các
phần nội dung liên quan trong bài giảng và tài liệu tham
Trang 15Buổi 18
Chương 4: Đệ quy và tìm kiếm
Hình
thức tổ
chức dạy
học
Thời gian, địa
điểm
sinh viên chuẩn bị
Ghi chú
Lý thuyết Giảng
đường
Chương 4: Đệ quy và tìm kiếm
4.2.2 Tìm kiếm nhị phân Kiểm tra
Đọc trước tài liệu liên quan
Tự học Ở nhà
hay thư
viện
Đọc trước nội dung trong chương 4 Đọc các
phần nội dung liên quan trong bài giảng và tài liệu tham khảo
Buổi 19
Bài thực hành số 9:
Các thuật toán đệ quy và khử đệ quy
Thực
hành
Phòng
máy
Bài thực hành số 9:
Các thuật toán đệ quy và khử đệ quy Làm các bài tập do giáo viên đề ra và các bài tập thực hành trong sách tham khảo
Tìm các bài tập trong sách hoặc tài liệu trên mạng
Buổi 20:
Bài thực hành số 10:
Ôn tập và kiểm tra
Thực
hành
Phòng
máy
Bài thực hành số 10:
Ôn tập và kiểm tra Làm các bài tập do giáo viên đề ra và các bài tập thực hành trong sách tham khảo
Tìm các bài tập trong sách hoặc tài liệu trên