Software Internship / Professional Practice
Description
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
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.
Understand the importance of project management and its practical application to the software development process.
Use an appropriate development methodology to create or maintain a complex software application.
Understand the issues involved in designing, developing and maintaining software that utilises complex heterogeneous data.