Agile Software Development - Waterford

The focus is on use of Agile Development methods requiring test-driven developed and regular automated software builds. The aim is to assemble a toolkit of modern tools that enable the set-up of a software development process where this structure is automated by the tools. Students taking this module should have strong object-oriented programming and design skills (e.g. be graduate of a BSc(Hons) or BEng involving significant programming experience) with a moderate understanding of computer architecture, operating systems and distributed computing.

The module guides you through a variety of Agile tooling and technologies that you will use to support and automate your development process. Initially, you will be introduced to the Kotlin programming language, which will be used in conjunction with the Javalin lightweight web framework to build a RESTful API. During the app development process, the lab exercises will utilise a variety of technologies and Continuous Integration and Continuous Deployment (CI/CD) tooling such as Swagger for API design and documentation, Maven to automate the build process, Heroku to host the app, PostgreSQL and Jetbrains Exposed to provide persistence, Vue to develop the UX, JUnit5 and Unirest to perform automated unit and integration testing, GitHub for version control, and so on. This module is designed to be very practical serving, and should you choose to pursue the Master’s degree, the contents of the module supports software development for the dissertation.

Subjects taught

Indicative Content

Introduction to Agile Development e.g. object oriented programming review; agile practices; SOLID principles

Test Driven Development (TDD) e.g. Principles of testing; unit testing; integration testing; performance testing; TDD patterns

Developer Operations e.g. principles of automated build management and continuous integration

Frameworks e.g. Web App Frameworks; Model-View-Controller; Reactive Patterns; RESTful APIs; Serialization and Parsing (such as XML, JSON, YAML)

Entry requirements

Applicants will normally require an Honours Degree in Computing or equivalent. The course is targeted at IT professionals who would participate in the programme on a part-time basis and complete the programme over two years.

Applicants who don't currently meet the entry requirements may be able to advance their applciation using the Recognition of Prior Learning (RPL) mechanism. RPL allows candidates to make a case that they do meet entry requirements through a combination of formal certified learning and learning through experience (most typically work experience). RPL applications must be made by filling out (please type) the word documentRPL form and submitting it along with supporting documents such as academic certificates and transcripts etc.

Applicants whose first language is not English must submit evidence of competency in English.

Duration

3 months blended.

Enrolment dates

Starting September 2024

More details
  • Qualifications

    Minor Certificate (Level 9 NFQ)

  • Attendance type

    Part time,Blended

  • Apply to

    Course provider