INT2202 - Lập trình nâng cao

Thông tin chung

Thông báo

Yêu cầu tất cả sinh viên phải gia nhập diễn đàn trước khi tới buổi thực hành đầu tiên. Toàn bộ thông báo của lớp môn học này sẽ được gửi qua diễn đàn.

Đánh giá kết quả môn học

Điểm tổng kết (TK) được tính dựa trên

theo công thức:

Quy cách nộp bài thực hành

Sinh viên nộp bài thực hành qua tài khoản bitbucket bằng cách cấp quyền đọc cho tài khoản diepint2202. Quy định: username trùng tên tài khoản vnu; repository cho bài thực hành 02 thì đặt tên là ap02. Xem Hướng dẫn sử dụng bitbucket: http://uet.vnu.edu.vn/~hieulq/ctdlgt/baitap/Bitbucket_mini_guide.pdf .

Học liệu

[Bắt buộc] Walter Savitch. Absolute C++, second edition. Addison Wesley. 2002.

[Tham khảo] Phạm Hồng Thái. Bài giảng "Ngôn ngữ lập trình C++”.

Lịch trình

Tuần

Bài giảng lý thuyết

Files bài giảng

Chuẩn bị

Thực hành

Căn bản về C++: Giới thiệu ngôn ngữ C++ và cách viết những chương trình C++ đơn giản liên quan tới các biểu thức, phép gán và đọc/ghi trên các thiết bị vào/ra chuẩn.
Demo: Dịch và chạy một chương trình C++

Bài 0 (lect00_intro.pdf)
Bài 1 (lect01_basics.pdf)

đọc Chương 1

Hướng dẫn dùng Dev-C; Hướng dẫn nộp bài tập với bitbucket; Hướng dẫn phong cách lập trình
Bài thực hành 1
Bài của bạn Cao Xuân Anh

Luồng điều khiển: Hướng dẫn 2 cách điều khiển luồng là rẽ nhánh và lặp. Cách thứ 3 là xử lý ngoại lệ sẽ được giới thiệu trong tuần 14.
Demo: Ví dụ vòng lặp lồng nhau

Bài 2 (lect02_control_flow.pdf)

đọc Chương 1, 2

Bài thực hành 2  (Hướng dẫn ap02)
Bài của bạn Đỗ Đăng Thuận

Căn bản về hàm: Hướng dẫn sử dụng một số hàm có sẵn trong thư viện và viết hàm của riêng bạn.
Demo: Phạm vi hoạt động của biến

Bài 3 (lect03_functions.pdf)

đọc Chương 3

Bài thực hành 3  (Hướng dẫn ap03)
Bài của bạn Đỗ Đăng Thuận

Tham số của hàm và Nạp chồng hàm: Giải thích cơ chế truyền tham số vào hàm, Hướng dẫn cách viết các hàm trùng tên nhưng định nghĩa khác nhau, Giới thiệu các kĩ thuật cơ bản để test hàm.
Demo: Sử dụng trình gỡ lỗi của IDE

Bài 4 (lect04_functions.pdf)

đọc Chương 4

Bài thực hành 4
Bài của bạn Nguyễn Hà Thanh

Mảng: Giới thiệu mảng, Cách sử dụng mảng với hàm
Demo: Làm việc với mảng

Bài 5 (lect05_array.pdf)
Demo

đọc Chương 5

Bài thực hành 5  (Hướng dẫn ap05)

Kiểm tra

 

 

Bài thực hành 6  (Hướng dẫn ap06)

struct và class: Hướng dẫn cách định nghĩa kiểu dữ liệu mới

Bài 6 (lect06_struct_class.pdf)

đọc Chương 6

Bài thực hành 7 (thisinh.cpp)
Hướng dẫn tách phần giao diện và phần cài đặt

Hàm kiến tạo và các công cụ khác: Hướng dẫn cách viết hàm kiến tạo và thư viện <vector>
Demo: Làm việc với hàm kiến tạo

Bài 7 (lect07_constructor.pdf)

đọc Chương 7

Bài thực hành 8

Nạp chồng toán tử (Định nghĩa lại toán tử), Từ khóa friend và Tham chiếu

Bài 8 (lect08_operator_overload.pdf)

đọc Chương 8

Bài thực hành 9

10 

Xâu: Thảo luận 2 kiểu xâu kí tự - xâu kiểu C là một mảng kí tự và xâu kiểu C++ là một biến của lớp string.
Demo: Dùng cin và getline với lớp string

Bài 9 (lect09_string.pdf)

đọc Chương 9

Bài thực hành 10

11 

Ôn tập

Bài thực hành 11  (lab11.cpp)

12 

Kiểm tra
Biên dịch riêng rẽ và Không gian tên

 

đọc Chương 11

 

Bài tập lớn: Viết lớp xử lý số nguyên dương lớn. (phiên bản 2)
Deadline đăng ký: 08/5/2012
Deadline nộp bài: 30/5/2012
13 

Con trỏ và Mảng động
Demo: Ví dụ phân biệt copy nông và copy sâu

Bài 10 (lect10_pointer.pdf)

đọc Chương 10

Bài thực hành 12 (Deadline: Thứ 3, 15/5)

14

Ôn tập con trỏ và mảng động

Bài 11 (lect11_pointer_review.pdf)

 

Bài thực hành 13 (Deadline: Thứ 3, 22/5)

15

Đọc/ghi trên luồng và tệp

Bài 12 (lect12_file_stream_io.pdf)

đọc Chương 12

Bài thực hành 14 (Deadline: Thứ 3, 29/5)

16 

Thừa kế
Xử lý ngoại lệ

Bài 13 (lect13_inheritance.pdf)
inheritance.cpp
exception1.cpp
exception2.cpp
exception3.cpp

đọc Chương 14, 18

18-04.cpp
Bài thực hành 15 (Deadline: Thứ 3, 5/5)

Tham khảo thêm