19-20 CS1890: Software Design

The course addresses concepts required for performing software design activities, including: interpreting requirements, identifying software components, documenting software design and understanding various stages of development.
Problem based learning is emphasised and students will see how design is achieved in various current software engineering processes, including the waterfall and agile processes.