Đ cƯƠng chi tiẾt mÔn hỌc lẬp trÌnh nÂng...
TRANSCRIPT
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ 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 CHI TIẾT
MÔN HỌC: LẬP TRÌNH NÂNG CAO
1. Thông tin về các giảng viên môn học
STT Họ và tên
Chức
danh, học
vị
Địa chỉ liên
hệ Điện thoại/Email Ghi chú
1 Nguyễn Văn Vinh TS BM KHMT [email protected] Trưởng môn
học
2 Lê Anh Cường PGS, TS BM KHMT [email protected] Giảng viên
3 Lê Sỹ Vinh TS BM KHMT [email protected] Giảng viên
4 Lê Nguyên Khôi TS BM KHMT [email protected] Giảng viên
5 Phạm Hồng Thái TS. BM KHMT [email protected] Giảng viên
2. Thông tin chung về môn học
- Tên môn học: Lập Trình Nâng Cao
- môn học: INT2202
- S n ch : 3
- Giờ n ch đ i với các hoạ động (LT/ThH/TH): 30/15/0
- Môn học iên quyế : INT1006 – Tin học cơ ở 4
- Các yêu cầu đ i với môn học (nếu có):
- Bộ môn, Khoa phụ rách môn học: Bộ môn KH T, Khoa CNTT
3. Mục tiêu môn học
ôn học giúp inh viên về ư duy và các kỹ huậ nâng cao trong lập rình. ôn học cũng
giúp inh viên có khả năng dễ dàng h ch ứng với các ngôn ngữ lập rình bậc cao khác
nhau và bước đầu hể hiện nh chuyên nghiệp rong lập rình. Sinh viên có các kiến hức
về giải quyế các vấn đề bằng các kỹ huậ lập rình hông qua ngôn ngữ lập rình bậc cao.
Sinh viên cũng có hể bước đầu lập rình nhóm và ự học các ngôn ngữ lập rình bậc cao
khác mộ cách dễ dàng.
4. Chuẩn đầu ra
Mục tiêu
Nội dung Bậc 1 Bậc 2 Bậc 3 Bậc 4
1. Kiến hức
Mục tiêu
Nội dung Bậc 1 Bậc 2 Bậc 3 Bậc 4
1.5.1 Lập rình hành hạo mộ ngôn ngữ lập trình
hông dụng
Vận dụng được các huậ oán cơ bản liên quan đến ắp
xếp, ìm kiếm và các huậ oán khác rên các cấu rúc dữ
liệu.
x
2. Kỹ năng (nếu có)
2.1.1.2 Lập rình hành hạo và biế ử dụng các công cụ
phần mềm hỗ rợ
Thành hạo các kỹ huậ lập rình như hao ác mảng, đệ
qui, ử dụng con rỏ, hao ác file, xử lý ngoại lệ, …
x
Rèn luyện nh chuyên nghiệp rong lập rình; phong cách
lập rình áng ủa và bước đầu có hể lập rình heo
nhóm.
x
Giải quyế hoàn ch nh các bài toán bằng lập rình bao
gồm cài đặ hành chương rình, gỡ r i và kiểm hử
chương rình.
x
5. T m t t nội dung môn học
Trước iên inh viên ẽ được giới hiệu về mục iêu của môn học, quan hệ của nó với các môn
học khác rong chương rình đào ạo. Sau đó, inh viên ẽ được học các kỹ huậ lập rình
nâng cao ử dụng ngôn ngữ lập rình bậc cao C++ để giải quyế các bài oán cụ hể rên máy
nh, đồng hời inh viên cũng học phong cách lập rình chuyên nghiệp, lập rình nhóm, kiểm
hử và gỡ r i chương rình. Lý huyế chung về Lập rình nâng cao bao gồm: các khái niệm cơ
bản và kỹ huậ lập rình nâng cao được hể hiện rong C++, các kiểu cấu rúc dữ liệu hông
dụng như mảng, cấu rúc, lớp, hàm, con rỏ, danh ách liên kế và cách hức lập rình nhóm.
Sinh viên cũng được hướng dẫn hực hành để có hể lập rình nhóm và xây dựng, gỡ r i và
kiểm hử chương rình dựa rên ngôn ngữ bậc cao C++.
6. Nội dung chi ti t môn học
Chương 1. Mở đầu
1.1 Giải quyế bài oán bằng lập rình
1.2. Tiêu chuẩn và đánh giá về lập rình
1.2 Ngôn ngữ lập rình và chương rình dịch
1.3 ôi rường lập rình bậc cao
1.4 Lịch ử C và C++
1.5 Chương rình C++ đầu iên
Chương 2. Một số khái niệm cơ bản trong C++
2.1. Kiểu dữ liệu
2.2. Khai báo và ử dụng biến
2.3. Hằng
2.4. Luồng điều khiển
2.5. Phong cách lập rình
2.6. Dịch chương rình C++ với GNU C++
Chương 3. Kiểm thử và gỡ rối chương trình
3.1. Kỹ huậ kiểm hử
3.2. Kỹ huậ gỡ r i chương rình
3.3. Lập rình không lỗi
Chương 4. Hàm
4.1. Thiế kế ừ rên xu ng (top-down)
4.2. Cấu rúc chung của hàm
4.3. Cách ử dụng hàm
4.4. Biến oàn cục và biến địa phương
4.5. Tham , đ i , và cơ chế ruyền ham cho hàm
4.6. Chồng hàm và khuôn mẫu hàm
4.7. Lập rình với hàm đệ quy
Chương 5. Mảng
5.1. Lập rình và hao ác với mảng mộ chiều
5.2. Lập rình và hao ạc với mảng nhiều chiều
5.3. Lập rình và hao ác với xâu k ự
Chương 6. Các kiểu dữ liệu trừu tượng
6.1. Kiểu dữ liệu rừu ượng bằng cấu rúc struct
6.2. Kiểu dữ liệu rừu ượng bằng lớp class
6.3. Dạng khuôn mẫu ( empla e) hàm và lớp
Chương 7. Con trỏ và bộ nhớ
7.1. Quản lý bộ nhớ máy nh
7.2. Biến và địa ch của biến
7.3. Biến con rỏ
7.4. ảng và con rỏ
7.5. Bộ nhớ động
7.6. ảng động và con rỏ
7.7. Con rỏ hàm
7.8. Lập rình với danh ách liên kế
Chương 8. Vào ra dữ liệu
8.1. Khái niệm dòng dữ liệu
8.2. Vào ra ệp
8.3. Vào ra ệp văn bản và nhị phân
Chương 9. Xử lý ngoại lệ
9.1. Các vấn đề cơ bản về xử lý ngoại lệ
9.2. Kỹ huậ lập rình cho xử lý ngoại lệ
Chương 10. Tiền xử lý và lập trình nhiều file
10.1. Các ch hị iền xử lý
10.2. Lập rình rên nhiều file
Chương 11. Lập trình với thư viện chuẩn STL
11.1. Giới hiệu hư viện chuẩn STL
11.2. Khái niệm lặp
11.3. Khái niệm vậ chứa
7. Học liệu
7.1. Học liệu b t buộc
[1]. L.A. Cường, N.V. Vinh, L.S. Vinh và N.T. Châu, Bài giảng môn Lập rình nâng cao.
2012
[2]. Walter Savitch, Problem Solving with C++, 8th
edition, Addison-Wesley, 2012.
7.2 Học liệu tham khảo
[3 ]. Phạm Hồng Thái, Bài giảng Ngôn ngữ lập rình C/C++, Hà Nội, 2003.
[4]. Phạm Văn Ấ , C++ và Lập rình hướng đ i ượng, Nhà xuấ bản Khoa Học Kỹ Thuậ ,
2000
[5]. Bjarne Stroustrup, The C++ Programming Language, 3rd
edition, Addison-Wesley, 1997.
[6]. Deitel & Deitel, C++ How to Program, 7th
edition, Prentice Hall, 2010.
[7]. Herbert Schildt, C++: The Complete Reference, Third Edition, McGraw-Hill, 1998.
[8]. Walter Savitch, Absolute C++, Pearson Education, Inc., 2002
8. Hình thức tổ chức dạy học
8.1. Phân bổ lịch trình giảng dạy trong 1 học kỳ (15 tuần)
Hình thức dạy Số ti t/tuần Từ tuần …đ n tuần… Địa điểm
Lý huyế 2 1-15 Giảng đường
Thực hành 2 2-16 Phòng máy
Tự học bắ buộc
8.2 Lịch trình dạy cụ thể
Tuần Nội dung giảng dạy lý thuyết/thực hành Nội dung sinh viên tự học
1 Giới thiệu về môn học lập trình nâng cao
2 Ngôn ngữ lập trình C++ và
cách giải quyết bài toán trên máy tính
Tìm hiểu về lịch ử phá riển của
ngôn ngữ bậc cao, đặc biệ là C++
3 Khái niệm cơ bản trong C++ và
phong cách lập trình Sinh viên so ánh với ngôn ngữ C
4 Kiểm thử, gỡ r i trong lập trình Dịch chương rình rên Linux và ac
5 Hàm và giải quyết bài toán
theo mô hình top-down
6 Lập trình bằng hàm đệ qui
7 Mảng và lập trình thao tác trên
mảng
8 Các kiểu dữ liệu trừu ượng: struc và class
9 Quản lý bộ nhớ và con trỏ
10 Lập trình với danh sách liên kết
11 Vào ra dữ liệu trong C++ (thiết bị chuẩn và
Files)
Sinh viên ự đọc phần hao ác với
file dạng nhị phân
12 Kỹ thuật xử lý ngoại lệ
13 Giới thiệu về ch thị biên dịch và lập
trình nhiều file
14 Giới thiệu về hư viện lập trình STL Về cách ử dụng lớp S ring và hư
viên Boost
15 Tổng kết
9. Chính sách đối với môn học và các yêu cầu khác của giảng viên
- Sinh viên ngh quá 20% buổi học lý huyế (3 buổi học) ẽ không được hi cu i kỳ.
ỗi buổi học ẽ có điểm danh.
- Sinh viên ch cực làm bài ập rên lớp, ham gia hảo luận, rả lời câu hỏi (ở lớp hoặc
trên diễn đàn của trang web môn học) ẽ được xem xé cộng điểm môn học.
- Với các nội dung liên quan đến lập rình (v dụ bài ập lớn) nếu inh viên gian lận m
nguồn hì ẽ bị điểm môn học là 0.
10. Phương pháp, hình thức kiểm tra, đánh giá k t quả học tập môn học
10.1. Mục đích và trọng số kiểm tra, đánh giá
Hình thức Phương pháp Mục đích Trọng số
Bài ập lớn
Dự án nhỏ làm việc heo
nhóm (3-4 thành viên) bao
gồm: bao cáo và chương
trình
Đánh giá kỹ năng lập
trình và khả năng ph i
hợp các thành viên
trong nhóm
15%
Kiểm ra giữa kỳ
Thi hực hành Đánh giá kiến hức, kỹ
năng inh viên đạ được
au nửa học kỳ
25%
Thi kế húc môn học
Thi hưc hành/Viế Đánh giá kiến hức, kỹ
năng inh viên đạ được
khi kế húc môn học
60%
Tổng 100%
10.2. Tiêu chí đánh giá
- Tiêu ch đánh giá cụ hể với ừng đầu điểm của môn học:
+ Bài ập lớn: Chương rình hoàn ch nh chạy đúng heo yêu cầu, có báo cáo diễn ả hiế kế và
nội dung ch nh của ừng hành viên ham gia vào bài ập lớn, có hướng dẫn để chạy chương
trình.
+ Kiểm ra giữa kỳ: nắm được kiến hức đ học rong uần 1 đến uần 7; khả năng vận dụng
kiến hức đó để có hể viế được chương rình hoàn rình bằng ngôn ngữ C++.
+ Kế húc môn: nắm được kiến hức, kỹ năng đ học rong cả 15 uần của học kỳ.
- Cụ hể việc đánh giá kiến hức, kỹ năng của inh viên heo các mức đáp ứng được chuẩn đầu
ra, mức khá, mức giỏi:
Tùy vào mức độ hoàn hành các bài kiểm ra rên mà inh viên ẽ được phân loại hành rung
bình, khá, và giỏi.
- Giỏi: hoàn hành hế các bài ập được giao với mức độ hoàn hiện cao
- Khá: hoàn hành được các bài ập cơ bản, chưa làm được các bài ập nâng cao hoặc
làm chưa hoàn hiện
- Trung bình: còn mộ nội dung chưa làm được.
10.3. Lịch thi và kiểm tra
Hình thức thi và kiểm tra Thời gian
Kiểm ra giữa kỳ Tuần 7 hoặc Tuần 8
Bài ập lớn Tuần 12
Thi cu i kỳ Theo lịch của Trường
Duyệt
Chủ nhiệm Khoa Chủ nhiệm bộ môn