Skip to main content

Lập trình C++ nâng cao

Enrollment in this course is by invitation only

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ữngkiến thức chuyên sâu hơn về ngôn ngữ C++. Nội dung các bài học tập trung vào các 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 ứng dụng kiến thức đã học vào các bài toán cụ thể liên quan đến các ứng dụng trên ô tô 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.3)

Phần 5: Namespace & Lớp String

  • Bài 11 - Không gian tên trong C++ (Namespace)
  • Bài 12 - Lớp String

Project 4 - Ứng dụng hiển thị thông tin hỗ trợ lái xe (P.4)


CHUYÊN GIA THIẾT KẾ VÀ PHẢN BIỆN MÔN HỌC

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

THIẾT KẾ MÔN HỌC: Nguyễn Tiến Đạt

  • Chuyên gia phát triển ứng dụng tại trường Đại học FPT
  • Chuyên gia, quản lý CNTT tại các tập đoàn lớn Viettel, FPT
  • 15 năm kinh nghiệm về phát triển phần mềm

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