Get in Touch
 Duration 42 hours (6 days)

Course Outline

Foundations of Agile Thinking

  • Analysis of the Agile Manifesto and its applicability to sectors beyond software engineering
  • Comparative assessment of agile methodologies versus traditional waterfall and plan-driven frameworks
  • Alignment of Scrum roles, events, and artifacts with academic project management cycles
  • Application of Kanban and flow-based management strategies for research and instructional teams
  • Selection of agile hybrid models appropriate for engineering and design operational environments

Agile Planning and Collaboration

  • Formulation of user stories and definition of acceptance criteria for complex engineering challenges
  • Backlog prioritization methodologies, including MoSCoW, value-to-effort analysis, and risk-based sequencing
  • Sprint planning and estimation techniques adapted for non-software engineering teams
  • Implementation of retrospectives and continuous improvement processes within academic institutions
  • Utilization of collaboration tools and boards to support multi-disciplinary participant engagement

Introduction to DevOps Culture

  • Defining DevOps: Elimination of silos between development and operations functions
  • The CALMS model: Culture, Automation, Lean, Measurement, and Sharing
  • Integration of DevOps principles in research laboratories, civil engineering teams, and architectural studios
  • Cultivation of a blameless culture and effective feedback loops in educational settings
  • Ethical, security, and compliance considerations for DevOps adoption in higher education

Version Control and Collaborative Code Management

  • Git fundamentals applied to reproducible engineering and design workflows
  • Branching strategies: Trunk-based development, feature branches, and simplified GitFlow
  • Pull request processes, peer review standards, and code ownership within teaching teams
  • Management of non-code assets, including CAD files, BIM models, and simulation datasets
  • Repository structuring for course materials and student project deliverables

Continuous Integration and Build Automation

  • Core CI concepts and their application to compiled and scripted engineering tools
  • Configuration of automated builds for software, simulations, and technical documentation
  • Pipeline stage definitions: Compilation, packaging, linting, and pre-flight verification
  • Overview of prominent CI platforms: GitHub Actions, GitLab CI, and Jenkins
  • Strategies for handling large artifacts, dependency caching, and parallel execution

Software Quality and Static Analysis

  • Defining software quality parameters: Maintainability, reliability, usability, and efficiency
  • Code metric analysis: Cyclomatic complexity, coupling, cohesion, and duplication rates
  • Static analysis tools for Python, Java, C++, and standard engineering scripting
  • Documentation as a quality mechanism: Docstrings, README standards, and living documentation
  • Integration of quality gates into CI pipelines while maintaining student learning progression

Testing Strategies and Test Design

  • The testing pyramid structure: Unit, integration, system, and acceptance testing
  • Creation of unit tests for engineering calculations, simulations, and utility functions
  • Foundations of Test-Driven Development (TDD) and Behavior-Driven Development (BDD)
  • Mocking external systems, including sensors, APIs, and finite-element solvers
  • Structuring test suites for multi-disciplinary team-based projects

Test Automation and Continuous Testing

  • Automation of test execution within CI/CD pipelines
  • Test reporting mechanisms, coverage thresholds, and management of unstable tests
  • Application of property-based testing and fuzzing to engineering algorithms
  • Regression testing strategies for evolving course assignments and requirements
  • Performance and load testing for simulation and rendering workloads

Continuous Delivery and Deployment Concepts

  • CD fundamentals: Distinction between delivery and deployment, environment management, and promotion
  • Deployment patterns: Blue-green, canary releases, and feature toggles
  • Application of CD principles to publishing research artifacts, course sites, and applications
  • Container basics using Docker for creating reproducible engineering environments
  • Introduction to Infrastructure as Code: Declarative management of lab and cloud infrastructure

Observability, Monitoring, and Feedback

  • Logging, metrics, and tracing for academic software and simulation tools
  • Implementation of lightweight monitoring for student projects and research utilities
  • Leveraging feedback data to refine teaching materials and laboratory assignments
  • Dashboards and alerting systems tailored for educational contexts
  • Post-deployment verification protocols and rollback procedures

Security and Quality Best Practices

  • Secure coding fundamentals: Input validation, authentication, and secret management
  • Dependency scanning and vulnerability management in open-source technology stacks
  • License compliance for software utilized in teaching and public publication
  • Data privacy considerations for the handling of student and research data
  • Establishing a security-aware culture within engineering and design programs

Translating Practices into Teaching Modules

  • Design of agile project assignments for students in systems, civil, design, and architecture disciplines
  • Development of rubrics that assess process quality in conjunction with product quality
  • Configuration of template repositories with pre-configured CI for student utilization
  • Progressive scaffolding of DevOps concepts across the semester duration
  • Evaluation of student teams using real-world quality and automation metrics

Toolchain Selection and Academic Constraints

  • Evaluation of free and open-source tools for budget-constrained departments
  • Integration with existing Learning Management Systems (LMS), file storage, and lab infrastructure
  • Management of technical debt in long-term research codebases
  • Onboarding strategies for students and faculty with varying technical proficiency levels
  • Ensuring sustainability when key contributors graduate or rotate out of positions

Requirements

  • A basic understanding of software development concepts
  • Familiarity with general engineering or design workflows
  • Experience using computers for academic or project-based work

Audience

  • Professors and lecturers from Systems Engineering, Civil Engineering, Design, and Architecture programs
  • Academic staff seeking to modernize their teaching with industry-relevant practices
  • Research leads and lab coordinators integrating technology into curriculum

Number of participants


Price per participant

Testimonials (2)

Upcoming Courses

Related Categories