Đ cƯƠng chi tiẾt mÔn hỌc lẬp trÌnh nÂng...

7
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 KHT, 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 hch ứ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

Upload: vancong

Post on 01-Feb-2018

222 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Đ CƯƠNG CHI TIẾT MÔN HỌC LẬP TRÌNH NÂNG CAOuet.vnu.edu.vn/~tqlong/2016ltnc/decuong.pdf · Đ CƯƠNG CHI TIẾT MÔN HỌC: ... Kiểm thử và gỡ rối chương trình

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

Page 2: Đ CƯƠNG CHI TIẾT MÔN HỌC LẬP TRÌNH NÂNG CAOuet.vnu.edu.vn/~tqlong/2016ltnc/decuong.pdf · Đ CƯƠNG CHI TIẾT MÔN HỌC: ... Kiểm thử và gỡ rối chương trình

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

Page 3: Đ CƯƠNG CHI TIẾT MÔN HỌC LẬP TRÌNH NÂNG CAOuet.vnu.edu.vn/~tqlong/2016ltnc/decuong.pdf · Đ CƯƠNG CHI TIẾT MÔN HỌC: ... Kiểm thử và gỡ rối chương trình

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

Page 4: Đ CƯƠNG CHI TIẾT MÔN HỌC LẬP TRÌNH NÂNG CAOuet.vnu.edu.vn/~tqlong/2016ltnc/decuong.pdf · Đ CƯƠNG CHI TIẾT MÔN HỌC: ... Kiểm thử và gỡ rối chương trình

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

Page 5: Đ CƯƠNG CHI TIẾT MÔN HỌC LẬP TRÌNH NÂNG CAOuet.vnu.edu.vn/~tqlong/2016ltnc/decuong.pdf · Đ CƯƠNG CHI TIẾT MÔN HỌC: ... Kiểm thử và gỡ rối chương trình

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.

Page 6: Đ CƯƠNG CHI TIẾT MÔN HỌC LẬP TRÌNH NÂNG CAOuet.vnu.edu.vn/~tqlong/2016ltnc/decuong.pdf · Đ CƯƠNG CHI TIẾT MÔN HỌC: ... Kiểm thử và gỡ rối chương trình

- 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

Page 7: Đ CƯƠNG CHI TIẾT MÔN HỌC LẬP TRÌNH NÂNG CAOuet.vnu.edu.vn/~tqlong/2016ltnc/decuong.pdf · Đ CƯƠNG CHI TIẾT MÔN HỌC: ... Kiểm thử và gỡ rối chương trình