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 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ô.
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 hàm và tổ chức chương trình trong C++.
- Nắm được về kiểm soát ngoại lệ (exception handling) trong C++.
- Nắm được về các cấu trúc dữ liệu trong C++ (stack, queue, list, tree)
- Nắm được về các giải thuật sắp xếp cơ bản với C++ (selection sort, insertion sort, merge sort, quick sort).
- Nắm được về khái niệm container trong C++ (sequential container, associative container).
- Nắm được về khái niệm stream input/output và string stream, có thể thao tác vào ra dữ liệu được với file.
- Nắm được về khái niệm generic và có thể thực hiện cài đặt generic function, generic class và thao tác các thuật toán với generic.
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ó 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.
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 - 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
CHUYÊN GIA THIẾT KẾ VÀ PHẢN BIỆN MÔN HỌC
THIẾT KẾ MÔN HỌC: Lương Trung Kiên
- Giảng viên Đại Học FPT
- Thạc sỹ về Information System & Technology, ĐH Paris-Sud 11, Pháp
- Thành thạo các công nghệ và ngôn ngữ lập trình C/C++, Java, .Net, PHP, Objective-C, Android
- Kinh nghiệm ở các vị trí quản lý (phó phòng giải pháp công ty TNHH phần mềm Hài Hòa, Trưởng phòng quản lý đào tạo và hỗ trợ kỹ thuật công ty USOL-Vietnam,...)
THIẾT KẾ MÔN HỌC: Trịnh Tuấn Đạt
- Giảng viên Viện CNTT-TT ĐHBK Hà Nội
- Tiến sĩ công nghệ thông tin, Đại học Công nghệ Viên (TU Wien), Áo
- Thạc sĩ công nghệ thông tin Đại học Bách khoa Hà nội
- 9 năm kinh nghiệm phát triển phần mềm và đào tạo
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
- Chuyên gia phát triển phần mềm với hơn 7 năm kinh nghiệm làm việc trong lĩnh vực automotive.
- Kinh nghiệm về quản lý dự án và tech-lead trong các dự án về hệ thống giải trí cho xe ô tô
- 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
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