COMPGC02 - Design

This database contains the 2017-18 versions of syllabuses. Syllabuses from the 2016-17 session are available here.

Note: Whilst every effort is made to keep the syllabus and assessment records correct, the precise details must be checked with the lecturer(s).

CodeCOMPGC02
YearMSc
PrerequisitesThis course should be taken in conjunction with the core courses for MSc Computer Science.
Term1
Taught By

Yun Fu (50%) [Module Lead]
Dean Mohamedally (30%)
Chris Evans (20%) [HCI Tutor]

AimsThis project based course introduces the concepts and methods required for the design and construction of apps software systems for a real world client. It aims to develop a broad understanding of the disciplines of requirements and prototyping in human computer interaction (HCI), project management and software engineering. It aims to realise a research and team coordinated approach in an engineering, societal and managerial context. It applies the principles of programming with the development of apps via learning-by-doing and problem based learning (PBL) approaches. This is an intensely practical module and full student engagement outside of lectures and in lab classes is critical to successful completion of the module. To ensure that the process of designing and implementing web, mobile and cloud applications is fully understood, the module requires students to undertake a major group project where they must work with an external client to develop and deliver a working application. This takes students through all the stages of a software development project, applying the concepts taught via lectures and online material. Outcomes in addition to the software deliverable include real-world client engagement, team management and project documentation deliverables. The project clients come from a wide range of backgrounds, including companies of all sizes, the NHS, academic organisations and charities. Each client defines an application and technologies that they have a real need for and will put into use. A successful project will deliver a working proof of concept application ready for client handover as research materials. The interaction with clients to develop software meeting real-world needs and practical understanding of the human-computer interaction methods is a unique and defining characteristic of this module, and provides students with a thorough introduction to the processes and challenges involved.
Learning Outcomes

After completing the module attendees will:

  • Be able to demonstrate the principles of appropriate HCI, project management and software engineering methods.
  • Be able to design, document and implement the software for a real-world client application, which could be a mobile app, cloud app or webservice.
  • Be able to design and implement graphical user interfaces suitable for scaling on multiple devices and resolutions.
  • Have experience of effective team work methods, project documentation and project organisation skills.
  • Have experience of interacting with a real client with user centred design methods considerations weighted strongly in the design aspect of the project.

Content

Project work

The apps development project begins at the start of term in September, with three major milestones (Requirements and HCI, Prototype and Deliverable) and continues through to early January when the final submission is made.

Client and Project Management

  • Working as an effective software development team
  • Preparing project timelines and document templates
  • Communicating and documenting effectively all engagement with clients to meet requirements

Human Computer Interaction

  • Overview of HCI
  • Gathering Data from Users
  • Understanding user needs/requirements
  • Design Guidelines
  • Principles of graphical user interface design and implementation.
  • Sketching and Prototyping
  • Evaluation

Mobile, Cloud and Web Service development

  • Designing a web or mobile app application
  • Mobile app frameworks
  • Data storage
  • Analytics

Group formation

Students are split into project groups with around 2-3 members, each group being allocated a client who provides the requirements for the app to be developed. Project groups are selected by the module organisers, who also provide the clients. Project groups are responsible for organising themselves, submitting regular progress reports and working with the client. Lecturers and teaching assistants monitor progress and provide feedback.

Group deliverables

Regularly bi-weekly progress reports and three milestone submissions are made during the course of the project. The final submission includes the working version of the client’s application, video of the application, poster for the application, and project report documentation for both the client and for examination.

Individual deliverable

Each student is required to submit an individual report giving an evaluation of the project and an assessment of each group member including themselves.

Method of Instruction

Lecture presentations and online material. Group project tutorials and group working (self-directed learning). 

Assessment

The course has the following assessment component:

  • Coursework (1 piece, 100%)

To pass this course, students must:

  • Obtain an overall pass mark of 50%

Resources

Reading list available via the UCL Library catalogue.