Practical Software Development for Computational Scientists and Engineers Terry Sloan t.sloan@epcc.ed.ac.uk (Module Coordinator) in which we aim to introduce potentially useful techniques and related tools to assist the process of turning hackers into programmers into software engineers Practical Software Development: Overview 1 Learning Outcomes Develop and maintain multi-file programs in Unix Recognise and implement the key stages in code design and construction Produce a test plan Understand the benefits from the application of process Propose approaches to manage project risks Develop a professional approach to software development Practical Software Development: Overview 2 Course Structure Source Code Management – revision control, build management Software Design – requirements, evaluation, abstract data types Testing – developer testing, test management Software Projects – process, risk management, estimation – Communication, brief case study Practical Software Development: Overview 3 Housekeeping Attendance sheet Smart cards Safety procedures Feedback form Practical Software Development: Overview 4