BM05/QT03-ĐT TRƯỜNG ĐẠI HỌC KINH TẾ - TÀI CHÍNH THÀNH PHỐ HỒ CHÍ MINH KHOA CÔNG NGHỆ THÔNG TIN Bản chính thức số 1 ĐỀ CƯƠNG CHI TIẾT HỌC PHẦN 1. Tên học phần 2. Mã học phần 3. Trình độ đào tạo Tên tiếng Việt: Kỹ thuật lập trình Tên tiếng Anh: Advanced Computer Programming ITE1205 Đại học 4. Số tín chỉ 3 (2, 1) TC Lý thuyết: 30 tiết Thực hành: 30 tiết Tự học, tự nghiên cứu: 90 tiết 5. Học phần tiên quyết ITE1203 – Nhập môn lập trình - Giảng dạy lý thuyết bằng trình chiếu, viết bảng và thuyết giảng. - Lập trình ví dụ mẫu và hướng dẫn sinh viên làm các bài thực hành. - Sinh viên đọc tài liệu học tập trước mỗi bài giảng và làm các bài tập về nhà. - Khuyến khích tối đa sự tương tác giữa sinh viên với sinh viên cũng như giữa sinh viên 6. Phương và giảng viên. Cụ thể: pháp + Giải thích cụ thể (TLM1) giảng + Thuyết giảng (TLM2) dạy + Câu hỏi gợi mở (TLM4) + Thảo luận (TLM9) + Giải quyết vấn đề (TLM12) + Bài tập ở nhà (TLM20). 7. Đơn vị quản lý Khoa Công nghệ thông tin HP 8. Mục tiêu của học phần: Mục tiêu CĐR của CTĐT Mô tả mục tiêu TĐNL (Gx) (PLOs) Kiến thức G1 - Cung cấp cho sinh viên các kiến thức cơ bản và nâng cao về 3.0 PLO2 lập trình thông qua ngôn ngữ C. Kỹ năng - Kỹ năng giải quyết một số bài toán đơn giản và nâng cao bằng G2 ngôn ngữ C. PLO4 4.0 - Kỹ năng thảo luận, phát hiện và xử lý vấn đề trong giải toán bằng máy tính với C/C++. Mức tự chủ tự chịu trách nhiệm G3 PLO10 4.0 1 BM05/QT03-ĐT - Hình thành được tính nghiêm túc, tư duy tổ chức một cách có hệ thống và tác phong nghề nghiệp về lập trình máy tính. 9. Chuẩn đầu ra của học phần CĐR (CLOs) CLO1 CLO2 CLO3 PLOs hoặc Gs Mô tả chuẩn đầu ra Kiến thức: CLO1.1 Hiểu được phương pháp lập trình có cấu trúc, cách phân chia chương trình lớn thành các hàm. CLO1.2 Vận dụng được các cấu trúc dữ liệu: mảng một chiều, mảng hai chiều, mảng các cấu trúc trong lưu trữ và xử lý dữ liệu cho các bài toán thực tế. CLO1.3 Sử dụng được kiểu dữ liệu tập tin để lưu trữ dữ liệu và các thao tác trên tập tin. CLO1.4 Cài đặt được một số bài toán cơ bản bằng con trỏ và đệ qui. Kỹ năng: CLO2.1 Có kỹ năng thảo luận, phát hiện và xử lý vấn đề trong giải toán bằng máy tính với ngôn ngữ C. CLO2.2 Phân tích ưu, khuyết điểm của giải thuật và đề xuất cải tiến. Mức tự chủ, tự chịu trách nhiệm: CLO3.1 Nhận thức được tầm ảnh hưởng của tổ chức dữ liệu đến thuật toán. CLO3.2 Thể hiện thái độ làm việc chăm chỉ, có cường độ cao và chú ý đến chi tiết PLO2 PLO4 PLO10 10. Mô tả tóm tắt nội dung học phần Học phần này giúp sinh viên nâng cao kỹ năng lập trình, biết xử lý những bài toán trên mảng, biết cách dùng con trỏ, đệ quy, đọc và ghi file, kiểu dữ liệu nhiều thành phần để giải quyết những bài toán có cấu trúc trong tin học. 11. Các yêu cầu của học phần - Phòng máy tính: cài đặt phần mềm DevC (hoặc Visual Studio) 12. Kế hoạch và nội dung giảng dạy LÝ THUYẾT: Tuần/ Buổi 1, 2 3 Nội dung Bài 1: Mảng một chiều 1.1 Khai báo, khởi động, truyền tham số. 1.2 Một vài thuật toán trên mảng một chiều. 1.1 1.3 Chuỗi ký tự. Bài 2: Mảng hai chiều 2.1 Khái niệm. CĐR (CLOs) CLO1 CLO2 CLO3 CLO1 CLO2 Hoạt động dạy-học TLM1 TLM2 TLM4 TLM12 TLM1 TLM2 Hình thức đánh giá AM1 AM2 AM4 AM1 AM2 2 BM05/QT03-ĐT 4, 5, 6 7, 8 9 10 2.2 Khai báo mảng hai chiều. 2.3 Nhập, xuất dữ liệu cho mảng hai chiều. 2.4 Một vài thuật toán trên mảng hai chiều. Bài 3: Kiểu dữ liệu có cấu trúc 3.1 Khái niệm 3.2 Cách khai báo và sử dụng kiểu dữ liệu cấu trúc. 3.3Mảng cấu trúc 3.4 Một vài giải thuật trên mảng cấu trúc. Kiểm tra tự luận Bài 4: Kiểu con trỏ 4.1 Khái niệm về địa chỉ ô nhớ và con trỏ. 4.2 Khai báo và sử dụng biến con trỏ. 4.3 Các phép toán trên con trỏ. 4.4 Cấp phát và thu hồi bộ nhớ động cho con trỏ. 4.5 Con trỏ và mảng 1 chiều. 4.6 Con trỏ và kiểu dữ liệu có cấu trúc. Bài 5: Đệ quy 5.1 Khái niệm 5.3 Kỹ thuật giải bài toán bằng đệ quy. 5.4 So sánh cấu trúc lặp và đệ quy. CLO3 TLM4 TLM9 TLM12 TLM20 AM4 CLO1 CLO2 CLO3 TLM1 TLM2 TLM4 TLM9 TLM12 TLM20 AM1 AM2 AM4 CLO2 CLO3 TLM1 TLM2 TLM4 TLM9 TLM12 TLM20 AM1 AM2 AM4 CLO1 CLO2 CLO3 AM1 AM2 AM4 Bài 6: Tập tin 6.1 Khái niệm. 6.2 Các thao tác trên tập tin. 6.3 Truy cập tập tin văn bản. 6.4 Truy cập tập tin nhị phân. CLO1 CLO2 CLO3 TLM1 TLM2 TLM4 TLM9 TLM12 TLM20 TLM1 TLM2 TLM4 TLM9 TLM12 TLM20 TỔNG CỘNG: AM1 AM2 AM4 30 tiết THỰC HÀNH: Tuần/ Buổi 1 Nội dung Bài thực hành 1: Làm quen với Visual studio (hoặc DevC). Các câu lệnh nhập, xuất dữ liệu. CĐR môn học CLO1 CLO3 Hoạt động dạy-học TLM1 TLM4 TLM12 Hình thức đánh giá AM2 3 BM05/QT03-ĐT 2 Bài thực hành 2: Cấu trúc điều khiển - Cấu trúc rẽ nhánh (if … else) CLO1 CLO2 3 Bài thực hành 3: Cấu trúc điều khiển Cấu trúc lựa chọn (switch ... case) CLO1 CLO2 4 Bài thực hành 4: Cấu trúc điều khiển (tiếp theo) Cấu trúc lặp (for) Bài thực hành 5: Cấu trúc điều khiển (tiếp theo) Cấu trúc lặp (while, do ... while) Bài thực hành 6: Chương trình con CLO1 CLO2 7 AM2 CLO1 CLO2 CLO3 TLM1 TLM4 TLM12 TLM1 TLM4 TLM12 TLM1 TLM4 TLM12 TLM1 TLM4 TLM12 TLM1 TLM4 TLM12 Bài thực hành 7: Chương trình con (tiếp theo) CLO1 CLO2 CLO3 TLM1 TLM4 TLM12 AM2 8 Bài thực hành 8: Mảng 1 chiều CLO1 CLO2 CLO3 TLM1 TLM4 TLM12 AM2 9 Bài thực hành 9: Mảng 1 chiều (tiếp theo) Kiểm tra thực hành CLO1 CLO2 CLO3 TLM1 TLM4 TLM12 AM2 AM9 10 Ôn tập CLO1 CLO2 CLO3 TLM1 TLM4 TLM12 AM2 5 6 CLO1 CLO2 TỔNG CỘNG: AM2 AM2 AM2 AM2 30 tiết 13. Phương pháp đánh giá Điểm thành phần A1. Điểm quá trình (30%) Nội dung/ hình thức đánh giá (%) Chuyên cần: AM1 (10%) Bài tập: AM2 (điểm cộng) Kiểm tra tự luận: AM4 (20%) Bài tập trên máy: AM2 (điểm cộng) Thi Thực hành: AM9 (20%) Thi Tự luận AM4 A2. Điểm giữa kỳ (20%) A3. Điểm thi cuối kỳ (50%) Rubrics học phần: KẾT QUẢ HỌC TẬP CẦN ĐẠT (điểm hệ 4.0) CĐR học phần (CLOs) CLO1, CLO2, CLO3 CLO1, CLO2, CLO3 CLO1, CLO2, CLO3 CLO1, CLO2, CLO3 4 BM05/QT03-ĐT Mức Điểm Xuất sắc 3.6 - 4.0 Giỏi 3.2 - 3.5 Khá 2.5 – 3.1 Trung bình 2.0 - 2.4 Yếu 1.0 – 1.9 Kém 0.0 – 0.9 Vận dụng các cấu trúc dữ liệu cho các bài toán thực tế, sử dụng các giải thuật tối ưu. Vận dụng được đệ quy cho các bài toán nâng cao. Viết được chương trình theo hàm, vận dụng linh hoạt các cấu trúc dữ liệu: mảng, con trỏ, struct, tập tin. Vận dụng được các cấu trúc này cho các bài toán thực tế. Vận dụng được kỹ thuật đệ quy trong giải quyết vấn đề. Nắm được phương pháp lập trình có cấu trúc. Tổ chức, viết được chương trình C theo hàm, vận dụng được các cấu trúc dữ liệu mảng, con trỏ, struct, tập tin với các thao tác cơ bản. Vận dụng được đệ quy cho các bài toán đơn giản. Hiểu được phương háp lập trình có cấu trúc, cách phân chia chương trình lớn thành các hàm. Nắm được các cấu trúc mảng, struct nhưng còn hạn chế trên thao tác. Còn hạn chế nhiều trong tư duy giải thuật, các cấu trúc điều khiển chương trình, các cấu trúc dữ liệu mảng, struct. Hầu như không có kiến thức về lập trình theo hàm, không nắm được các cấu trúc dữ liệu cơ bản. 14. Tài liệu phục vụ học phần Tài liệu/giáo trình chính “Giáo trình Kỹ thuật lập trình”. UEF Tài liệu tham khảo/bổ sung Trang Web/ CDs tham khảo Brain W.Kernighan & Dennis Ritchie (1988). The C programming language. Prentice Hall Publisher. Trần Hoàng Thọ. Giáo trình Kỹ thuật lập trình nâng cao https://www.cprogramming.com/tutorial 15. Hướng dẫn sinh viên tự học Nội dung Số tiết Nhiệm vụ của sinh viên Bài 1: Mảng một chiều 1.1 Khai báo, khởi động, truyền tham số. 1.2 Một vài thuật toán trên mảng một chiều. 1.3 Chuỗi ký tự. Bài 2: Mảng hai chiều 2.1 Khái niệm. 2.2 Khai báo mảng hai chiều. 2.3 Nhập, xuất dữ liệu cho mảng hai chiều. 2.4 Một vài thuật toán trên mảng hai chiều. 10 Đọc trước giáo trình chương 1 Đọc trước giáo trình chương 2 10 Làm các bài tập chương 1 5 BM05/QT03-ĐT Bài 3: Kiểu dữ liệu có cấu trúc 3.1 Khái niệm 3.2 Cách khai báo và sử dụng kiểu dữ liệu cấu trúc. 3.3Mảng cấu trúc 3.4 Một vài giải thuật trên mảng cấu trúc. Bài 4: Kiểu con trỏ 4.1 Khái niệm về địa chỉ ô nhớ và con trỏ. 4.2 Khai báo và sử dụng biến con trỏ. 4.3 Các phép toán trên con trỏ. 4.4 Cấp phát và thu hồi bộ nhớ động cho con trỏ. 4.5 Con trỏ và mảng 1 chiều. 4.6 Con trỏ và kiểu dữ liệu có cấu trúc. Bài 5: Đệ quy 5.1 Khái niệm 5.3 Kỹ thuật giải bài toán bằng đệ quy. 5.4 So sánh cấu trúc lặp và đệ quy. Bài 6: Tập tin 6.1 Khái niệm. 6.2 Các thao tác trên tập tin. 6.3 Truy cập tập tin văn bản. 6.4 Truy cập tập tin nhị phân. Đọc trước giáo trình chương 3 Làm các bài tập chương 2 20 Làm lại tất cả các bài tập chương 1, 2, 3 Đọc trước giáo trình chương 4 20 Đọc trước giáo trình chương 5 20 Làm các bài tập chương 4 Đọc trước giáo trình chương 6 10 Làm bài tập chương 5, 6 và các bài tập ôn tập 16. Giảng viên tham gia giảng dạy (dự kiến): 1. ThS. Văn Thị Thiên Trang, trangvtt@uef.edu.vn 2. ThS. Tạ Thị Thu Thủy, thuyta@uit.edu.vn Tp. Hồ Chí Minh, ngày … tháng … năm 2021 Trưởng khoa Trưởng bộ môn Người biên soạn 6