Lập trình mạng với C/C++ trên Linux

Item Remark
Mục tiêu khoá học

Sau khi hoàn thành khóa học cùng dự án mẫu, học viên sẽ có khả năng:

  • Áp dụng chuyên nghiệp quy trình phát triển phần mềm cho từng dự án phần mềm cụ thể
  • Lập trình hướng đối tượng C++ trên Linux
  • Áp dụng các kỹ thuật Linux (POSIX threads, File system)
  • Phát triển ứng dụng client-server trên Linux
  • Dễ dàng học lập trình trên các hệ thống nhúng khác vì cùng sử dụng bộ thư viện POSIX như Linux
  • Vận dụng các kỹ năng mềm trong môi trường làm việc chuyên nghiệp: kỹ năng làm việc nhóm, kỹ năng giao tiếp, kỹ năng trình bày, kỹ năng ‎viết email, kỹ năng vượt qua phỏng vấn, cách thức và kỹ năng làm việc chuyên nghiệp.
Yêu cầu
  • Tốt nghiệp cử nhân hoặc sinh viên năm cuối các ngành công nghệ thông tin, điện tử viễn thông
  •  Kỹ năng cơ bản lập trình C, biết C++ là một lợi thế, cũng như có một số kiến thức về hệ điều hành Linux

Phương pháp đào tạo

  • Môi trường đào tạo sinh động, hấp dẫn. Kết hợp hoàn hảo các buổi học trên lớp và các bài tập thực hành tạo hiệu quả tiếp thu cao nhất cho học viên ngay tại lớp học
  • Học viên được giao các dự án mẫu ngay từ đầu và được hướng dẫn thực tập cho đến hết khóa học 
  • Học viên được trang bị các kỹ năng mềm cần thiết cho môi trường làm việc chuyên nghiệp
  • Học viên chủ động nghiên cứu sách, tham khảo tài liệu trước khi đến lớp.

Đề cương khoá học

1. Quy trình phát triển phần mềm

  • Requirement
  • Design using UML: High Level Design, Detail Design, Test Plan & Test Cases
  • Implementation: Prepare for Implementation, Coding & Unit Test, Integrate & Integration Test
  • Testing: Testing Process, Testing Phases, Blackbox Testing Techniques Overview

 

2. Các kỹ thuật lập trình hệ thống trên Linux

  • Hệ thống lại ngôn ngữ lập trình C++ (kế thừa, đóng gói, đa hình)
  • Tổng quan kỹ năng lập trình Linux: Biên dịch, Debug, Tạo thư viện
  • File & Stream
  • Linux sockets Programming: Giới thiệu Socket, UDP & TCP; Lập trình mạng dùng socket
  • Lập trình Multi-Threaded dùng bộ thư viện POSIX: Quản Lý Thread (Tạo, Hủy), Thread Synchronization (Mutex, Condition Variable)

 

3. Kỹ năng mềm

  • Kỹ năng làm việc nhóm
  • Kỹ năng giao tiếp
  • Kỹ năng trình bày
  • Kỹ năng viết mail
  • Kỹ năng vượt qua phỏng vấn
  • Cách thức và kỹ năng làm việc chuyên nghiệp

 

4. Xây dựng dự án mẫu

  • Thảo luận nhóm
  • Cập nhật tiến độ dự án