Apply Now
Parent Programme
Bachelor in Computing (Level 7 NFQ)
NFQ Level & Reference
Level 6 / Ref: M2.10
12 Weeks X 3 Hours per week
Modern Programming Principles & Practice 2
Module Credit Units

Modern Programming Principles & Practice 2

Introduction to Programming

This module builds on stage one and Semester 1 extending prior knowledge of the principles of data structures and application design and furthers technical competence in implementing various computing artifacts. The module looks at the modern programming practices using OOP techniques and common design patterns and industry practices to build Well Architected solutions.

Indicative Syllabus Content

Object-Oriented Review

  • A review of basic OOP concepts from the previous semester

Object-Oriented Applications Design / Design Patterns / Security Concepts

  • Introduction to Object-Oriented software development and design
  • Web Development Design Patterns – MVC, MVVM
  • Design Patterns: Singleton, Observer, Factory, Decorator, Repository
  • Security Algorithms : JWT tokens, encryption libraries
  • OWASP Top 10 Web Application Security Risks

Data Structures, Files, Streams, Threading, Package Management

  • Data structures: arrays, lists, hash tables, queues, dictionaries, and stacks.
  • Collections and frameworks to manipulate collections (e.g. Linq)
  • File Input, Output, Streams
  • Threading and Parallel Execution
  • Package Management


  • Unit Testing
  • Automated UI testing
  • Integration Testing

Minimum Intended Learning Outcomes (MIMLOs)

Upon successful completion of this module, the learner should be able to:
Identify the benefits of Object- Oriented design and implementation.
Produce intermediate complexity level computing solutions using the principles of Object-Oriented Programming and design patterns.
Deliver solutions using a variety of rendering mechanisms including console, web markup and simple JSON and xml feeds via rest APIs.
Identify and install the appropriate libraries and packages in their chosen language for Object Relational Mapping to persist and read data from storage mechanisms such as files (text and binary formats) and SQL / NO-SQL databases.
Utilise industry best practices in developing secure and well architected and tested software applications.


1, 2, 3, 4, 5
CA 1 & CA 2 – Assignments
Total 100%
All Assessments

Reassessment Opportunity

Aims & Objectives

This module will ensure learners meet the following objectives:

    • Create an understanding of object creation and design and their role in producing a Well-Architected solution.
    • Introduce several fundamental data structures and programme designs and their applications in software development.
    • Ensure the appropriate use of collections for manipulating objects in memory.
    • Introduce Object Relational Mapping libraries for working with persistent storage mechanisms and collections.
    • Apply design patterns and security measures in the development of robust and secure applications.
    • Deliver output using a variety of rendering methods such as the console, web markup and data feeds (xml and json apis) which has been validated with unit tests, integration tests and UI tests.