1. Tóm tắt môn học
- Các khái niệm cơ bản trong ngôn ngữ lập trình Java.
- Phương pháp lập trình hướng đối tượng trong Java.
- Cơ chế xử lý lỗi ngoại lệ của Java.
- Sử dụng Collection framework, I/O streams và Reader/Writer trong Java.
- Lập trình đa luồng (multithreading) trong Java.
2. Mục tiêu môn học
Giúp sinh viên nắm được các kiến thức:
- Các khái niệm và các thành phần cơ bản trong Java.
- Phương pháp lập trình hướng đối tượng trong Java.
- Cơ chế xử lý lỗi ngoại lệ trong Java.
- Collection framework, I/O streams và Reader/Write trong Java.
- Lập trình đa luồng (multithreading) trong Java.
- Các Java IDE như Netbeans hoặc Eclipse để viết chương trình Java.
3. Chuẩn đầu ra môn học
- Trình bày được các khái niệm và các thành phần cơ bản trong Java.
- Trình bày được các nguyên lý thiết kế và xây dựng lớp, đối tượng trong Java.
- Phân tích, thiết kế, cài đặt được các bài toán cơ bản trên máy tính bằng ngôn ngữ lập trình Java.
4. Nội dung môn học
Để làm cơ sở học tốt môn Ngôn ngữ lập trình Java, các bạn cần có những kiến thức cơ bản về tư duy lập trình cũng như phương pháp lập trình hướng đối tượng. Các bạn có thể xem lại series môn học Nhập môn lập trình và Phương pháp lập trình hướng đối tượng.
Bài 1 – Giới thiệu môn học Ngôn ngữ lập trình Java
Phần 1 – Tổng quan về 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
Phần 2 – Cấu trúc điều khiển rẽ nhánh và vòng lặp 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
Phần 3 – Phương thức (method) 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
Phần 4 – Mảng (array) 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
Phần 5 – Lập trình hướng đối tượng 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
Phần 6 – Xử lý ngoại lệ (exception) 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
Phần 7 – Java collections framework
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
Phần 8 – I/O Stream và Reader/Writer trong Java
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
Phần 9 – Quản lý bộ nhớ trong Java
Bài 57 – Quản lý bộ nhớ trong Java: bộ nhớ stack và bộ nhớ heap
Phần 10 – Multithreading Java
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