COMPGC02 - Design
This database contains 2016-17 versions of the syllabuses. For current versions please see here.
|Year||MSc Computer Science|
|Prerequisites||This course should be taken in conjunction with the core courses for this programme (ie GC01, GC03, GC04 and GC05)|
|Taught By||Dean Mohamedally (50%), Lorna Wall (50%)|
This course introduces the concepts and methods required for the design and construction of apps software systems. It aims to develop a broad understanding of the disciplines of software engineering, project management and human computer interaction (HCI). It seeks to complement this with a detailed knowledge of techniques for the analysis, design and implementation of complex software intensive systems. It aims to set these techniques in an appropriate engineering, societal and managerial context. It applies the principles of OO programming (COMPGC01) in parallel with the development of apps via learning-by-doing and problem based learning (PBL) approaches.
After completing the module attendees will:
Topics covered in lectures or via online material:
Human Computer Interaction:
Overview of HCI
Gathering Data from Users
Understanding user needs/requirements
Sketching and Prototyping
Principles of graphical user interface design and implementation.
Mobile, Cloud and Web Service development:
Designing an app application.
Event driven programming.
Mobile app frameworks.
User interface design and implementation for touch based user interfaces.
Client and Project Management:
Working as an effective software development team
Preparing project timelines and document templates
Reporting effectively with clients to meet requirements
The apps development project begins at the start of term in September, and continues through to early January when the final submission is made.
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. Clients will enter a partnership agreement with the student team via UCL Advances. 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 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).
The course has the following assessment component:
- Coursework (1 piece, 100%)
To pass this course, students must:
- Obtain an overall pass mark of 50%
A UCL Library reading list can be found on Moodle.
The recommended OO programming text is:
Developing Java Software, 3rd Edition, R.Winder and G.Roberts, John Wiley and Sons, 2006 (ISBN: 0-470-09025-1-0)
A useful Android text is:
Beginning Android Application Development, W. Lee, John Wiley and Sons, 2012 (ISBN 978-1-118-01711-1)