Lập trình hướng đối tượng (bằng Java)
Lập trình hướng đối tượng (bằng Java)
Xin chào các bạn!
Mục tiêu của môn học là giúp cho học viên hiểu được các khái niệm từ cơ bản đến nâng cao của ngôn ngữ lập trình Java. Sau khi hoàn thành khóa học này, bạn sẽ thấy mình ở mức độ chuyên môn vừa phải về Java, từ đó bạn có thể đưa mình lên các cấp độ tiếp theo. Môn học này là sự chuẩn bị và cũng là điều kiện để các bạn có thể học tiếp được các môn tiếp theo trong chương trình học tại FUNiX.
Phần đầu tiên, học viên sẽ được cung cấp các kiến thức lập trình cơ bản, viết chương trình Java đầu tiên và bổ sung các kiến thức lập trình nền tảng mà ngôn ngữ lập trình nào cũng có. Phần 2 giới thiệu về lập trình hướng đối tượng, hướng dẫn các khái niệm cơ bản trong lập trình hướng đối tượng như class, object, phạm vi sử dụng.
Phần tiếp theo sẽ hướng dẫn xây dựng phần mềm hướng đối tượng áp dụng các đặc trưng trong lập trình hướng đối tượng: tính kế thừa, tính trừu tượng, tính đóng gói và đa hình. Ngoài ra bổ sung thêm kỹ năng gỡ lỗi trong lập trình Java và một phần không thể thiếu trong lập trình Java nói riêng và lập trình nói chung khi xây dựng các phần mềm là kiểm thử đơn vị (Unit testing).
Phần 4 trong khóa học hướng dẫn học viên các kỹ năng lập trình nâng cao hơn xuất hiện trong các phiên bản mới của Java như Generics, Stream – Lambda, hướng dẫn sử dụng các công cụ, thư viện để đọc ghi dữ liệu từ tệp, thao tác với hệ thống thư mục và bổ sung kỹ năng xây dựng ứng dụng đa luồng và giải quyết các bài toán liên quan đến xung đột và đồng bộ hóa.
Chúc các bạn học tốt!
MỤC TIÊU MÔN HỌC
Sau khi học xong môn này, học viên sẽ đạt được các chuẩn kiến thức, kỹ năng đầu ra như sau:
- Hiểu các khái niệm về các chương trình hướng đối tượng để giải quyết các bài toán và vấn đề cơ bản của lập trình hướng đối tượng.
- Thực hành cú pháp và ngữ nghĩa ngôn ngữ Java cơ bản để viết chương trình Java và sử dụng các khái niệm như biến, phương thức thực thi có điều kiện và lặp lại.
- Dùng stream để đọc và viết dữ liệu từ/cho các kiểu khác nhau của nguồn/đích.
- Hiểu về lợi ích và việc sử dụng cơ chế xử lý ngoại lệ của Java.
- Xác định các class, các object, các member của class và các mối quan hệ giữa chúng cần thiết cho một vấn đề cụ thể.
- Giải thích khái niệm và chứng minh cách sử dụng tính đa hình, tính đóng gói, tính trừu tượng và tính kế thừa trong Java.
- Hiểu nguyên tắc và cách sử dụng các lớp trừu tượng và interface trong Java.
- Hiểu và triển khai mộ chương trình hoàn chỉnh bằng object array.
- Giải thích nguyên tắc và cách sử dụng của một vài kiểu dữ liệu trừu tượng (thuộc java collection) như list, set, map, ...
TRẢI NGHIỆM HỌC TẬP
Để bắt đầu, các bạn nên dành một vài phút khám phá môn học và cấu trúc chung. Môn học sẽ có 4 phần với 18 bài học. Xuyên suốt các bài học và cuối mỗi học phần, các bài thực hành Lab và bài tập lớn (Project) sẽ giúp các bạn tăng cường việc ghi nhớ và vận dụng lý thuyết đã học vào các bài toán thực tế. Để việc học tập được hiệu quả, hãy luôn trau dồi kiến thức, không ngừng học hỏi, nghiên cứu và lập cho mình một kế hoạch học tập hợp lý để hoàn thành khóa học một cách xuất sắc.
Trong thời gian học (dự kiến là 6 tuần), việc phân bổ tuần học là rất quan trọng. Nếu các bạn có bất cứ câu hỏi nào hãy kết nối với Mentor để được giải đáp.
CẤU TRÚC MÔN HỌC
Phần 1: Lập trình Java cơ bản
- Bài 1: Cài đặt môi trường lập trình Java IntelliJ
- Bài 2: Kiểu dữ liệu
- Bài 3: Biến, Coding Convention, Scanner
- Bài 4: Câu điều kiện rẽ nhánh
- Bài 5: Hàm (Phương thức)
- Bài 6: Vòng lặp
- Bài 7: Mảng, ArrayList
- Assignment 1 - Ngân hàng số phiên bản v1.0.0
Phần 2: Làm quen với lập trình OOP
- Bài 8: Lớp và Đối tượng
- Bài 9: Tính kế thừa
- Bài 10: Tính đóng gói
- Assignment 2 - Ngân hàng số phiên bản v2.0.0
Phần 3: Xây dựng phần mềm với OOP
- Bài 11: Đa hình
- Bài 12: Trừu tượng
- Bài 13: Gỡ lỗi
- Assingment 3 - Ngân hàng số phiên bản v3.0.0
Phần 4: Lập trình Java nâng cao - Đa luồng - Đọc ghi dữ liệu
- Bài 14: Generics
- Bài 15: Java I/O và Exception
- Bài 16: File
- Bài 17: Luồng và xử lý tương tranh
- Bài 18: Lambda và Stream
- Assignment 4 - Ngân hàng số phiên bản v4.0.0
CHUYÊN GIA THIẾT KẾ VÀ PHẢN BIỆN MÔN HỌC
THIẾT KẾ MÔN HỌC: Th.S Nguyễn Hải Nam
- Thạc sĩ Khoa học Máy tính, Đại học Cassino, Ý
- Head of xSeries Department, FUNiX
- Online profile: https://www.linkedin.com/in/hai-nam-nguyen-474587119/
NGUỒN HỌC LIỆU
Trong thời đại hiện nay, mỗi môn học đều có nhiều nguồn tài liệu liên quan kể cả sách in và online, FUNiX Way không quy định một nguồn học liệu cụ thể mà khuyến cáo để học viên chọn được nguồn phù hợp nhất cho mình. Trong quá trình học từ nhiều nguồn khác nhau theo lựa chọn cá nhân đó, khi sinh viên phát sinh câu hỏi thì sẽ được kết nối nhanh nhất với mentor để được giải đáp. Toàn bộ phần đánh giá bao gồm các câu hỏi trắc nghiệm, bài tập, dự án và thi vấn đáp do FUNiX thiết kế, xây dựng và thực hiện.
Các môn học của FUNiX không quy định bắt buộc tài liệu học tập, sinh viên có thể chủ động tìm và học từ bất kỳ nguồn nào phù hợp, kể cả sách in hay nguồn học liệu online (MOOC) hay các website. Việc sử dụng các nguồn đó do học viên chịu trách nhiệm và đảm bảo tuân thủ các chính sách của chủ sở hữu nguồn, trừ trường hợp họ có sự hợp tác chính thức với FUNiX. Nếu cần hỗ trợ, học viên có thể liên hệ phòng đào tạo FUNiX để được hướng dẫn.
Dưới đây là một số nguồn học liệu của môn học mà học viên có thể tham khảo sử dụng. Việc liệt kê nguồn dưới đây không nhất thiết hàm ý rằng FUNiX có sự hợp tác chính thức với chủ sở hữu của nguồn: Coursera, tutorialspoint, edX Training, or Udemy.
KÊNH PHẢN HỒI
FUNiX sẵn sàng đón nhận và trao đổi về mọi ý kiến góp ý, phản hồi liên quan đến học liệu qua email program@funix.edu.vn