Software Internship / Professional Practice


The software placement / internship offers the student the opportunity to apply the knowledge and skills gained throughout the course in a relevant work-place setting and facilitates the student in developing the practical competencies and communication skills necessary to function as an effective team member in the work environment.

In the event of a work placement not being available to a student, the student will be required to undertake the following:

  • Work on a 20-credit team-based software development project. The project will provide the learner the opportunity to gain experience at working on a project similar to one encountered in the software development industry, The project will be on a topic selected from a list, or alternatively one proposed by the student subject to suitability. The project must deal with a task or problem deemed to be of sufficient technical challenge and depth as agreed by an academic supervisor. Students will be encouraged to undertake the project as part of a team to simulate, in as far as possible, an industry placement / internship.
  • Successfully complete the 5-credit Project Management module and demonstrably apply general project management principles to their software development project.
  • Successfully complete the 5-credit Data Representation module and incorporate complex heterogeneous data formats and protocols into their software development project.
  • Present their project to an expert panel constituted from the Course Board and, if possible, a representative from the ICT industry.

A third pathway through Semester 6 is for a student to enrol in an Erasmus exchange programme with an appropriate academic institution subject to approval by the programme board.

Learning Outcomes

  1. Contribute as an individual or as a full team member to the design, development, maintenance or testing of software to solve a real-world problem.

  2. Understand the importance of project management and its practical application to the software development process.

  3. Use an appropriate development methodology to create or maintain a complex software application.

  4. Understand the issues involved in designing, developing and maintaining software that utilises complex heterogeneous data.

% Coursework 100%