Thông tin chung
Môn học thứ hai – Lập trình C++ nâng cao sẽ tiếp tục cung cấp cho học viên những kiến thức chuyên sâu hơn về ngôn ngữ C++. Các bài học sẽ tập trung vào những nội dung nâng cao về lập trình C++ như các khái niệm về tính kế thừa và tính đa hình trong lập trình hướng đối tượng; các khái niệm về lập trình tổng quát; và các kiến thức về cấu trúc dữ liệu và giải thuật trong C++. Ngoài ra, các bài tập lớn trong môn học sẽ giúp các bạn học viên áp dụng kiến thức và các kỹ năng đã học vào các đề bài cụ thể như xây dựng chương trình cài đặt các ứng dụng giải trí trên ô 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:
Nắm được các khái niệm cơ bản ngôn ngữ lập trình C++.
Hiểu và dùng được các cấu trúc dữ liệu phức tạp của C++.
Nắm được hàm và tổ chức chương trình trong C++.
Nắm được cách làm việc và xử lý với tệp trong C++.
Nắm được các khái niệm của lập trình hướng đối tượng trong C++.
Trải nghiệm học tập
Phần 1: Lập trình hướng đối tượng với C++
Bài 1 – Tính kế thừa (Inheritance)
Bài 2 – Tính đa hình (Polymorphism)
Project 1 – Ứng dụng cài đặt hệ thống infotainment (P.1)
Phần 2: Lập trình generic, xử lý ngoại lệ, luồng vào/ra
Bài 3 – Lập trình tổng quát (generic programming)
Bài 4 – Xử lý ngoại lệ (exception)
Bài 5 – Luồng vào/ra (Input/Output stream)
Project 2 – Ứng dụng cài đặt hệ thống infotainment (P.2)
Phần 3: Các Container & và các giải thuật generic
Bài 6 – Các container tuần tự (Sequential Containers)
Bài 7 – Các container liên kết (Associative Containers)
Bài 8 – Các giải thuật generic
Project 3 – Ứng dụng cài đặt hệ thống infotainment (P.3)
Phần 4: Các cấu trúc dữ liệu và giải thuật phi STL
Bài 9 – Các cấu trúc dữ liệu phi STL (Non-STL Data structure)
Bài 10 – Các giải thuật phi STL (Non-STL Algorithm)
Project 4 – Ứng dụng cài đặt hệ thống infotainment (P.4)
Phần 5: Namespace & Lớp String
Bài 11 – Không gian tên trong C++ (Namespace)
Bài 12 – Lớp String
Đặc điểm môn học
Để 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ó 5 phần với 12 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 dung 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.
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 nghiệ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.