Skip to main content

Xây dựng Giao diện Ứng dụng bằng Qt/QML

Enrollment in this course is by invitation only

Xây dựng Giao diện Ứng dụng bằng Qt/QML

Xin chào các bạn!

Trong thời đại ngày nay, ngoài các yêu cầu về chức năng, thì giao diện đẹp và thuận tiện cho người dùng cũng được coi là một trong những yếu tố quan trọng của phát triển phần mềm. Trong đó, các ứng dụng trên ô tô cũng yêu cầu người phát triển chú trọng đến các giao diện người dùng nhằm đem lại sự thoải mái, tiện ích cho người dùng sử dụng khi lái xe. Môn học này sẽ cung cấp cho học viên những kiến thức quan trọng về Qt/QML - một trong những nền tảng được sử dụng phổ biến để lập trình ứng dụng trên xe hơi. Các bài học sẽ tập trung vào các nội dung về xây dựng giao diện ứng dụng trên QML/ Qt Quick; các tính năng cơ bản và mở rộng của Qt framework. 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à thực hành các kỹ năng đã học vào một đề tài cụ thể như xây dựng giao diện cho ứng dụng nghe nhạc với các tính năng hoàn chỉnh 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:

  • Hiểu cách thức làm việc tổng quan của Qt framework.
  • Nắm được kỹ thuật, công cụ để xây dựng UI bằng QML.
  • Nắm được kỹ thuật liên kết giữa UI viết bằng QML với phần logic của chức năng viết bằng C++.
  • Biết cách sử dụng các kỹ thuật thường dùng trong lập trình như: multi threads, multi languages.


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 20 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: Giới thiệu và xây dựng ứng dụng với QML, Qt Quick phần 1

  • Bài 1 - Giới thiệu về Qt và cài đặt môi trường phát triển Qt
  • Bài 2 - Tìm hiểu cú pháp QML
  • Bài 3 - Thành phần cơ bản - Signals và Slolts trong Qt Quick
  • Bài 4 - Đối tượng xử lý đầu vào của người dùng
  • Bài 5 - Làm việc với Javascript & Qt Quick PositioningL

Assignment 1 - Viết giao diện cho chương trình chơi nhạc trên desktop

Phần 2: Giới thiệu và xây dựng ứng dụng với QML, Qt Quick phần 2

  • Bài 6 - Qt Quick Controls & Dialogs (P.1)
  • Bài 7 - Qt Quick Controls & Dialogs (P.2)
  • Bài 8 - Tổng quan về Models Views và Delegates
  • Bài 9 - Các tính năng Transforms, Transitions and Animations
  • Bài 10 - Networking & Storage & Qt and Qt Quick trên các thiết bị di động

Assignment 2 - Xây dựng chức năng cho ứng dựng chơi nhạc trên desktop

Assignment 3: Giới thiệu về các tính năng cơ bản của Qt

  • Bài 11 - QObject Class
  • Bài 12 - Signal và Slot
  • Bài 13 - Interactive C++ và QML
  • Bài 14 - Tạo Model C++ trong Qt
  • Bài 15 - Tạo và sử dụng thư viện trong Qt
  • Bài 16 - Thread và multi-processing
  • Bài 17 - Đa ngôn ngữ trong Qt
  • Bài 18 - Qt Multimedia

Assignment 3 - Viết chương trình chơi nhạc trong thư mục Music của hệ điều hành

Phần 4: Các chức năng mở rộng khác của Qt framework

  • Bài 19 - Qt Widget
  • Bài 20 - Các chức năng mở rộng khác của Qt framework)

Assignment 4 - Hoàn thiện ứng dụng chơi nhạc trên desktop hỗ trợ đa ngôn ngữ


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

THIẾT KẾ MÔN HỌC: Nguyễn Phạm Hùng Anh

  • Giảng viên nội bộ chương trình đào tạo Qt/QML – FPT Software
  • Thành thạo các công nghệ và ngôn ngữ lập trình C/C++, Qt/QML, Python, Swift, Machine Learning
  • Tham gia xây dựng và đào tạo cho chương trình fresher của FPT Software
  • Leader của các dự án về Automotive

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

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