Courses for incoming students in the School of Digital Technologies
SOFTWARE ENGINEERING AND DESIGN
Instructors
Mikhail Fiadotau
Contents
Software development life-cycle. Software maintenance and evolution. Team roles in software development. Waterfall and agile approaches to project management.
User experience and interaction design. Usability and accessibility. Audience analysis. Participatory design. Scenarios; personas; user stories. User engagement.
Paper prototyping; wireframing; high-fidelity prototyping. Design patterns. User interface frameworks.
Testing and usability evaluation. Functional and non-functional testing. Heuristic evaluation. White- and black-box analysis. Regression testing.
The primary objective is to provide a broad overview of the key concepts and approaches in software engineering and design. Additionally, the course offers students an opportunity for project-based teamwork that can inform their own instructional work.
Learning Outcomes
Upon completing the course the student:
- understand and articulate the key concepts in software engineering and design;
- analyze existing software in terms of usability, accessibility, and functionality;
- participate in, and manage, a small-scale software project;
- conceptualize a software project and design the user experience for it;
- create a prototype and test it;
- communicate the outcomes of the design process in a structured way.
Assessment Methods and Criteria
Examination