Nắm và sử dụng được một số kiểu dữ liệu có cấu trúc trong C.. Có khả năng xây dựng và trình bày thuật toán để giải một bài toán trên máy tính bằng một ngôn ngữ biểu diễn thuật toán Ngôn
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CẦN THƠ
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh Phúc
ĐỀ CƯƠNG CHI TIẾT HỌC PHẦN
1 Tên học phần: Lập trình căn bản – Điện tử (Basic programming - Electronics)
- Mã số học phần: CT131
- Số tín chỉ học phần: 03 tín chỉ
- Số tiết học phần: 30 tiết lý thuyết, 30 tiết thực hành
2 Đơn vị phụ trách học phần:
- Bộ môn: Điện tử - Viễn Thông
- Khoa/Viện/Trung tâm/Bộ môn: Công Nghệ
3 Điều kiện tiên quyết: TN033, TN034
4 Mục tiêu của học phần:
4.1 Kiến thức:
4.1.1 Nắm được các bước tổng quát để giải quyết bài toán trên máy tính
4.1.2 Nắm vững khái niệm thuật toán và các phương pháp biểu diễn thuật toán 4.1.3 Nắm tổng quan về ngôn ngữ C và ngôn ngữ lập trình có cấu trúc
4.1.4 Nắm được các kiểu dữ liệu trong C: kiểu dữ liệu đơn, kiểu dữ liệu có cấu
trúc
4.1.5 Cách thiết kế và sử dụng các hàm trong C
4.1.6 Nắm và sử dụng được một số kiểu dữ liệu có cấu trúc trong C
4.2 Kỹ năng:
4.2.1 Có kỹ năng phân tích, tổng hợp, giải quyết một vấn đề đơn giản bằng
chương trình máy tính
4.2.2 Có khả năng xây dựng và trình bày thuật toán để giải một bài toán trên
máy tính bằng một ngôn ngữ biểu diễn thuật toán (Ngôn ngữ tự nhiên, lưu đồ,…)
4.2.3 Có kỹ năng phân tích, tự xây dựng thuật toán và chương trình để giải quyết
một số bài toán đơn giản
4.2.4 Có khả năng xây dựng chương trình bằng ngôn ngữ C để giải quyết bài
toán phức tạp khi đã biết thuật toán
4.2.5 Có khả năng tự học nâng cao trình độ và vận dụng ngôn ngữ C vào trong
các môn học khác cũng như trong lĩnh vực chuyên môn
4.3 Thái độ:
4.3.1 Sinh viên cần có thái độ tích cực tham gia vào các hoạt động trên lớp, chủ
động chuẩn bị bài và làm bài tập ở nhà
Trang 24.3.2 Ý thức được vai trò quan trọng và cần thiết của thuật toán và ngôn ngữ C
trong học tập và nghiên cứu chuyên môn
4.3.3 Có tinh thần trách nhiệm trong làm việc nhóm, hòa nhã, tích cực trong
công việc được giao
5 Mô tả tóm tắt nội dung học phần:
Môn học lập trình căn bản điện tử cung cấp cho sinh viên các kiến thức cơ bản
về về ngôn ngữ lập trình, kiểu dữ liệu, kiểu dữ liệu có cấu trúc (cấu trúc dữ liệu) Các khái niệm về thuật toán, ngôn ngữ biểu diễn thuật toán Giúp sinh viên có thể sử dụng một trong các ngôn ngữ này để trình bày thuật toán giải bài toán trên máy tính Đồng thời, sinh viên cũng được trang bị một khối lượng kiến thức tương đối lớn và đầy đủ
về ngôn ngữ lập trình C, ngôn ngữ lập trình được sử dụng phổ biến trong kỹ thuật hiện nay Từ đó, giúp sinh viên hiểu được vai trò quan trọng và cần thiết của thuật toán và ngôn ngữ C Với kiến thức tốt và kỹ năng lập trình thuần thục bằng ngôn ngữ C, sinh viên có thể tiếp cận dễ dàng và nhanh chóng sử dụng tốt ngôn ngữ C trong việc học tập
và nghiên cứu trong lĩnh vực chuyên môn sau này
6 Cấu trúc nội dung học phần:
6.1 Lý thuyết
Chương 1 Khái niệm về Cấu trúc dữ liệu và thuật toán 07
1.4 Các phương pháp biểu diễn thuật toán 01 4.1.2; 4.2.1;
4.2.2
1.5 Các cấu trúc suy luận cơ bản của thuật toán 01 4.1.2; 4.2.3;
4.3.2 1.6 Kiểu dữ liệu – Cấu trúc dữ liệu 0.5 4.1.3
1.7 Ngôn ngữ lập trình – trình biên dịch 0.5 4.1.3
2.1 Giới thiệu ngôn ngữ C và môi trường lập trình
Trang 32.4 Khai báo và sử dụng thư viện, hằng, biến 0.5 4.1.4
2.5 Phép toán, biểu thức, câu lệnh 0.5 4.1.4
2.6 Các lệnh đơn: Gán, Nhập và xuất dữ liệu 02 4.1.4
Chương 3 Các cấu trúc lệnh điều khiển 05
4.2.4
4.2.4
4.2.4
3.4 Cấu trúc lặp không xác định 1.5 4.1.4; 4.2.3;
4.2.4
3.5 So sánh các cấu lệnh điều khiển 0.5 4.1.4; 4.2.3;
4.2.4 Chương 4 Chương trình con và lập trình cấu trúc 03
4.1 Giới thiệu về ngôn ngữ lập trình cấu trúc 0.5 4.1.5; 4.2.3;
4.2.4
4.2.4
4.3 Khai báo, sử dụng chương trình con 1.5 4.1.5; 4.2.3;
4.2.4
4.2.4
4.2.4
5.2 Kiểu dữ liệu chuỗi ký tự 1.5 4.1.6; 4.2.3;
4.2.4
4.2.4
Trang 4Chương 6 Kiểu dữ liệu con trỏ 03
4.2.4
4.2.4
4.2.4
4.2.4
4.2.4
4.2.4
4.2.4
4.2.4
7.4 Một số thao tác trên tập tin 1.0 4.1.6; 4.2.3;
4.2.4 6.2 Thực hành
4.2.3; 4.3.1 1.1 Sử dụng lệnh gán, nhập, xuất dữ liệu
1.2 Sử dụng các hàm trong thư viện chuẩn
1.3 Sử dụng hằng số trong chương trình
4.1.4; 4.2.4; 4.2.5; 4.3.1; 4.3.2; 4.3.3
Trang 52.1 Cấu trúc rẽ nhánh và lựa chọn
2.2 Cấu trúc lặp xác định
2.3 Cấu trúc lặp không xác định
4.1.5; 4.2.4; 4.2.5; 4.3.1; 4.3.2; 4.3.3 3.1 Chương trình con lặp
3.2 Chương trình con đệ quy
4.1.6; 4.2.4; 4.2.5; 4.3.1; 4.3.2; 4.3.3 4.1 Kiểu dữ liệu mảng 1 chiều
4.2 Kiểu dữ liệu mảng 2 chiều
4.3 Kiểu dữ liệu con trỏ
4.1.6; 4.2.4; 4.2.5; 4.3.1; 4.3.2; 4.3.3 5.1 Sử dụng kiểu chuỗi k ý tự
5.2 Bài tập thực hành ứng dụng
4.1.6; 4.2.4; 4.2.5; 4.3.1; 4.3.2; 4.3.3 6.1 Kiểu dữ liệu cấu trúc
6.2 Con trỏ cấu trúc
6.3 Kiểu dữ liệu tập tin
6.4 Bài tập thực hành ứng dụng
7 Phương pháp giảng dạy:
- Thuyết trình (sử dụng máy chiếu Projector) và minh họa bằng máy tính
Trang 6- Phương pháp dựa trên vấn đề (Problem Based Learning & Case Study) – Thực hành môn học/bài tập nhóm
- Phương pháp thảo luận nhóm (Think – Pair – Share & Group Based Learning) – bài tập/ thực hành
8 Nhiệm vụ của sinh viên:
Sinh viên phải thực hiện các nhiệm vụ như sau:
- Tham dự tối thiểu 80% số tiết học lý thuyết
- Tham gia đầy đủ 100% giờ thực hành/thí nghiệm/thực tập và có báo cáo kết quả
- Thực hiện đầy đủ các bài tập nhóm/ bài tập và được đánh giá kết quả thực hiện
- Chủ động tổ chức thực hiện giờ tự học
- Tham dự thi thực hành và thi kết thúc học phần
9 Đánh giá kết quả học tập của sinh viên:
9.1 Cách đánh giá
Sinh viên được đánh giá tích lũy học phần như sau:
1 Tham gia học tập
trên lớp > 80% tổng số giờ lý thuyết Bắt buộc 4.3.1
2 Tham gia các buổi
thực hành 100% tổng số giờ thực hành bắt buộc 4.3.1
3 Điểm bài tập Bài tập tại lớp + ở nhà 15% 4.3.1; 4.3.3
4 Điểm thực hành
- Tham gia đầy đủ các buổi thực hành
- Tham gia thi thực hành
35%
4.1.1 đến 5.1.6; 4.2.5; 4.3.1
5 Điểm thi kết thúc
học phần
- Thi viết + trắc nghiệm
- Tham dự đủ 80% tiết lý thuyết
và 100% giờ thực hành
- Bắt buộc dự thi
50% 4.1.1 đến
4.1.6; 4.2.5
9.2 Cách tính điểm
- Điểm đánh giá thành phần và điểm thi kết thúc học phần được chấm theo thang điểm 10 (từ 0 đến 10), làm tròn đến một chữ số thập phân
- Điểm học phần là tổng điểm của tất cả các điểm đánh giá thành phần của học phần nhân với trọng số tương ứng Điểm học phần theo thang điểm 10 làm tròn đến một chữ số thập phân, sau đó được quy đổi sang điểm chữ và điểm số theo thang điểm
4 theo quy định về công tác học vụ của Trường
Trang 710 Tài liệu học tập:
[1] Nguyễn Công Danh, Lâm Hoài Bảo, “Lập trình căn bản A”,
Giáo Trình Đại học Cần Thơ, 2005
[2] Phạm Văn Ất, “Kỹ thuật lập trình C cơ sở và nâng cao”,
NXB Giao thông vận tải, 2006
[3] Brian Kernighan and Dennis Ritchie, “The C programming
language 2nd Edition”, Prentice-Hall, 1988
[4] Aho, A V , J E Hopcroft, J D Ullman, “Data Structure
and Algorihtms”, Addison–Wesley, 1983
11 Hướng dẫn sinh viên tự học:
Tuần Nội dung
Lý
thuyết
(tiết)
Thực hành (tiết)
Nhiệm vụ của sinh viên
1-3
Chương 1 Khái niệm về
Cấu trúc dữ liệu và thuật
toán
1.1 Mô hình hóa bài toán
thực tế
1.2 Khái niệm về thuật
toán
1.3 Các đặc trưng của
thuật toán
1.4 Các phương pháp biểu
diễn thuật toán
1.5 Các cấu trúc suy luận
cơ bản của thuật toán
1.6 Kiểu dữ liệu – Cấu
trúc dữ liệu
1.7 Ngôn ngữ lập trình –
trình biên dịch
- Nghiên cứu trước:
+ Tài liệu [1]: Nội dung Chương 1 + Tài liệu [4]: Nội dung Chương 1
4-6
Chương 2 Chương trình
đơn giản
2.1 Giới thiệu ngôn ngữ C
và môi trường lập trình
DEV C++
2.2 Cấu trúc chương trình
- Nghiên cứu trước:
+ Tài liệu [1]: Chương 2, Chương 3 +Tài liệu [2]: Chương 2, Chương 3, Chương 4
+ Tài liệu [3]: Tìm hiểu chương 2
Trang 82.3 Các kiểu dữ liệu chuẩn
2.4 Khai báo và sử dụng
thư viện, hằng, biến
2.5 Phép toán, biểu thức,
câu lệnh
2.6 Các lệnh đơn: Gán,
Nhập và xuất dữ liệu
+ Ôn lại nội dung 1.2-1.5 đã học ở học phần Chương 1
- Làm bài tập Chương 1, tài liệu [1]
- Chuẩn bị bài thực hành 1
7-9
Chương 3: Các cấu trúc
lệnh điều khiển
3.1 Cấu trúc rẽ nhánh
3.2 Cấu trúc Lựa chọn
3.3 Cấu trúc lặp xác định
3.4 Cấu trúc lặp không
xác định
3.5 So sánh các cấu lệnh
điều khiển
-Nghiên cứu trước:
+ Tài liệu [1]: Chương 4 + Xem lại nội dung 2.4 đến 2.6 đã học ở học chương 2
+ Tài liệu [2]: Chương 5
+ Tài liệu [3]: Chương 3
- Làm bài tập Chương 3, tài liệu [1]
- Làm việc nhóm theo danh sách phân nhóm tìm các thuật toán cho các bài tập trong bài thực hành 2
- Chuẩn bị bài thực hành 2
9-10
Chương 4: Chương trình
con và lập trình cấu trúc
4.1 Giới thiệu về ngôn
ngữ lập trình cấu trúc
4.2 Chương trình con
(hàm)
4.3 Khai báo, sử dụng
chương trình con
4.4 Chương trình con đệ
quy
- Nghiên cứu trước:
+ Tài liệu [1]: Chương 5 +Tài liệu [2]: Chương 6 + Tài liệu [3]: Chương 4
- Làm bài tập Chương 4, tài liệu [1]
- Làm việc nhóm theo danh sách phân nhóm tìm các thuật toán cho các bài tập trong bài thực hành 3
- Chuẩn bị bài thực hành 3
11-13
Chương 5: Kiểu dữ liệu
có cấu trúc
5.1 Kiểu dữ liệu mảng
5.2 Kiểu dữ liệu chuỗi ký
tự
5.3 Kiểu cấu trúc
- Nghiên cứu trước:
+ Tài liệu [1]: Chương 6, 8 và 9 + Tài liệu [2]: Chương 7
+ Tài liệu [3]: Chương 6
- Xem lại nội dung đã học ở mục 4.3, 4.4 chương 4
- Làm bài tập của Chương 5, tài liệu [1]
- Làm việc nhóm chuẩn bị bài thực hành 4
13- Chương 6 Kiểu dữ liệu 03 04 - Nghiên cứu trước:
Trang 914 con trỏ
6.1 Khái niệm và định
nghĩa
6.2 Khai báo kiểu con trỏ
6.3 Truy xuất kiểu con trỏ
6.4 Con trỏ và hàm
6.5 Con trỏ và mảng
+ Tài liệu [1]: Chương 7 + Tài liệu [3]: Chương 5
- Xem lại nội dung đã học ở mục 5.1 của chương 5
- Làm bài tập của Chương 6, 8 tài liệu [1]
- Làm việc nhóm chuẩn bị bài thực hành 5
15
Chương 7 Kiểu dữ liệu
tập tin
7.1 Định nghĩa
7.2 Phân loại
7.3 Khai báo
7.4 Một số thao tác trên
tập tin
- Nghiên cứu trước:
+ Tài liệu [1]: Chương 10 + Tài liệu [2]: Chương 10 + Tài liệu [3]: Chương 7
- Làm bài tập của Chương 7 tài liệu [1]
- Làm việc nhóm chuẩn bị bài thực hành 6
Cần Thơ, ngày 22 tháng 03 năm 2014
TL HIỆU TRƯỞNG
TRƯỞNG KHOA
TRƯỞNG BỘ MÔN
TS Lương Vinh Quốc Danh