GV: sử dụng slide, video trình bày các nội dung: - Cấu trúc chung chương trình java; - Khai báo và sử dụng hằng, biến, biểu thức, toán tử, phép toán trong java - Giới thiệu lớp bao bọc v
Trang 1BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
HỒ SƠ BÀI GIẢNG
MÔN HỌC: LẬP TRÌNH JAVA
Bài giảng: “Xây dựng và thực thi đối tượng”
1 ĐỀ CƯƠNG CHI TIẾT
2 ĐỀ CƯƠNG BÀI GIẢNG
3 GIÁO ÁN LÝ THUYẾT
4 SLIDE BÀI GIẢNG
5 TÀI NGUYÊN BÀI GIẢNG
Người thực hiện: Vũ Văn Hiệu
Hà Nội, Tháng 5/2020
Trang 2TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
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 HỌC PHẦN
1 Thông tin về học phần
Tên học phần (Tiếng Việt) Lập trình Java
Tên học phần (Tiếng Anh) Fundamentals of the Java Programming
Số tín chỉ:
TS(LT;TH/TN;TL/BTL/ĐAMH/TT) 3(2;1;0)
Bộ môn (Khoa phụ trách) Công nghệ phần mềm (CNTT)
ThS Vũ Thị Dương, bộ môn Công nghệ phần mềm, khoa Công nghệ thông tin
3 Mô tả tóm tắt học phần (Course description)
Học phần nằm trong khối kiến thức chuyên ngành của kỹ thuật phần mềm nhằm củng
cố các kiến thức đã học cho sinh viên về kỹ thuật lập trình, lập trình hướng đối tượng Môn học này trang bị các kiến thức cơ bản lập trình Java Ngoài ra môn học còn trang bị kiết thức về lập trình và xử lý giao diện cơ bản
4 Mục tiêu học phần (Course objectives)
G1 Có khả năng vận dụng kiến thức lập trình java vào giải quyết một
G2 Xác định và phát biểu được bài toán cần giải quyết; có thế mô hình
hóa bài toán bằng các phương pháp đã học
2.1.2 2.2.3 G3 Có khả năng làm việc nhóm, thuyết trình trước đám đông 3.1.2 G4 Xác định được mục tiêu, yêu cầu bài toán 4.3.1
Trang 35 Chuẩn đầu ra của học phần (Learning Outcomes)
Chuẩn đầu
ra của HP Mô tả chuẩn đầu ra của HP
Chuẩn đầu ra CTĐT
Mức
độ (I/T/U)
2.1.2
I/U
L2.2 Xây dựng được ứng dụng java cơ bản 2.2.3 T G3 L3.1 Hợp tác nhóm hoàn thành mục tiêu yêu cầu 3.1.2 I/U G4 L4.1 Xác định được mục tiêu, yêu cầu bài toán; 4.3.1 I/U
6 Nội dung, lịch trình tổ chức dạy-học và đánh giá
6.1 Nội dung tổng quát và phân phối thời gian
Nội dung
Thời gian tự học của SV (giờ)
Thời gian của học phần
Lý thuyết (giờ)
Thực hành/
Thí nghiệm (giờ)
Tiểu luận/
BTL/
ĐaMH/T
T (giờ)
Tổng
số (giờ)
Trên lớp (giờ)
Học trực tuyến (giờ)
Chương 1: Tổng quan về lập
Chương 2: Lập trình hướng đối
Chương 3: Xử lý mảng và
Chương 4: Xử lý ngoại lệ và cơ
Chương 5: Cấu trúc dữ liệu tập
Chương 6: Lập trình giao diện
Trang 46.2 Nội dung chi tiết và lịch trình tổ chức dạy-học
# Nội dung Phương pháp và hoạt động dạy-học chính Chuẩn
đầu ra của HP
- Các loại ứng dụng java có thể thực hiện;
GV: Giao bài tập làm tại lớp: Kiểm tra kiến thức của sv trên
về lịch sử hình thành và các loại ứng dụng trong java;
SV: Thực hiện bài tập tại lớp;
GV sử dụng slide, video giới thiệu về:
- Công cụ và môi trường lập trình java; Các phương pháp tìm kiếm tài liệu và công cụ ứng dụng
- Cài đặt và triển khai công cụ
Trên lớp: Thuyết trình; Học dựa trên vấn đề
GV: sử dụng slide, video trình bày các nội dung:
- Cấu trúc chung chương trình java;
- Khai báo và sử dụng hằng, biến, biểu thức, toán tử, phép toán trong java
- Giới thiệu lớp bao bọc và các kiểu dữ liệu trong java
- Giới thiệu các cấu trúc điều khiển của java SV: thực hiện các câu hỏi vấn đáp so sánh với các ngôn nữ lập trình đã học và nắm vững các bài toán minh họa
GV: Đánh giá mức đội nắm vững bài dựa trên các phát biểu, thảo luận của cá nhân về sự khác nhau giữa khai báo, cú pháp cấu trúc điều khiển trong java với các ngôn ngữ lập trình khác
GV: Giao bài tập sinh viên làm tại lớp thực hiện bài toán có các khai báo và các xử lý thông qua các cấu trúc điều khiển
L1.1
Trang 5SV: Thực hiện làm bài tập tại lớp
GV: Đánh giá bài tập áp dụng sinh viên đã thực hiện
Về nhà:
GV: Giao và gợi ý sinh viên hoàn thành bài tập về nhà SV: Thực hiện cài đặt các bài toán bằng máy hoặc viết ra giấy giải các bài toán được giao
GV: sử dụng slide, video trình bày các nội dung:
- Tổng kết nội dung đã học về công cụ,cơ sở lập trình,
- Đưa ra bài tập áp dụng
- Giới thiệu chương tiếp theo
- Giải đáp các thắc mắc trong chương
SV: Tổ chức hoạt động nhóm - Tổng hợp và vẽ mô hình xoắn ốc, lặp tăng dần xác định và biểu diễn lớp; trình bày nội dung được giao
GV: Đánh giá dựa trên các phát biểu, thảo luận của nhóm
về các mô hình phát triển phần mềm và phương pháp mô hình hóa biểu diễn đối tượng
Giáo viên: Củng cố kiến thức mô hình hóa lớp, đối tượng biểu diễn cài đặt lớp, đối tượng
Về nhà:
GV: Giao các bài tập khảo sát bằng lời để sinh viên có các
L2.1; L3.1;
Trang 6căn cứ thực hiện mô hình hóa theo các bước đã học SV: Biểu diễn các bài toán được giao theo từng bước của
mô hình vừa thực hiện
6
Xây dựng và
thực thi đối
tượng
Trên lớp: Thuyết trình; Học dựa trên vấn đề
GV: sử dụng slide, video trình bày các nội dung:
- Xây dựng dựng lớp: thuộc tính, phương thức
- Hiện thực lớp: khai báo, sử dụng lớp (Lưu ý: lớp lồng nhau, lớp hằng, phương thức hằng, thuộc tính hằng, thuộc tính và phương thức tĩnh, vv)
GV: Giao bài tập tại lớp xây dựng và sử dụng lớp SV: thực hiện các bài tập tại lớn về xây dựng và sử dụng lớp
GV: Đánh giá dựa trên các phát biểu của cá nhân về đặc điểm lớp, đối tượng trong quá trình thực hiện bài tập GV: Giao và gợi ý bài tập về nhà
Về nhà:
SV: Thực hiện mô hình hóa bài toán theo các bước cài đặt triển khai trên máy cá nhân hoặc giấy
Thực hành:
GV: Giao bài tập và hướng dẫn thực hành
SV: Triển khai bài thực hành trên máy tính GV: Hướng dẫn xử lý tình huốn và đánh giá sinh viên dựa trên bài tập thực thành trên phòng máy về xây dựng và sử dụng lớp
L1.1 L2.1 L2.2
Trên lớp: Thuyết trình; Học dựa trên vấn đề
GV: sử dụng slide, video trình bày các nội dung:
- Kế thừa, đa hình và truyền thông điệp được biểu diễn thế nào trong java
- Giới thiệu hiện thực lớp kế thừa, đa hình trong java GV: Phát vấn các câu hỏi cho sinh viên thảo luận theo nhóm
SV: hoạt động nhóm giải quyết yêu cầu giáo viên đặt ra GV: Đánh giá mức độ hiểu bài của sinh viên dựa trên các phát biểu, thảo luận của cá nhân về đa hình và kế thừa GV: Giao bài tập tại lớp minh họa hướng đối tượng với java
L1.1; L2.1; L2.2
Trang 7SV: thực hiện các bài tập minh họa hướng đối tượng với java
GV: Đánh giá dựa trên yêu cầu triển khai các bài tập về hướng đối tượng trong java
Về nhà:
SV: Làm các bài tập được giao trên máy tính cá nhân hoặc giấy
Thực hành:
GV: Giao bài tập và hướng dẫn thực hành
SV: Triển khai bài thực hành trên máy tính GV: Hướng dẫn xử lý tình huốn và đánh giá sinh viên dựa trên bài tập thực thành trên phòng máy về lập trình hướng đối tượng với java
8 Xử lý mảng và chuỗi trong JAVA
SV: thảo luận theo nhóm và giải quyết vấn đề giáo viên giao
GV: Đánh giá dựa trên các phát biểu, thảo luận của nhóm
về thời điểm khai báo và xin cấp phát phần tử mảng GV: sử dụng slide giới thiệu khai báo và sử dụng mảng trong java; củng cố lưu ý kiến thức trọng tâm cần ghi nhớ
L1.1; L3.1
9
Mảng một
chiều
Trên lớp: Thuyết trình; Học dựa trên vấn đề
GV: sử dụng slide, video trình bày các nội dung:
- Khai báo và thao tác với mảng 1 chiều
- Khai báo và thao tác với dữ liệu kiểu mảng 1 chiều:
Tìm kiếm, sắp xếp
- Minh họa khai báo và sử dụng mảng 1 chiều GV: Giao bài tập tại lớp sinh viên thực hiện: Khai báo,
L1.1; L2.2
Trang 8nhập xuất và thao tác với mảng 1 chiều SV: thực hiện các bài tập áp dụng mình họa GV: Đánh giá dựa trên yêu cầu khai báo, cấp phát mảng, nhập xuất mảng, tìm kiếm, sắp xếp, điều chỉnh mảng 1 chiều và giao bài tập về nhà
Về nhà:
SV: Làm các bài tập được giao trên máy tính cá nhân hoặc giấy
Thực hành:
GV: Giao bài tập và hướng dẫn thực hành
SV: Triển khai bài thực hành trên máy tính GV: Hướng dẫn xử lý tình huống và đánh giá sinh viên dựa trên bài tập thực thành trên phòng máy về mảng 1 chiều
10
Mảng nhiều
chiều
Trên lớp: Thuyết trình; Học dựa trên vấn đề
GV: sử dụng slide, video trình bày các nội dung:
- Khai bào và thao tác với mảng nhiều chiều:
- Thực hiện vác thao tác: Tìm kiếm, sắp xếp trong mảng nhiều chiều và minh họa thao tác trên mảng 1 chiều GV: Giao bài tập tại lớp thực hiện các thao tác với mảng nhiều chiều
SV: Thực hiện các bài tập áp dụng mình họa mảng nhiều chiều
GV: Đánh giá mức độ tiếp thu kiến thức của sinh viên dựa trên cơ chế cấp phát phần tử và thao tác với dữ liệu trên mảng; giao bài tập về nhà
Về nhà:
SV: Làm các bài tập được giao trên máy tính cá nhân hoặc giấy
Thực hành:
GV: Giao bài tập và hướng dẫn thực hành
SV: Triển khai bài thực hành trên máy tính GV: Hướng dẫn xử lý tình huống và đánh giá sinh viên dựa trên bài tập thực thành trên phòng máy về mảng nhiều chiều
L1.1; L2.2
11
Mảng đối Trên lớp: Thuyết trình; Học dựa trên vấn đề L1.1;
L2.2
Trang 9tượng GV: sử dụng slide, video trình bày khai báo và sử dụng
mảng đối tượng: tìm kiếm, sắp xếp, tạo mới, chỉnh sửa SV: Tiếp thu kiến thức và thực hiện các bài tập thao tác với mảng đối tượng trong java
GV: Đánh giá dựa trên mức độ hiểu biết và cách giải quyết các bài toán thao tác với mảng đối tượng trong java
12
Chuỗi vá các
thao tác xử lý
chuỗi
Trên lớp: Thuyết trình; Học dựa trên vấn đề;
GV: sử dụng slide trình bày khai báo và xử lý thông tin với chuỗi: tìm kiếm, so sánh, sắp xếp, chỉnh sửa chuỗi
SV: Tiếp thu kiến thức và thực hiện các bài toàn áp dụng
xử lý chuỗi: ghép, tách, chèn, xóa, sửa thông tin trong chuỗi
GV: Đánh giá dựa trên yêu cầu triển khai một số bài tập
áp dụng thao tác tìm kiếm, tách, ghép chuỗi
Về nhà:
SV: Làm các bài tập được giao trên máy tính cá nhân hoặc giấy
Thực hành:
GV: Giao bài tập và hướng dẫn thực hành
SV: Triển khai bài thực hành trên máy tính GV: Hướng dẫn xử lý tình huống và đánh giá sinh viên dựa trên bài tập thực thành trên phòng máy về các bài thao tác với chuỗi
Trang 10SV: Làm các bài tập phần mảng, chuỗi trên máy tính cá nhân hoặc viết ra giấy
Xử lý ngoại lệ và cơ chế gom rác trong java
GV: Tổ chức hoạt động theo nhóm tìm ra cơ chế xử lý lỗi
và giải phóng bộ nhớ tạm sinh viên đã thực hiện trong các ngôn ngữ lập trình đã học
SV: Thành lập nhóm, tìm cách thức xử lý lỗi và giải phóng
bộ nhớ tạm đã học Trao đổi tìm hiểu với nhóm được chỉ định
GV: Đánh giá dựa trên các phát biểu, thảo luận của nhóm
về các loại lỗi, cơ chế xử lý lỗi và giải phóng bộ nhớ tạm của các nhóm trao đổi
GV: sử dụng slide, video trình bày các nội dung: khái niệm lỗi và các vấn đề liên quan; cơ chế quản lý lỗi trong java
SV: Tiếp thu kiến thức và thực hiện minh họa cơ chế bẫy lỗi lan truyền
GV: Tổng kết và giao và gợi ý bài tập về nhà
L1.1 L2.1 L3.1
15
Xử lý ngoại lệ
trong java
Trên lớp: Thuyết trình ; Học dựa trên vấn đề:
GV: sử dụng slide, video trình bày các nội dung:
- Cơ chế lan truyền lỗi
- Cơ chế bẫy và chặn lỗi lan truyền
- Tự định nghĩa lớp xử lý ngoại lệ; minh họa bài toán mẫu
GV: Thành lập nhóm và giao bài xử lý bẫy lõi lan truyền SV: Thực hiện bài toán theo nhóm bẫy lỗi và xử lý lỗi lan truyền theo yêu cầu giáo viên Trao đổi với nhóm khác
và trình bày bài toán trước lớp GV: Đánh giá mức độ nhận thức của sinh viên thông qua các phát biểu và thảo luận nhóm về vấn đề được giao
Trang 11GV: Giao bài tập và hướng dẫn thực hành
SV: Triển khai bài thực hành trên máy tính thực hiện xử lý lỗi lan truyền và gom rác trong java
GV: Hướng dẫn xử lý tình huống và đánh giá sinh viên dựa trên bài tập thực thành trên phòng máy về xử lý lỗi trong java
GV: Giao bài tập và hướng dẫn thực hành
SV: Triển khai bài thực hành trên máy tính GV: Hướng dẫn xử lý tình huống và đánh giá sinh viên dựa trên bài tập thực thành trên phòng máy về cơ chế gom rác
SV: Thực hiện bài kiểm tra thường xuyên 1 trên máy tính
L1.1; L2.2
Tóm tắt và bài
tập chương
Trên lớp: Thuyết trình:
GV:Tổng kết kiến thức đã học về lỗi, quá trình quản lý và
xử lý lỗi cũng như cơ chế gom rác trong java Cấu trúc dữ liệu tập hợp trong java
Trang 12xuất
GV: Đánh giá mức độ tự học, tổng hợp kiến thức và trình bày vấn đề thông qua bài toán được giao
GV: sử dụng slide giới thiệu và củng cố kiến thức giao diện List; lớp dẫn xuất vector và ArrayList; các phương thức thường dùng trong lớp dẫn xuất
GV: Nêu bài toán minh họa thực hiện minh họa mẫu 1 phần các thao tác thêm, xóa sửa, so sánh, tìm kiếm sử dụng các phép toán sử dụng giao diện List và các lớp dẫn xuất
SV: Thực hiện một số phần mình họa thao tác với tập hợp qua hướng dẫn của gv trên lớp
GV: Góp ý xây dựng bài toán đúng hướng theo hướng đối tượng với java
Thực hành:
GV: Giao bài tập và hướng dẫn thực hành
SV: Triển khai bài thực hành trên máy tính GV: Hướng dẫn xử lý tình huống và đánh giá sinh viên dựa trên bài tập thực thành trên phòng máy về giao diện List và các lớp dẫn xuất
Giao diện Set
GV: Đánh giá mức độ tự học, tổng hợp kiến thức và trình bày vấn đề thông qua bài toán được giao
GV: sử dụng slide giới thiệu và củng cố kiến thức trọng tâm giao diện Set; các lớp dẫn xuất HashSet; TreeSet; các phương thức thường dùng trong lớp dẫn xuất
GV: Nêu bài toán minh họa 1 phần các thao tác thêm, xóa
L1.1; L2.1; L2.2; L3.1; L4.1
Trang 13sửa, so sánh, tìm kiếm sử dụng các phép toán trên tập hợp
sử dụng giao diện SET SV: Thực hiện minh họa tiếp các tháo tác trên tập hợp theo yêu cầu bài tập
GV: Góp ý xây dựng bài toán đúng hướng theo hướng đối tượng với java
GV: Giao bài tập và hướng dẫn thực hành
SV: Triển khai bài thực hành trên máy tính GV: Hướng dẫn xử lý tình huống và đánh giá sinh viên dựa trên bài tập thực thành trên phòng máy về SET và các lớp dẫn xuất
GV: sử dụng slide giới thiệu và củng cố kiến thức trọng tâm giao diện MAP; các lớp dẫn xuất TreeMap; các phương thức thường dùng trong lớp dẫn xuất
GV: Nêu bài toán minh họa 1 phần các thao tác thêm, xóa sửa, so sánh, tìm kiếm sử dụng các phép toán trên tập hợp
sử dụng giao diện Map SV: Thực hiện minh họa tiếp các tháo tác trên tập hợp theo yêu cầu bài tập
GV: Góp ý xây dựng bài toán đúng hướng theo hướng đối tượng với java
Trang 14giấy; tìm hiểu nội dung kiến thức được giao
Thực hành:
GV: Giao bài tập và hướng dẫn thực hành
SV: Triển khai bài thực hành trên máy tính GV: Hướng dẫn xử lý tình huống và đánh giá sinh viên dựa trên bài tập thực thành trên phòng máy về Map và các lớp dẫn xuất
và minh họa 1 phần kiến thức
SV: Hỏi đáp và hoàn thành bài toán đã nêu
Về nhà:
SV: Làm các bài tập được giao trên máy tính cá nhân hoặc giấy
GV: Giao nhóm tìm hiểu và chuẩn bị nội dung bài toán:
Các cách quản lý giao diện trong java
Thực hành:
GV: Giao bài tập và hướng dẫn thực hành
SV: Triển khai bài thực hành trên máy tính GV: Hướng dẫn xử lý tình huống và đánh giá sinh viên dựa trên bài tập thực thành trên phòng máy về lập trình tổng quát
L1.1; L2.1; L2.2; L3.1; L4.1
GV: Giao bài tập và hướng dẫn thực hành
Trang 15dụng các
Layout
nhóm; thảo luận SV: Trình bày tìm hiểu về các cách quản lý giao diện trong java; minh họa thông qua bài toán ví dụ điển hình theo nhóm
GV: Đánh giá dựa trên trình bày của sinh viên và hợp tác trong nhóm
GV: Sử dụng slide củng cố và giới thiệu các phương pháp quản lý giao diện; minh chứng lý thuyết thông qua một vài
ví dụ điển hình
SV: Tiếp thu kiến thức tổ chức thảo luận tìm điểm giống khác nhau của các trình quản lý giao diện trong java GV: Tổng hợp và củng cố kiến thức về quản lý và sử dụng các layout
GV: Giao bài tập và hướng dẫn thực hành
SV: Triển khai bài thực hành trên máy tính GV: Hướng dẫn xử lý tình huống và đánh giá sinh viên dựa trên bài tập thực thành trên phòng máy về tổ chức và quản lý các đối tượng giao diện
GV: Đánh giá dựa trên trình bày của sinh viên GV: Sử dụng slide củng cố và giới thiệu các điều khiển giao diện cơ bản và các thuộc tính hay dùng; đưa ra minh họa xây dựng giao diện ứng dụng 1 số thành phần cơ bản
SV: Thảo luận lựa chọn nhóm đối tượng giao diện hay dùng
GV: giao và gợi ý bài tập về nhà: Thiết kế và xây dựng giao diện cho bài toán quản lý sử dụng các thành phần Swing GUI đơn giản
L1.1 L2.2; L3.1
Trang 16 Về nhà:
SV: thiết kế các nguyên mẫu giao diện có các thành phần
cơ bản đã học trên máy tính cá nhân hoặc giấy cho các bài toán được giao; đọc và chuẩn bị các xử lý sự kiện trên giao diện gắn với ví dụ điển hình theo nhóm
Thực hành:
GV: Giao bài tập và hướng dẫn thực hành
SV: Triển khai bài thực hành trên máy tính GV: Hướng dẫn xử lý tình huống và đánh giá sinh viên dựa trên bài tập thực thành trên phòng máy về xây dựng, quản lý giao diện có các thành phần cơ bản được giao
25
Xử lý sự kiện
trên giao diện
Trên lớp: Học dựa trên vấn đề: Hoạt động nhóm; thảo luận
SV: Trình bày tìm hiểu về các xử lý sự kiện trên giao diện;
minh họa thông qua bài toán ví dụ điển hình theo nhóm
GV: Đánh giá dựa trên trình bày của sinh viên GV: Sử dụng slide củng cố và giới thiệu các sự kiện xử lý trên giao diện thường dùng; bắt và viết mã lệnh cho các sự kiện đó thông qua ứng dụng điển hình
SV: Thảo luận lựa chọn các sự kiện cơ bản hay sử dụng GV: giao và gợi ý bài tập về nhà: Thiết kế và xây dựng giao diện; xử lý sự kiện cho bài toán quản điển hình
Về nhà:
SV: Làm các bài tập được giao trên máy tính cá nhân hoặc giấy
Thực hành:
GV: Giao bài tập và hướng dẫn thực hành
SV: Triển khai bài thực hành trên máy tính GV: Hướng dẫn xử lý tình huống và đánh giá sinh viên dựa trên bài tập thực thành trên phòng máy về xây dựng ứng dụng quản lý, viết mã nguồn cho các điều khiển trên giao diện theo yêu cầu bài toán
L1.1 L2.2; L3.1
Thực hành:
L1.1; L2.2
Trang 17GV: Giao bài tập kiểm tra xây dựng ứng dụng đơn giản có giao diện và xử lý sự kiện trên giao diện
SV: Bài kiểm tra thường xuyên 2 trên máy tính
6.3 Quy định đánh giá học phần và các chuẩn đầu ra của học phần
Thứ
tự Đánh giá
Trọng số
để tính điểm HP (%)
CĐR đƣợc đánh giá
Hình thức đánh giá
Điểm tối
đa của CĐR trong lần đánh giá
Trọng số
để đánh giá theo CĐR (%)
[1] Nguyễn Bá Nghiễn; Lập trình java; NXB thông tin và truyền thông 2018
[2] Đoàn Văn Ban, Lập trình Java nâng cao, NXB Khoa học và Kỹ thuật, Hà Nội
2016
[3] Đoàn Văn Ban; Lập trình hướng đối tượng với Java; NXB Khoa học và kỹ thuật,
Hà nội 2016
- Sách, tài liệu tham khảo:
[1] Cay S Horstmann; Core Java - Volume I - Fundamentals, Tenth Edition; NXB Prentice Hall; 2015
[2] Cay S Horstmann; Core Java - Volume II - Advanced Features ; NXB Prentice Hall; 2017
[3] Florence Tiu Balagtas; Introduction to ProgrammingI- version 1.3; NXB J.E.D.I (ebook)