Môn học cung cấp cho sinh viên các kiến thức:
-Các khái niệm về ngôn ngữ lập trình Java và phương pháp lập trình hướng đối tượng trong Java;
-Các thành phần cơ bản và nâng cao của ngôn ngữ lập trình Java;
-Các nguyên lý thiết kế và xây dựng lớp, đối tượng trong Java;
-Cơ chế thu gom rác và xử lý ngoại lệ của Java;
-Các thành phần của AWT, Swing.
Bài 1 – Giới thiệu môn học Ngôn ngữ lập trình Java
Bài 2 – Lịch sử ra đời và đặc điểm của ngôn ngữ lập trình Java
Bài 3 – Phân biệt rõ Java Development Kit (JDK), JRE, JVM trong Java
Bài 4 – Cách chạy một chương trình Java và các Java IDE thường dùng
Bài 5 – Các thành phần cơ bản trong một chương trình Java
Bài 6 – Programming style và programming errors trong Java
Bài 7 – Khái niệm biến (variable) và cách khai báo biến trong Java
Bài 8 – Các kiểu dữ liệu cơ bản và kiểu chuỗi (String) trong Java
Bài 9 – Nhập và xuất cơ bản (basic input and output) trong Java
Bài 10 – Các toán tử (operators) trong Java
Bài 11 – Các cấu trúc điều khiển rẽ nhánh if else trong Java
Bài 12 – Câu lệnh switch case và toán tử điều kiện trong Java
Bài 13 – Các cấu trúc điều khiển vòng lặp for và for-each trong Java
Bài 14 – Các cấu trúc điều khiển vòng lặp while và do while trong Java
Bài 15 – Định nghĩa và gọi phương thức (method) trong Java
Bài 16 – Truyền tham trị và tham chiếu cho phương thức trong Java
Bài 17 – Khai báo và khởi tạo mảng 1 chiều (one dimensional array) trong Java
Bài 18 – Kỹ thuật lập trình với mảng 1 chiều trong Java
Bài 19 – Khai báo và khởi tạo mảng 2 chiều (two dimensional array) trong Java
Bài 20 – Kỹ thuật lập trình với mảng 2 chiều trong Java
Bài 21 – Kỹ thuật lập trình sao chép mảng (copy array) trong Java
Bài 22 – Lớp (class) và cách xây dựng lớp trong Java
Bài 23 – Đối tượng (object) và cách sử dụng đối tượng trong Java
Bài 24 – Các thành viên hằng (final) và tĩnh (static) của lớp trong Java
Bài 25 – Các loại hàm khởi tạo (constructor) của lớp trong Java
Bài 26 – Xây dựng lớp trong Java với nạp chồng (overloading) và kết tập (aggregation)
Bài 27 – Tính kế thừa (inheritance) trong Java
Bài 28 – Chỉ định truy cập (access modifier) của thành viên thuộc lớp trong Java
Bài 29 – Ghi đè phương thức (method overriding) khi kế thừa trong Java
Bài 30 – Sử dụng từ khóa super trong Java
Bài 31 – Lớp trừu tượng (abstract class) trong Java
Bài 32 – Sử dụng interface trong Java
Bài 33 – Tính đa hình (polymorphism) trong Java
Bài 34 – Tính đóng gói (encapsulation) trong Java
Bài 35 – Sử dụng nested class và inner class trong Java
Bài 36 – Sử dụng static class và anonymous class trong Java
Bài 37 – Xây dựng Singleton class trong Java
Bài 38 – Kiểu dữ liệu enum trong Java
Bài 39 – Các loại ngoại lệ (exceptions) trong Java
Bài 40 – Cách xử lý ngoại lệ (exceptions) trong Java
Bài 41 – Collections framework và collection interface trong Java
Bài 42 – Java collections framework: List interface và lớp ArrayList
Bài 43 – Java collections framework: lớp Vector và lớp Stack
Bài 44 – Java collections framework: Queue interface và lớp LinkedList
Bài 45 – Java collections framework: Map interface và lớp HashMap
Bài 46 – Java collections framework: Set interface và lớp HashSet
Bài 47 – Java collections framework: Iterator interface và ListIterator interface
Bài 48 – Lớp InputStream và OutputStream trong Java
Bài 49 – Lớp FileInputStream và FileOutputStream trong Java
Bài 50 – Lớp ObjectInputStream và ObjectOutputStream trong Java
Bài 51 – Lớp BufferedInputStream và BufferedOutputStream trong Java
Bài 52 – Lớp Reader và Writer trong Java
Bài 53 – Lớp InputStreamReader và OutputStreamWriter trong Java
Bài 54 – Lớp FileReader và FileWriter trong Java
Bài 55 – Lớp BufferedReader và BufferedWriter trong Java
Bài 56 – Lớp StringReader và StringWriter trong Java
Bài 57 – Quản lý bộ nhớ trong Java: bộ nhớ stack và bộ nhớ heap
Bài 58 – Thread là gì? Cách tạo Thread trong Java
Bài 59 – Lập trình multithreading trong Java như thế nào?
Bài 60 – Các loại Thread trong Java: Daemon Thread và User Thread
Bài 61 – Lập lịch (scheduler) và đồng bộ hóa (synchronization) Thread trong Java
Bài 62 – Trường hợp Deadlock khi lập trình multithreading trong Java