Upload
pix-nhox
View
336
Download
0
Embed Size (px)
Citation preview
trueclass
cout
C++operator
catch
virtual throw
try
friend bool
cinnew
inline private OOP
deleteusing falseSTL
public
1
T h S . Đ ặ n g B ì n h P h ư ơ n gd b p h u o n g @ f i t . h c m u s . e d u . v n
VCBB© 13.09a
this
Bộ môn Công nghệ phần mềm
Khoa Công nghệ thông tin
Trường Đại học Khoa học Tự nhiên
PP LT HƯỚNG ĐỐI TƯỢNG
GIỚI THIỆU MÔN HỌC
2
VC
BB
1 2 3 4
Nội dung
Giới thiệu môn học
Giới thiệu môn học
Cách thức đánh giá
Nội dung môn học
Tài liệu tham khảo
#include <iostream>using namespace std;
void main(){
cout << “Hello World”;cout << endl;
3
VC
BB
Giới thiệu môn học1 2 3 4
Giới thiệu môn học
Tên môn học: PP lập trình hướng đối tượng
Số tín chỉ: 4
Số tiết lý thuyết: 45
Số tiết thực hành: 30
Số tiết tự học: 90
Loại học phần: Bắt buộc
Môn học trước: NMLT, KTLT
Giảng viên lý thuyết: Đặng Bình Phương
(Tiêu đề thư phải bắt đầu bằng [SV])Giới thiệu môn học
4
VC
BB
Giới thiệu môn học1 2 3 4
Giới thiệu môn học
Mục tiêu môn học
Rèn luyện cho sinh viên kỹ năng và
phương pháp viết chương trình theo tiếp cận
hướng đối tượng bằng cách sử dụng một
NNLT hướng đối tượng cụ thể, có đối sánh và
liên hệ với những NNLT hướng đối tượng
thông dụng khác.
Truyền đạt cho sinh viên những
kinh nghiệm nghề nghiệp
liên quan đến áp dụng lập trình hướng đối
tượng trong thực tế sản xuất phần mềm.Giới thiệu môn học
5
VC
BB
Cách thức đánh giá1 2 3 4
Thang điểm
Thực hành (3 điểm)
Đồ án thực hành: 1,0 điểm
Bài tập hàng tuần: 1,0 điểm
Thi cuối kỳ: 1,0 điểm
Lý thuyết (7 điểm)
Bài tập hàng tuần: 2,0 điểm
Thi cuối kỳ: 5,0 điểm
Giới thiệu môn học
Kết quả = 30% TH + 70% LT
6
VC
BB
Nội dung môn học1 2 3 4
Chương 1
Một số vấn đề trong lập trình
Sự tổng quát hóa trong lập trình.
Vấn đề về các hàm cùng tên.
Về giá trị mặc định của tham số hàm.
Vấn đề về các hàm mã nguồn y hệt nhau.
Kí hiệu phép toán cho kiểu dữ liệu mới.
Nhu cầu về gia tăng tính tái sử dụng của
mã nguồn.
Giới thiệu môn học
7
VC
BB
Nội dung môn học1 2 3 4
Chương 2
Lớp và đối tượng
Khái niệm về lập trình hướng đối tượng.
Khái niệm về lớp và đối tượng.
Sự che dấu dữ liệu và phương thức.
Tạo lập, sử dụng và hủy đối tượng.
Một vài ví dụ minh họa.
Ký hiệu UML.
Sự tương đồng và khác nhau giữa C++, Java
và C#.
Giới thiệu môn học
8
VC
BB
Nội dung môn học1 2 3 4
Chương 3
Kiểu dữ liệu cơ sở và lớp dựng sẵn
Các kiểu dữ liệu cơ sở và phép toán.
Kiểu chuỗi kí tự.
Dữ liệu động.
Đối sánh các kiểu dữ liệu cơ sở của C++,
Java, C#.
Những điểm hạn chế của C++.
Giới thiệu môn học
9
VC
BB
Nội dung môn học1 2 3 4
Chương 4
Thuộc tính đối tượng và phương thức
Phương thức tạo lập (constructor).
Phương thức hủy (destructor).
Tham số của phương thức.
Định nghĩa phép toán (operator) cho
kiểu dữ liệu mới.
Phương thức chuyển đổi kiểu dữ liệu
(casting method).
Một số vấn đề liên quan khác.
Mẫu thiết kế Singleton và áp dụng.Giới thiệu môn học
10
VC
BB
Nội dung môn học1 2 3 4
Chương 5
Tổng quát hóa, đặc biệt hóa, đa hình
Tổng quát hóa và đặc biệt hóa.
Đa hình.
Kí hiệu UML.
Các vấn đề liên quan khi xét trong quan hệ
kế thừa.
Áp dụng.
Đối sánh giữa C++, Java và C#.
Giới thiệu môn học
11
VC
BB
Nội dung môn học1 2 3 4
Chương 6, 7
Lớp trừu tượng và giao diện lập trình
Phương thức thuần ảo.
Lớp trừu tượng (abstract class).
Giao diện lập trình (programming interface).
Áp dụng.
Các kiểu dữ liệu trừu tượng
Giới thiệu.
Những kiểu dữ liệu trừu tượng thông dụng.
Đồ án học tập.
Giới thiệu môn học
12
VC
BB
Nội dung môn học1 2 3 4
Chương 8
Liên hệ giữa các lớp
Các loại quan hệ.
Cài đặt các loại quan hệ.
Mẫu composite và áp dụng để lưu đối tượng
phức hợp.
Trường hợp đặc biệt.
Đồ án học tập (case study).
Giới thiệu môn học
13
VC
BB
Nội dung môn học1 2 3 4
Chương 9
Tập tin và lưu trữ đối tượng
Hệ thống nhập xuất chuẩn IO của C++.
Các đối tượng IO chuẩn và những thao tác.
Đọc dữ liệu từ tập tin.
Case study: Nạp đối tượng đã ghi sẵn
trên đĩa vào bộ nhớ.
Ghi dữ liệu lên tập tin: ofstream.
Phối hợp đọc và ghi dữ liệu trên cùng
một tập tin: fstream.
Đồ án học tập (case study).Giới thiệu môn học
14
VC
BB
Nội dung môn học1 2 3 4
Chương 10
Lớp tham số hóa bởi kiểu dữ liệu
Khái niệm và ý nghĩa của việc tham số hóa.
Tham số hóa cho hàm.
Tham số hóa cho lớp.
Vấn đề biên dịch chương trình có lớp tham số hóa.
Việc kế thừa các lớp tham số hóa.
Ứng dụng.
Đối sánh giữa C++, Java, C#.
Giới thiệu môn học
15
VC
BB
Nội dung môn học1 2 3 4
Chương 11, 12
Các thư viện lớp thông dụng
Các lớp container chuẩn của STL.
Các thuật toán tổng quát và thông dụng.
Số phức và các hàm toán học.
Xử lý lỗi và ngoại lệ
Giới thiệu.
Các ngoại lệ (exception).
Kỹ thuật assert và try-catch-throw.
Các kỹ thuật khác.
Giới thiệu môn học
16
VC
BB
Tài liệu tham khảo1 2 3 4
Tài liệu tham khảo (Tiếng Việt)
[OOP] PGS.TS. Trần Đan Thư, TS. Đinh Bá Tiến,
ThS. Nguyễn Tấn Trần Minh Khang, Lập trình
hướng đối tượng, NXB KHKT, 2010.
ThS. Đặng Bình Phương, Bài giảng PPLTHĐT.
Địa chỉ: www.mediafire.com/?s3ac23s0ekco4
Bài giảng, tài liệu tham khảo.
Một số bài giải (tham khảo).
Địa chỉ (moodle): http://courses.fit.hcmus.edu.vn
Nơi xem thông báo, trao đổi, thảo luận.
Giới thiệu môn học
17
VC
BB
Tài liệu tham khảo1 2 3 4
Tài liệu tham khảo (Tiếng Anh)
[Primer] Stephen Prata, C++ Primer Plus,
5th Edition, SAMS, 2005.
[FAQ] Marshall Cline, C++ FAQ Lite,
http://www.parashift.com/c++-faq-lite/
Bjarne Stroustrup, The C++ Programming
Language, 3rd Edition, Addison-Wesley, 1997.
Bruce Eckel, Thinking in C++, Prentice Hall, 1998.
Giới thiệu môn học
18
VC
BB
Tài liệu tham khảo1 2 3 4
Tài liệu tham khảo (Tiếng Anh)
Erich Gamma, Richard Helm, Ralph Johnson,
and John Vlissides, Design Patterns: Elements
of Reusable Objected-Oriented Software,
Addison-Wesley, 1995.
Eric Braude, Software Design – From
Programming to Architecture, John Wiley &
son, 2004.
Robert L. Kruse, Alexander J. RybaData, Data
Structures and Program Design in C++,
Prentice-Hall, Inc., 2000.
Giới thiệu môn học