Liên hệ với chúng tôi

Đề cương khóa học

Nền tảng của Tư duy Agile

  • Tuyên ngôn Agile và tầm quan trọng của nó vượt ra ngoài lĩnh vực phần mềm.
  • So sánh Agile với các mô hình waterfall truyền thống và các mô hình dựa trên kế hoạch.
  • Các vai trò, sự kiện và sản phẩm của Scrum được ánh xạ vào chu kỳ dự án học thuật.
  • Kanban và quản lý dựa trên dòng chảy (flow-based) cho các nhóm nghiên cứu và giảng dạy.
  • Lựa chọn các mô hình lai Agile phù hợp cho môi trường kỹ thuật và thiết kế.

Kế hoạch hóa và Hợp tác Agile

  • Viết user stories và xác định tiêu chí chấp nhận cho các vấn đề kỹ thuật.
  • Kỹ thuật ưu tiên danh sách backlog: MoSCoW, giá trị so với nỗ lực, sắp xếp dựa trên rủi ro.
  • Kế hoạch hóa sprint và ước lượng với các nhóm phi phần mềm.
  • Hội thảo retrospect và cải tiến liên tục trong môi trường học thuật.
  • Công cụ hợp tác và bảng quản lý dành cho các đối tượng tham gia liên ngành.

Giới thiệu về Văn hóa DevOps

  • Định nghĩa DevOps: Phá vỡ các silo giữa phát triển và vận hành.
  • Mô hình CALMS: Văn hóa, Tự động hóa, Lean, Đo lường, Chia sẻ.
  • DevOps trong phòng thí nghiệm nghiên cứu, nhóm kỹ thuật dân dụng và xưởng kiến trúc.
  • Xây dựng văn hóa không đổ lỗi và các vòng phản hồi trong các cơ sở giáo dục.
  • Các cân nhắc về đạo đức, bảo mật và tuân thủ trong việc áp dụng DevOps trong môi trường học thuật.

Quản lý Mã nguồn Phân tán và Quản lý Mã Hợp tác

  • Cơ bản về Git cho công việc kỹ thuật và thiết kế có thể tái lập.
  • Các chiến lược phân nhánh: trunk-based, feature branches và GitFlow được đơn giản hóa.
  • Pull requests, rà soát đồng nghiệp và sở hữu mã trong các nhóm giảng dạy.
  • Quản lý các tài sản phi mã: tệp CAD, mô hình BIM, tập dữ liệu mô phỏng.
  • Tổ chức kho lưu trữ cho tài liệu khóa học và dự án sinh viên.

Tích hợp Liên tục và Tự động hóa Xây dựng

  • Các khái niệm CI và ứng dụng của chúng đối với các công cụ kỹ thuật đã biên dịch và kịch bản.
  • Cài đặt xây dựng tự động cho phần mềm, mô phỏng và tài liệu hóa.
  • Các giai đoạn đường ống: biên dịch, đóng gói, lint và các kiểm tra sơ bộ.
  • Tổng quan về các nền tảng CI phổ biến: GitHub Actions, GitLab CI, Jenkins.
  • Xử lý các tệp lớn, bộ nhớ cache phụ thuộc và thực thi song song.

Chất lượng Phần mềm và Phân tích Tĩnh

  • Định nghĩa chất lượng phần mềm: khả năng bảo trì, độ tin cậy, khả năng sử dụng, hiệu suất.
  • Các chỉ số mã: độ phức tạp cyclomatic, coupling, cohesion và sự trùng lặp.
  • Công cụ phân tích tĩnh cho Python, Java, C++ và các kịch bản kỹ thuật phổ biến.
  • Tài liệu hóa như một phần của chất lượng: docstrings, tiêu chuẩn README và tài liệu sống (living docs).
  • Tích hợp các cổng chất lượng vào đường ống CI mà không cản trở tiến độ của sinh viên.

Chiến lược Kiểm thử và Thiết kế Kiểm thử

  • Kim tự tháp kiểm thử: kiểm thử đơn vị, tích hợp, hệ thống và chấp nhận.
  • Viết kiểm thử đơn vị cho các phép tính kỹ thuật, mô phỏng và tiện ích.
  • Cơ bản về Phát triển hướng Đơn vị (TDD) và Phát triển hướng Hành vi (BDD).
  • Mô phỏng các hệ thống bên ngoài: cảm biến, API, bộ giải phần tử hữu hạn.
  • Cấu trúc bộ kiểm thử cho các dự án nhóm liên ngành.

Tự động hóa Kiểm thử và Kiểm thử Liên tục

  • Tự động hóa việc thực thi kiểm thử trong các đường ống CI/CD.
  • Báo cáo kiểm thử, ngưỡng độ bao phủ và quản lý các kiểm thử không ổn định (flaky tests).
  • Kiểm thử dựa trên thuộc tính và fuzzing cho các thuật toán kỹ thuật.
  • Chiến lược kiểm thử hồi quy cho các bài tập khóa học đang phát triển.
  • Kiểm thử hiệu suất và tải cho các tác vụ mô phỏng và render.

Các khái niệm Giao hàng Liên tục và Triển khai

  • Cơ bản về CD: giao hàng so với triển khai, môi trường và quy trình nâng cấp.
  • Các mô hình triển khai: blue-green, canary và các công tắc tính năng.
  • Áp dụng các nguyên lý CD để xuất bản các sản phẩm nghiên cứu, trang khóa học và ứng dụng.
  • Cơ bản về Container với Docker cho các môi trường kỹ thuật có thể tái lập.
  • Giới thiệu Hạ tầng như Mã (Infrastructure as Code): quản lý cấu hình phòng thí nghiệm và đám mây một cách khai báo.

Khả năng Quan sát, Giám sát và Phản hồi

  • Logging, metrics và tracing cho phần mềm học thuật và các mô phỏng.
  • Cài đặt giám sát nhẹ cho các dự án sinh viên và công cụ nghiên cứu.
  • Sử dụng dữ liệu phản hồi để lặp lại cải tiến tài liệu giảng dạy và bài tập phòng thí nghiệm.
  • Bảng điều khiển và cảnh báo phù hợp với bối cảnh giáo dục.
  • Xác minh sau khi triển khai và các thủ tục hoàn tác (rollback).

Thực hành Tốt nhất về Bảo mật và Chất lượng

  • Nền tảng viết mã an toàn: xác thực đầu vào, xác thực và quản lý bí mật.
  • Quét phụ thuộc và quản lý lỗ hổng trong các hệ sinh thái mã nguồn mở.
  • Tuân thủ giấy phép cho phần mềm được sử dụng trong giảng dạy và xuất bản.
  • Các cân nhắc về quyền riêng tư dữ liệu khi xử lý dữ liệu sinh viên và nghiên cứu.
  • Xây dựng văn hóa nhạy bén về bảo mật trong các chương trình kỹ thuật và thiết kế.

Chuyển đổi Thực hành thành Các Mô-đun Giảng dạy

  • Thiết kế các bài tập dự án Agile cho sinh viên kỹ thuật hệ thống, dân dụng, thiết kế và kiến trúc.
  • Tạo bảngrubric đánh giá chất lượng quy trình song song với chất lượng sản phẩm.
  • Cài đặt các kho lưu trữ mẫu với CI được cấu hình sẵn cho sinh viên sử dụng.
  • Xây dựng nền tảng các khái niệm DevOps một cách tuần tự trong suốt một học kỳ.
  • Đánh giá các nhóm sinh viên sử dụng các chỉ số chất lượng và tự động hóa từ thế giới thực.

Lựa chọn Bộ Công cụ và Các Ràng buộc Học thuật

  • Đánh giá các công cụ miễn phí và mã nguồn mở cho các khoa chú trọng ngân sách.
  • Tích hợp với LMS hiện có, lưu trữ tệp và cơ sở sở hạ tầng phòng thí nghiệm.
  • Quản lý nợ kỹ thuật trong các codebase nghiên cứu chạy dài hạn.
  • Hỗ trợ sinh viên và giảng viên có nền tảng kỹ thuật khác nhau làm quen với công cụ.
  • Duy trì tính bền vững khi các cộng tác viên chủ chốt tốt nghiệp hoặc luân chuyển công việc.

Yêu cầu

  • Hiểu biết cơ bản về các khái niệm phát triển phần mềm.
  • Quen thuộc với các quy trình làm việc chung về kỹ thuật hoặc thiết kế.
  • Kinh nghiệm sử dụng máy tính cho công việc học thuật hoặc dựa trên dự án.

Đối tượng tham gia

  • Giáo sư và giảng viên từ các chương trình Kỹ thuật Hệ thống, Kỹ thuật Dân dụng, Thiết kế và Kiến trúc.
  • Nhân viên giảng dạy muốn hiện đại hóa phương pháp giảng dạy của mình bằng các thực hành phù hợp với ngành công nghiệp.
  • Trưởng nhóm nghiên cứu và điều phối phòng thí nghiệm tích hợp công nghệ vào chương trình giảng dạy.
 42 Giờ

Số người tham gia


Giá cho mỗi học viên

Đánh giá (2)

Các khóa học sắp tới

Các danh mục liên quan