F27IP Industrial Project: Software Development Methods (GA)

Dr Idris Skloul Ibrahim

Course co-ordinator(s): Dr Idris Skloul Ibrahim (Edinburgh).

Aims:

This is an Industrial Project course that consists of two parts: Work-based Learning (WBL) and an Industrial Project.

The WBL part of the course will deliver work-based blended on-line learning material. Topics learned may be subject to continuous e-assessment. This course introduces topics in legacy systems, software development life cycle, system configuration and release management.

The Industrial Project part of the course will require the student to perform/implement an industrial project, embedded in and contextualised for the host company, focusing on the practical techniques learned in the WBL part of the course.

Detailed Information

Pre-requisites: none.

Location: Edinburgh.

Semester: 3.

Syllabus:

  • Legacy systems: software architectures and technologies; risk associated with replacing or keeping legacy systems; common pitfalls and mitigations
  • Software Development Life Cycle (SDLC): software Deployment; Software Maintenance; Continuous Integration (e.g. Jenkins)
  • System configuration and Release Management: system configuration process; Version control (e.g. GitHub, GitLab, and Bitbucket); Software release management methods & tools; Leveraging virtualisation technologies such as Docker and VirtualBox to create and manage isolated virtual environments for software development, testing, and deployment.
  • Industrial project development (incl. project scope and design, planning, requirements engineering, system implementation, software testing and evaluation, and critical assessment)

Learning Outcomes: Subject Mastery

  • Understand legacy systems’ architectures and technologies; and be able to assess the risks towards modernisation (e.g. towards virtualisation)
  • Understand high level activities in the Software Development Life Cycle, Software Deployment and Maintenance
  • Understand methods, technologies and tools of software release management and version control
  • To be able to use a software version control tools to manage software development, e.g. Git
  • To be able to use virtualisation technologies for software development and deployment, e.g. Docker
  • To be able to scope, plan, implement and evaluate an industrial project
  • To understand the time and effort involved in implementing an industrially-based project

Learning Outcomes: Personal Abilities

  • To be able to relate learned knowledge to work place computing projects
  • To be aware of distinctive features of work-based blended learning.
  • To be able to identify, define, and analyse alternative project scenarios
  • Take some responsibility for their work and for a range of resources
  • To be able to communicate effectively with colleagues at work place and extract and organise requirements effectively

Assessment Methods: Due to covid, assessment methods for Academic Year 2021-22 may vary from those noted on the official course descriptor. Please see the Computer Science Course Weightings and the Maths Course Weightings for 2020-21 Semester 1 assessment methods.

SCQF Level: 7.

Credits: 15.