You are on page 1of 6

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

KHOA CÔNG NGHỆ THÔNG TIN Độc lập - Tự do - Hạnh phúc


------------ =====================

ĐỀ CƯƠNG CHI TIẾT


HỌC PHẦN: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
1. Thông tin về các giảng viên học phần

Chức
Địa chỉ liên
STT Họ và tên danh, Điện thoại/Email Ghi chú
hệ
học vị

Trưởng học
1 Võ Đình Hiếu TS BM CNPM hieuvd@vnu.edu.vn
phần

2 Nguyễn Việt Hà PGS, TS BM CNPM hanv@vnu.edu.vn Giảng viên

3 Vũ Thị Hồng Nhạn TS BM CNPM vthnhan@vnu.edu.vn Giảng viên

4 Tô Văn Khánh TS PTN Nhúng khanhtv@vnu.edu.vn Giảng viên

5 Nguyễn Đức Anh ThS BM CNPM nguyenducanh@vnu.edu.vn Giảng viên

2. Thông tin chung về học phần


- Tên học phần: Lập trình hướng đối tượng
- Mã số học phần: INT2204
- Số tín chỉ: 3
- Giờ tín chỉ đối với các hoạt động (LT/ThH/TH): 30/15/0
- Học phần tiên quyết: INT1008 – Nhập môn lập trình
- Các yêu cầu đối với học phần (nếu có):
- Bộ môn, Khoa phụ trách học phần: Bộ môn CNPM, Khoa CNTT

3. Mục tiêu học phần


Sau khi hoàn thành học phần, sinh viên sẽ hiểu các khái niệm hướng đối tượng; nguyên lý
hoạt động của các ngoại lệ (exception) và các dòng vào ra cơ bản, nắm được khái niệm căn
bản về lập trình tổng quát và làm quen với các cấu trúc dữ liệu tổng quát trong ngôn ngữ Java;
có khả năng đưa ra một giải pháp lập trình hướng đối tượng cho các bài toán ở quy mô tương
đối đơn giản, cài đặt được thiết kế hướng đối tượng cho trước; có khả năng tự học các ngôn
ngữ lập trình hướng đối tượng khác.
Sinh viên cũng sẽ có ý thức rèn luyện kỹ năng làm việc chính xác, cẩn thận và theo phong
cách công nghiệp, hệ thống.
4. Chuẩn đầu ra

Mục tiêu
Bậc 1 Bậc 2 Bậc 3 Bậc 4
Nội dung
1. Kiến thức
Biết vai trò của việc lập trình trong phát triển phần
x
mềm
Sử dụng được một ngôn ngữ lập trình hướng đối
tượng, hiểu các khái niệm và viết được chương trình x
phần mềm theo phương pháp hướng đối tượng
2. Kỹ năng (nếu có)
Lập trình thành thạo và biết sử dụng các công cụ phần
x
mềm hỗ trợ;
Có kỹ năng giải quyết vấn đề chuyên môn, x
Có kỹ năng mô hình hóa (hiểu kí pháp UML đơn
x
giản)
Có năng lực phân tích yêu cầu, x
Có năng lực thiết kế giải pháp, x
Có năng lực thực thi giải pháp, x

5. Tóm tắt nội dung học phần


Học phần đi sâu giới thiệu cách tiếp cận hướng đối tượng đối với việc lập trình, với ngôn ngữ
minh họa là Java, các khái niệm cơ bản của lập trình hướng đối tượng như đối tượng, lớp,
phương thức, thừa kế, đa hình, và interface, đi kèm theo là các nguyên lý căn bản về trừu
tượng hóa, tính mô-đun và tái sử dụng trong thiết kế hướng đối tượng.

6. Nội dung chi tiết học phần


Chương 1. Giới thiệu về ngôn ngữ Java
1.1. Lịch sử ngôn ngữ Java
1.2. Môi trường lập trình Java, máy ảo, và JDK
1.3. Giới thiệu về các loại chương trình Java: application và applet
1.4. Dịch và chạy chương trình
Chương 2. Các khái niệm về lập trình hướng đối tượng
2.1. Lịch sử ngôn ngữ lập trình
2.2. So sánh lập trình thủ tục và lập trình hướng đối tượng
2.3. Khái niệm hướng đối tượng và mục tiêu của thiết kế hướng đối tượng
2.4. Sơ lược về các khái niệm cơ bản: trừu tượng hóa, đối tượng, lớp, thông điệp, đóng
gói, che dấu thông tin, thừa kế.
Chương 3. Lớp và đối tượng trong Java:
3.1. Vị trí của đối tượng trong chương trình
3.2. Cài đặt và sử dụng lớp và đối tượng
3.3. Đối tượng và tham chiếu đối tượng
3.4. Overloading
3.5. Constructor
3.6. Giới thiệu và phân biệt khái niệm implementation/interface
3.7. Thể hiện của khái niệm đóng gói và che dấu thông tin trong cài đặt lớp
3.8. Phân biệt các kiểu dữ liệu cơ bản và đối tượng
3.9. Bản chất của đối tượng và tham chiếu đối tượng
3.10. Cơ chế phép gán và các phép so sánh
3.11. Cơ chế truyền tham số và giá trị trả về
3.12. Tham chiếu this
3.13. Các đặc điểm đặc thù ngôn ngữ như thành viên static, package, tham số dòng
lệnh
3.14. Quan hệ composition giữa các đối tượng
Chương 4. Thừa kế
4.1. Khái niệm thừa kế
4.2. Cài đặt quan hệ thừa kế trong Java
4.3. Quyền truy nhập và che dấu thông tin
4.4. Thành viên final, constructor
4.5. Tái sử dụng bằng quan hệ thừa kế, so sánh với composition
Chương 5. Đa hình
5.1. Upcast và downcast
5.2. Cơ chế liên kết động và liên kết tĩnh
5.3. Lớp trừu tượng và phương thức trừu tượng
5.4. Đa thừa kế và interface
5.5. Mẫu thiết kế: Protototype và Template Method
Chương 6. Ngoại lệ
6.1. Ngoại lệ là gì và tại sao cần, so sánh với các cơ chế bắt và xử lý lỗi truyền thống
6.2. Cơ chế ném và bắt ngoại lệ
6.3. Định nghĩa các ngoại lệ mới
6.4. Quan hệ giữa ngoại lệ và đa hình
Chương 7. Lập trình tổng quát
7.1. Lớp tổng quát
7.2. Phương thức tổng quát
7.3. Kiểu con và wildcard
7.4. Hạn chế và ràng buộc tham số kiểu
7.8. Quan hệ giữa lớp tổng quát và thừa kế
Chương 8. Các cấu trúc dữ liệu (chỉ giới thiệu thư viện chuẩn)
8.1. Các cấu trúc dữ liệu cơ bản và các lớp wrapper tương ứng String, StringBuffer,
Math, Array
8.2. Các kiểu dữ liệu container tổng quát (list, set....)
Chương 9. Luồng dữ liệu
9.1. Khái niệm về luồng dữ liệu
9.2. Cơ chế tổng quát lắp ráp các luồng dữ liệu khi đọc/ghi
9.3. Các luồng cơ bản để xử lý file
9.4. Áp dụng cơ chế chung cho các thao tác đọc ghi với các loại nguồn dữ liệu khác, ví
dụ kết nối mạng.
Chương 10. Thiết kế hướng đối tượng
10.1 Giới thiệu các nguyên tắc xây dựng thiết kế hướng đối tượng tốt
10.2. Giới thiệu sơ lược về mẫu thiết kế và 3 mẫu điển hình.
Chương 11. Các chủ đề mở rộng
Sinh viên tự nghiên cứu các chủ đề tự chọn xung quanh lập trình Java và các ngôn ngữ
hướng đối tượng khác

7. Học liệu
7.1. Học liệu bắt buộc
[1] Trần Thị Minh Châu, Nguyễn Việt Hà, Giáo trình Lập trình hướng đối tượng với Java,
NXB ĐHQG 2013.
7.2 Học liệu tham khảo
[2] Oracle, The Java tutorials, https://docs.oracle.com/javase/tutorial/
[3] Joshua Bloch, Effective Java 3rd Edition, Addison-Wesley Professional, 2017

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ý thuyết 2 1-15 Giảng đường/Trực tuyến
Phòng máy/Giảng
Thực hành 2 2-15
đường/Trực tuyến
Tự học bắt buộc

8.2 Lịch trình dạy cụ thể

Nội dung giảng dạy lý thuyết/thực


Tuần Nội dung sinh viên tự học
hành
Giới thiệu về học phần và ngôn ngữ Chuẩn bị môi trường lập trình, dịch và
1 Java chạy chương trình đầu tiên
Các khái niệm về lập trình hướng đối
2 tượng Sử dụng Git và maven

3 Đối tượng và lớp Viết unit test

4 Đối tượng và lớp (tiếp) Bài tập

5 Đối tượng và lớp (tiếp) Bài tập

6 Thừa kế và đa hình Bài tập

7 Thừa kế và đa hình (tiếp) Bài tập

8 Lớp trừu tượng Bài tập

9 Interface Bài tập


10 Ngoại lệ Bài tập

11 Lập trình tổng quát Bài tập

12 Cấu trúc dữ liệu Bài tập

13 Luồng dữ liệu Bài tập

14 Thiết kế hướng đối tượng Bài tập


Các chủ đề mở rộng
15
Tổng kết

9. Chính sách đối với học phần và các yêu cầu khác của giảng viên
- Sinh viên nghỉ từ 20% số buổi học lý thuyết (3 buổi học) trở lên và thiếu bài tập sẽ
không được thi cuối kỳ.
- Sinh viên tích cực làm bài tập lớn với nội dung mở rộng hoặc tự học chủ đề mở rộng
sẽ được xem xét cộng điểm học phần.
- Với các nội dung liên quan đến lập trình (bài tập nhỏ, vừa, lớn) nếu sinh viên gian lận
mã nguồn thì sẽ bị đánh trượt đối với cả học phần.
10. Phương pháp, hình thức kiểm tra, đánh giá kết quả học tập học phần
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ố


Các bài tập lập trình nhỏ Đánh giá kỹ năng lập
Các bài tập vừa và nhỏ Dự án vừa và nhỏ làm việc trình, xây dựng hệ 25%
cá nhân thống vận dụng kiến
thức đã học
Thi viết Đánh giá kiến thức sinh
Kiểm tra giữa kỳ viên đạt được sau từng 15%
chủ đề
Thi viết/vấn đáp có kết Đánh giá kiến thức, kỹ
Thi kết thúc học phần hợp thêm bài tập lớn năng sinh viên đạt được 60%
khi kết thúc học phần
Tổng 100%
10.2. Tiêu chí đánh giá
- Tiêu chí đánh giá cụ thể với từng đầu điểm của học phần:
+ Bài tập vừa và nhỏ: sử dụng được các công cụ và thư viện, áp dụng được các mục kiến thức
đã học
+ Bài tập lớp: có kĩ năng lập trình và giải quyết vấn đề, vận dụng tổng hợp kiến thức đã học
+ Kiểm tra giữa kỳ: nắm được các khái niệm lập trình hướng đối tượng, vận dụng được khi
thiết kế giải pháp cho bài toán nhỏ.
+ Kết thúc môn: nắm được kiến thức, kỹ năng đã học trong cả 15 tuần của học kỳ.
10.3. Lịch thi và kiểm tra
Hình thức thi và kiểm tra Thời gian
Các bài tập lớn và nhỏ Rải trong 15 tuần
Kiểm tra giữa kỳ Tuần 8
Thi cuối kỳ Theo lịch của Trường

Duyệt Chủ nhiệm Khoa Chủ nhiệm bộ môn

You might also like