Khóa học Software Fresher

MỤC TIÊU KHÓA HỌC

  • Nắm các khái niệm trong kỹ thuật lập trình hướng đối tượng (OOP – SOLID)
  • Nắm và hiểu các mẫu pattern cơ bản. Áp dụng các mẫu vào việc thiết kế các sản phẩm phần mềm
  • Nắm và phát triển các mẫu cơ bản với ngôn ngữ lập trình JAVA
  • Nắm được cách PTTK hệ thống theo kỹ thuật lập trình hướng đối tượng
    • Đặt câu hỏi về kỹ thuật
    • Đọc hiểu tài liệu thiết kế
    • Kỹ thuật mô hình hoá sử dụng ngôn ngữ mô hình UML

NỘI DUNG KHÓA HỌC

  • Nắm và áp dụng các khái niệm cơ bản trong hướng đối tượng như trừu tượng hóa, đối tượng và lớp, tính đóng gói, kế thừa, đa hình, interface, package cũng như các mối quan hệ kết hợp, phụ thuộc và tổng quát hóa. (OOP)
  • Nắm và áp dụng các nguyên tắc thiết kế S.O.L.I.D trong lập trình hướng đối tượng (OOP)
  • Nắm và áp dụng các quy trình phát triển phần mềm theo hướng đối tượng(phân tích, thiết kế, cài đặt) sử dụng ngôn ngữ mô hình UML bao gồm Usecase Diagram, Use Case Spec, Activity Diagram, Sequence Diagram, Class Diagram (OOAD)
  • Có khả năng trình bày ý tưởng thiết kế bằng lược đồ lớp và cài đặt thiết kế bằng ngôn ngữ lập trình hướng đối tượng Java và cài đặt các tình huống kiểm thử (unit test) cho các class và phương thức của class. (OOAD)
  • Nắm và áp dụng các mẫu thiết kế (Design Pattern) (OOAD)
    • Mẫu tạo đối tượng như Factory Method, Abstract Factory, Builder, Prototype, Singleton
    • Mẫu tổ chức dữ liệu như Adapter, Composite, Decorator, Bridge, Façade, Flyweight, Proxy
    • Mẫu xử lý bao gồm Strategy, State, Observer, Template Method, Iterator, Command, Visitor, Mediator, Memento, Interpreter, Chain of Responsibility
  • Kỹ thuật review code, refactor code, các quy ước viết code trong ngôn ngữ lập trình JAVA và các best practice và lesson learnt khi coding

ĐỐI TƯỢNG THAM GIA

  • Kỹ sư phát triển phần mềm ngành Công Nghệ Thông Tin
  • Kỹ sư phát triển phần mềm ngành Điện Tử, Cơ Điện Tử

PHƯƠNG PHÁP ĐÀO TẠO

  • Thuyết giảng kiến thức về khóa học thông qua các ví dụ
  • Thực hành Lab và làm Assignment trên lớp với các bài tập thực tế
  • Giảng viên review góp ý và rút kinh nghiệm

CHI TIẾT KHÓA HỌC

Buổi

(4 giờ)

 Nội dung bài học

1
 Lý thuyết: OOP & SOLID in JAVA
  • Giới thiệu tổng quan về các feature của Java
  • Ôn lại khái niệm OOP
  • SOLID Principle
 Lab 01 / Assignment 01
 Review 01
2
 Lý thuyết: SE Process & UML
  • Quy trình phát triển một phần mềm
  • Phân tích thiết kế phần mềm theo hướng đối tượng
  • Use Case Diagram
  • Activities Diagram
 Lab 02 / Assignment 02
 Review 02
3
 Lý thuyết: SE Process & UML (Cont.)
  • Data Design
  • Sequence Diagram
  • Class Diagram
 Lab 03 / Assignment 03
 Review 03
4
 Lý thuyết: Unit Testing
  • Unit Test với Junit 5
  • Coding Convention
  • Refactoring to pattern
  • Question & Answer about technology
 Lab 04/ Assignment 04
 Review 04
5
 Lý thuyết: Các mẫu thiết kế tạo đối tượng
  • Factory Method, Abstract Factory
  • Builder,
  • Prototype,
  • Singleton
 Lab 05/ Assignment 05/ Review 05
6
 Lý thuyết: Các mẫu thiết kế tổ chức dữ liệu
  • Adapter, Composite, Decorator
  • Façade, Flyweight, Proxy
 Lab 06/ Assignment 06/ Review 06
7
 Lý thuyết: Các mẫu thiết kế tổ chức dữ liệu (cont.)
  • Practice with patterns
  • Refactoring to Design Pattern
 Lab 07/ Assignment 07/ Review 07
8
 Lý thuyết: Nội dung Các mẫu thiết kế xử lý
  • Strategy, State, Observer, Template Method, Iterator, Command, Visitor, Chain of Responsibility
 Lab 08/ Assignment 08/ Review 08
9
 Lý thuyết: Nội dung Các mẫu thiết kế xử lý (cont.)
  • Practice with patterns
  • Refactoring to Design Pattern
 Lab 09/ Assignment 09/ Review 09
10
 Tổng kết khóa học, hỏi đáp và review bài lớn

TÀI LIỆU KHÓA HỌC

  • Java Design Pattern: <<Mã code vào lớp học google class>>