Lập trình C++ Nâng Cao
Lập trình C++ nâng cao
Xin chào các bạn!
Môn học Lập trình C++ nâng cao là môn học thứ hai trong khóa học lập trình Automotive tại FUNiX. Trong môn học này bạn sẽ được học tiếp các phần kiến thức nâng cao hơn của khóa lập trình C++ Cơ bản.
Trong môn Lập trình C++ cơ bản, bạn đã được học các kiến thức về lập trình như các loại dữ liệu, các cấu trúc điều khiển và hàm; các khái niệm liên quan đến đối tượng và con trỏ; cùng những nộp dung về lập trình hướng đối tượng trong C++ và các kỹ thuật làm việc với tệp. Ở môn học này, bạn sẽ được hướng dẫn các kĩ năng nâng cao hơn của lập trình hướng đối tượng, lập trình tổng quan và hiểu về các cấu trúc dữ liệu và giải thuật trong C++.
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:
- Nắm được những tính chất hướng đối tượng trong C++ (kế thừa, đa hình, hàm hủy, hàm tạo, hàm ảo, namespace)
- Nắm được khái niệm generic programming, generic algorithms, template trong C++
- Nắm được về kiểm soát ngoại lệ (exception handling) trong C++
- Nắm được các cấu trúc dữ liệu cơ bản trong C++ và STL containers
- Nắm được các giải thuật thường dùng trong C++ và STL Algorithms
- Nắm được cách sử dụng biểu thức Lamdba
- Nắm được cách sử dụng biểu thức chính quy (Regex Expression)
- Nắm được cách sử dụng STL interator và các thư viện số học trong C++
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ó 3 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.
CẤU TRÚC MÔN HỌC
Phần 1: Lập trình hướng đối tượng với C++
- Bài 1: Nhắc lại về kế thừa
- Bài 2: Tính đa hình
- Bài 3: Các thành viên Friend và Static
- Bài 4: Hàm hủy và hàm hủy ảo
Assignment 1 - Quản lý cửa hàng xe ô tô
Phần 2: Lập trình tổng quan và xử lý ngoại lệ
- Bài 5: Constant, preprocessor, namespace
- Bài 6: Ngoại lệ và xử lý ngoại lệ
- Bài 7: Template function và template class
- Bài 8: Biểu thức Lambda
- Bài 9: Biểu thức chính quy
Assignment 2 - Ứng dụng cài đặt hệ thống infotainment
Phần 3: Cấu trúc dữ liệu và giải thuật
- Bài 10: STL containers
- Bài 11: STL Algorithms
- Bài 12: STL iterators và thư viện số học
Assignment 3 -
CHUYÊN GIA THIẾT KẾ VÀ PHẢN BIỆN MÔN HỌC
THIẾT KẾ MÔN HỌC: Phạm Bá Thành
- Kỹ sư CNTT tại Đại học Công nghệ thông tin TP HCM
- Hơn 6 năm kinh nghiệm lập trình phần mềm với C++ và Qt/QML
- Senior Developer và TeamLeader tại các dự án về Automotive tại FPT Software
- Giảng viên nội bộ đào tạo Fresher C/C++ tại FPT Software
- Đang là chuyên viên tại Bosch Việt Nam
PHẢN BIỆN MÔN HỌC: Tống Văn Linh
- Quản lý cấp cao các dự án về Qt/QML, C/C++ tại FGA - FPT Software
- Tham gia giảng dạy tại Fresher Academy - FPT Software
- Kỹ sư cơ điện tử, Đại học Công Nghệ - ĐHQG HN
- Kinh nghiệm về quản lý dự án và tech-lead với các dự án về hệ thống giải trí cho xe ô tô
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.
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