Postgraduate Course: Software Development (PGPH11081)
|School||School of Physics and Astronomy
||College||College of Science and Engineering
|Credit level (Normal year taken)||SCQF Level 11 (Postgraduate)
||Availability||Not available to visiting students
|Summary||Software development is more than just writing programs and this course provides an introduction to the
complete range of software development activities, from gathering requirements through to evaluation of
a finished product. The course describes how software development projects are created and managed
to achieve the delivery of high-quality, efficient, robust, portable, usable software products. You will be
introduced to areas of increasing prominence in both academia and industry including the importance of
software sustainability and the rise of agile methods and extreme programming. The course provides you
with valuable and practical software skills which are vital to the fields of HPC, computational science
The course covers the following topics:
- What is the software for - capturing requirements.
- What makes a good design and how we can tell.
- From design to code - detailed software design, abstract data types and GUI prototyping.
- Designing easy-to-use software - usability.
- Does the software meet its requirements - testing and test management.
- From requirements to products - software projects.
- Who does what - team working and roles.
- How the team interacts - project communications.
- How is the software developed - development models.
- What is done, when and how long for - task planning and estimation.
- Planning for the worst and keeping on track - managing risks and change.
- A more flexible approach - extreme programming and agility.
- Ensuring software lives on - sustainability and open source.
- Protecting ideas and people - licencing, IP and data protection.
Lectures are followed by tutored practical sessions illustrating the key concepts.
Entry Requirements (not applicable to Visiting Students)
||Other requirements|| None
Course Delivery Information
|Academic year 2016/17, Not available to visiting students (SS1)
|Learning and Teaching activities (Further Info)
Lecture Hours 22,
Seminar/Tutorial Hours 11,
Summative Assessment Hours 2,
Programme Level Learning and Teaching Hours 2,
Directed Learning and Independent Learning Hours
|Additional Information (Learning and Teaching)
Please contact the School for further information
|Assessment (Further Info)
|Additional Information (Assessment)
|No Exam Information
| On completion of this course you should be able to:
- Understand the distinction between computer programming and software development.
- Appreciate the fundamental importance of requirements.
- Understand the basics of good design and how to assess designs against requirements.
- Understand the different types of software testing.
- Recognise and implement the key stages in software development projects.
- Understand the main roles in software development teams.
- Propose approaches to manage change and risks in a project.
- Understand legal issues relating to the production and use of software and data.
- Develop a professional approach to software development.
|Graduate Attributes and Skills
|Course organiser||Mr Alistair Grant
|Course secretary||Ms Joan Strachan
Tel: (0131 6)50 5030
© Copyright 2016 The University of Edinburgh - 3 February 2017 4:58 am