HUNTERTUTORING

Software engineering

Undergraduate · CS / Programming

Syllabus focus

Topics typically covered

Standard syllabus

Process and requirements

  • Software lifecycle models: waterfall, agile, DevOps (survey)
  • Requirements elicitation and user stories
  • Use cases, scenarios, and acceptance criteria
  • Version control workflows: branching strategies
  • Estimation, planning, and risk management (intro)

Design and quality

  • UML diagrams: class, sequence, component (intro)
  • Design principles: cohesion, coupling, SOLID (intro)
  • Design patterns: strategy, observer, factory (intro)
  • Testing: unit, integration, system; test-driven development
  • Code review, static analysis, and coding standards

Process and design

  • Requirements, user stories, and acceptance criteria
  • Architecture diagrams and modular design
  • Design patterns commonly used in industry (survey)
  • Testing pyramid: unit, integration, E2E
  • Code review culture and definition of done
  • Technical debt identification and prioritization

STEM / applied

Team projects

  • Agile ceremonies: standups, sprints, retrospectives
  • CI/CD pipelines for build and test automation
  • API design and documentation (OpenAPI intro)
  • Deployment environments: dev, staging, production
  • Incident response and postmortems (intro)

Architecture and ethics

  • Layered, microservices, and monolith tradeoffs (survey)
  • Security in the SDLC: threat modeling (intro)
  • Accessibility and inclusive design requirements
  • Technical debt and refactoring strategies
  • Professional ethics, licensing, and open source

Team delivery

  • Agile ceremonies without cargo-culting
  • Issue tracking and milestone planning
  • CI quality gates and release notes
  • Observability as part of shipping
  • Working with legacy code and strangler patterns
  • Capstone: multi-week team project with retros

Notes

Often includes a semester team project. Process emphasis (Scrum vs plan-driven) varies by instructor.