Skip to content

This is the multi-page printable view of this section. .

Return to the regular view of this page.

Curriculum Blueprint & Topics

Syllabus mapping, learning outcomes (LO1–LO6), and chapter topics for Object Oriented Development and Agile Practices.

    Object Oriented Development and Agile Practices (SE506)
    Module Leader: Dr. Polla Abdulhamid Fattah

    This blueprint documents the pedagogical structure of the course, its alignment with the SE506 module descriptor, and the chapter-by-chapter learning progression.

    Module Learning Outcomes

    LabelModule Outcome Focus
    LO1Object-Oriented Design & SOLID: Apply OO principles, responsibilities, cohesion, coupling, and SOLID to design maintainable software.
    LO2Design Patterns & Architecture: Select and justify creational, structural, and behavioral patterns and layered architectural styles.
    LO3TDD & Automated Testing: Apply test-driven development, Arrange-Act-Assert, test doubles, mocks, stubs, and integration contracts.
    LO4Code Smells & Refactoring: Recognize structural code smells and safely refactor legacy code using characterisation tests and seams.
    LO5Agile Planning & Flow Metrics: Plan and deliver iteratively using user stories, capacity planning, and empirical repository metrics (cycle time, throughput).
    LO6Professional Workflows & Reflection: Use professional Git workflows, pull request reviews, and critically justify design trade-offs.

    Chapter Curriculum Progression

    Part I: Foundations & Object-Oriented Principles

    1. Developing Software That Can Change

    2. Object-Oriented Development Beyond Syntax

    3. Agile Development and the Nature of Change

    4. From Requirements to an Iteration

    5. Responsibilities, Extension, and Substitutability

    6. Interfaces, Dependencies, and Composition


    Part II: Testing, Creation & Behavioral Patterns

    7. Testing as a Design Practice

    8. Creating and Connecting Objects

    9. Designing Changing Behaviour


    Part III: Architecture, Packages & Legacy Systems

    10. From Classes to Application Structure

    11. Refactoring and Legacy Code


    Part IV: Flow Metrics, Continuous Delivery & AI Assistance

    12. Measuring Progress, Flow and Technical Health

    13. Integration, Delivery and Feedback

    14. Responding to Change and Handing Over

    15. AI as a Software Engineering Assistant