Thứ 2 - Chủ Nhật, 8h - 21h.
Hãy gọi: 0906 12 56 56

Java Core Programming

Cơ sở lập trình, các thành phần cơ bản, thiết kế và lập trình hướng đối tượng, xử lý mảng & chuỗi, lập trình vào/ra,...

Cơ sở lập trình & Các thành phần cơ bản

Tổng quan về Công nghệ Java; kỹ thuật lập trình; tổ chức thư viện và môi trường phát triển tích hợp (IDE)...

  • Kiến trúc thực thi các Ứng dụng Java; bộ công cụ phát triển JDK
  • Hệ thống tính năng (features) được hỗ trợ trong các phiên bản JDK
  • Chương trình Java đầu tiên, biên dịch & thực thi chương trình đó
  • Kiến trúc máy ảo (JVM); tổ chức thư viên; cài đặt môi trường phát triển tích hợp (IDE)
  • Hệ thống từ khóa (Keywords); kiểu dữ liệu (Data types); khai báo biến & hằng
  • Các toán tử số học; toán tử logic; biểu thức; vào ra cơ bản
  • Cấu trúc điều khiển (if/else); cấu trúc lặp (for/while/do while)
  • Sự cải tiến kỹ thuật trong các phiên bản JDK

Rèn luyện kỹ năng và tư duy lập trình trong 2 buổi học này là một số bài tập kinh điển như:
kiểm tra một giá trị n (nguyên) có phải nguyên tố; tìm UCLN của 2 số nguyên dương a và b;
kiểm tra một bộ 3 giá trị nguyên dương (a,b,c) có tạo thành một tam giác;
tính thể tích của một hình nón cụt, tính diện tích của một mặt lồi lõm;
giải bài toán Fibonaci không đệ quy; giải bài toán Hà Nội Tower không đệ quy;
giải bài toán cái túi, bài toán người du lịch...
Ứng dụng & Xây dựng hệ thống quản lý sản phẩm (Project 1 - Phần 1)

Phương thức (Method) & Lớp đối tượng (Object)

Khai báo và sử dụng phương thức, kỹ thuật chồng phương thức, xây dựng lớp đối tượng, chuẩn hóa lớp đối tượng.

  • Cấu trúc khai báo phương thức (Method) và cách sử dụng
  • Kỹ thuật chồng phương thức (Overloading)
  • Xây dựng tài liệu và đóng gói chương trình (phương thức)
  • Xây dựng lớp đối tượng (Object) cơ bản
  • Tạo các Constructor (phương thức khởi tạo đối tượng) và nguyên lý làm việc của nó
  • Đối tượng this (đối tượng nội tại) & thành phần private (riêng tư, che dấu)
  • Truy cập các thành phần thuộc tính với các phương thức Setter/Getter
  • Các thành phần thuộc về lớp (static), cách sử dụng hằng (final), dọn dẹp đối tượng (finalize)
  • Xây dựng lớp đối tượng nâng cao, chuẩn hóa lớp đối tượng.

Rèn luyện kỹ năng và tư duy lập trình trong 2 buổi học này là một số bài tập như:
xây dựng lớp đối tượng Person (firstName, lastName, age...);
xây dựng lớp Address (cityName, districtName, streetName,...);
cải tiến lớp Person với việc bổ sung thêm thuộc tính Address (vừa xây dựng);
xây dựng lớp Book (book_id, book_name, book_author, book_publisher,...);
phân tích & thiết kế đối tượng cho hệ thống quản lý sản phẩm điện thoại / máy tính / ô tô / xe máy / ...
Ứng dụng & Xây dựng hệ thống quản lý sản phẩm (Project 1 - Phần 2)

Xử lý mảng (Array) & Chuỗi (String)

Khai báo và sử dụng mảng, xử lý dữ liệu mảng, làm việc với chuỗi ký tự, cách sử dụng và khai thác API String.

  • Khai báo & sử dụng mảng 1 chiều
  • Các thao tác nghiệp vụ và hoạt động xử lý với mảng 1 chiều
  • Mảng đa chiều (2++) và mảng đối tượng
  • Lập trình sử dụng ArrayList cơ bản
  • Chuỗi ký tự và xử lý
  • Xây dựng và phát triển các phương thức nghiệp vụ
  • Những cải tiến của một số phiên bản JDK đối với Array & String

Rèn luyện kỹ năng và tư duy lập trình trong 2 buổi học này là một số bài tập như:
sinh ngẫu nhiên mảng 1 chiều / 2 chiều / mảng đối tượng,...;
sắp xếp tăng/giảm giá trị với một số thuật toán Bubblesort, Quicksort, Selectionsort,...;
lọc thành phần, lọc giá trị, các kỹ thuật nâng cao với mảng 1 chiều / mảng đối tượng;
đếm số ký tự trong chuỗi, chuẩn hóa chuỗi và đếm số từ (word) trong chuỗi kỹ tự;
tính tần suất xuất hiện của một cụm ký tự, viết hoa tên riêng, viết hoa đầu câu, cắt chuỗi ký tự
Ứng dụng & Xây dựng hệ thống quản lý sản phẩm (Project 1 - Phần 3)

Phát triển lớp đối tượng (Advanced Object)

Các kỹ thuật nâng cao hướng đối tượng: Thừa kế, đa hình, trừu tượng và giao diện/giao tiếp

  • Thừa kế (Inheritance) & phân loại thừa kế
  • Phát triển kỹ thuật lập trình đa hình (Polymorphism)
  • Xây dựng lớp trừu trượng (Abstract class) và ứng dụng
  • Xây dựng giao diện / giao tiếp (Interface)
  • Một số xử lý nâng cao với Interface
  • Một số đánh giá / so sánh Abstract class & Interface
  • Những cải tiến trên các phiên bản JDK

Rèn luyện kỹ năng và tư duy lập trình trong 2 buổi học này là một số bài tập như:
xây dựng lớp Student/Employee dựa trên lớp Person buổi học trước;
cài đặt đa hình cho một danh sách Person (với các phần tử cấp phát ngẫu nhiên);
xây dựng & cài đặt lớp trừu tượng Manager với các hoạt động cập nhật / tìm kiếm / sắp xếp...;
xây dựng, cài đặt và phát triển các Interface: Product, SearchProduct, SortedProduct...;
cải tiến theo các phiên bản Java mới
Ứng dụng & Phát triển hệ thống quản lý sản phẩm (Project 2 - Phần 1)

Lập trình vào ra (Input/Output) & Tập tin (File/Folder)

Luồng dữ liệu (Stream) & các kỹ thuật xử lý, tập tin / thư mục (Fille/Folder), quản lý tập tin / thư mục

  • Stream và các kỹ thuật xử lý cơ bản
  • Phân cấp Stream và kỹ thuật xử lý nâng cao (Buffer/Binary/Serialization/Pipe)
  • Tập tin (File), kỹ thuật làm việc với File văn bản
  • Tập tin (File), kỹ thuật làm việc với File nhị phân
  • Quản lý tập tin (File Management)
  • Các kỹ thuật làm việc với tập tin nâng cao trong dự án phần mềm
  • Những cải tiến trên các phiên bản JDK

Rèn luyện kỹ năng và tư duy lập trình trong 2 buổi học này là một số bài tập như:
xây dựng lớp MySream & StreamCopy thực hiện việc sao chép (copy) dữ liệu theo luồng byte / ký tự;
cài đặt Person với giao tiếp Serialization;
xây dựng DataPutter/DataGetter xử lý kỹ thuật với Pipe;
xây dựng MyFileProcessthực hiện việc đọc/ghi dữ liệu vào file văn bản / file nhị phân;
xây dựng các Utilities xử lý sao chép file/folder, sao chép và xử lý dữ liệu hình ảnh.
Ứng dụng & Phát triển hệ thống quản lý sản phẩm (Project 2 - Phần 2)

Các kỹ thuật lập trình nâng cao khác (Advanced techniques)

Lập trình tập hợp (Collections), lập trình Socket / WebSocket, lập trình sử dụng JavaTuples, phát triển APIs...

  • List và các thành phần thuộc về List, các kỹ thuật làm việc
  • Set/Queue và các thành phần thuộc về Set/Queue, các kỹ thuật làm việc
  • Map và các thành phần thuộc về Map, các kỹ thuật làm việc
  • Lập trình Socket và phát triển ứng dụng với WebSocket
  • Lập trình và ứng dụng JavaTuples
  • Xây dựng các Utilities cho hệ thống phần mềm / ứng dụng / dịch vụ web
  • Những kỹ thuật cải tiến trên các phiên bản JDK

Rèn luyện kỹ năng và tư duy lập trình trong 2 buổi học này là một số bài tập như:
xây dựng các MyArrays, MyCollections, MyStrings... làm việc với List/Map/Set;
cài đặt ứng dụng gửi tin nhắn sử dụng WebSocket;
phát triển các phương thức trong MyArrays, MyStrings... thành các library;
ứng dụng JavaTuples vào các phương thức trong MyArrays, MyStrings, MyCllections;
đánh giá độ phức tạp, hiệu năng và tối ưu mã nguồn.
Hoàn thiện & Báo cáo thực nghiệm hệ thống quản lý sản phẩm (Project 2 - Phần 3)