Apply Now
Parent Programme
Bachelor of Science in Computing (Level 7 NFQ)
Level 6
ECTS: 10
Programming Essentials
Reference Code: M1.5
Year 1
Semester 1
3.15 Hours per week

Programming Essentials Module

Programming Essentials - Theory Basics:

The .programming essentials module will develop a fundamental understanding of theoretical and practical programming concepts and gain essential coding skills required for a wide array of basic computations.

  • Define what a programming language is
  • Have some knowledge of the history of programming languages
  • Understand the function that a programming language fulfils: translating high level instructions to machine code
  • Classify modern programming languages
  • Examine the kinds of problems that can be automated
  • Outline the concept of an algorithm, and the different implementations of algorithms
  • Construct algorithms, pseudocode and flowcharts before implementation
  • Comprehend the functions that programming language fulfils, translating high-level instructions to machine code.

Techniques for implementing programs

Learners will understand the process of compiling and executing a program, learning to do this with the command line and also a simple Integrated development environment.

  • Read error messages and understand what they mean
  • Write a simple 'hello, world' program
  • Understand the concept of assigning a value to a variable; the concept of a variable type
  • Using specialised classes to take receive user input
  • Know flow control statements
  • Implement input and output in a programme.
  • Use the Scanner class and JOptionPane class to read user input
  • Understand arrays and array processing using iteration, array access and modification
  • Understand the concept of a function
  • Construct appropriate methods and use method calling
  • Understand method signatures: return types and parameters
  • Design and implement appropriate flow control construct for a problem
  • Evaluate common compiler error messages and resolve such errors
  • Construct arrays and implement array processing using iteration, array access and modification


  • Explain the concept of 'algorithm'
  • Design an algorithm using flowcharts or pseudocode
  • Examine and evaluate different algorithm options for solving problems
  • Implement and compare two searching algorithms: linear search and binary search
  • Explain substitution cypher encryption and decryption algorithms

Programming Essentials - Design Issues

  • Explain how models of development change depending on the project size
  • Outline the importance of design and documentation
  • Discuss the motivation for well-documented, uncomplicated code: to facilitate code re-use and easy discussion and co-operation in groups
  • Demonstrate an appreciation for software maintenance and how good maintenance and re-factoring requires clean and well documented code that follows naming conventions
  • Show a basic knowledge of principles of software testing and debugging
  • Be aware of the differences between programming languages and which programming languages are suited to particular class of tasks

Minimum Intended Learning Outcomes (MIMLOs)

Upon successful completion of this module, the learner should be able to:
LO 1
Define common programming language concepts
LO 2
Examine different algorithms and their use(s) in computer programming.
LO 3
Design a flowchart or pseudo-code to solve a real problem.
LO 4
Design and implement basic programmes in industry standard programming language(s), using different variable types and flow control techniques.
LO 5
Test and debug programming cod
LO 6
Interpret and utilise visual representations of programming concepts.
LO 7
Follow computer programming standards and best practices in designing and collaborating on code.


2, 3, 5, 6
CA 1 – In-class coding practical
1, 2, 5, 7
CA 2 – Coding project(s)
1, 2, 3, 4, 7

Reassessment Opportunity

Where the combined marks of the assessment and examination do not reach the pass mark the learner will be required to repeat the element of assessment that they failed. Reassessment materials will be published on Moodle after the Examination Board and will be aligned to the MIMLOs and learners will be capped at 40% unless there are personal mitigating circumstances.

Aims & Objectives

This module introduces the learner to programming and develops fundamental skills such as writing, editing, compiling and executing computer code and constructing algorithms to solve problems and produce working computing artefacts in a variety of computer programming languages.

This module will ensure learners meet the following objectives:

  • Introduce the concepts of computer programming, programming languages, algorithms, data structurers and automated problem-solving.
  • Develop problem-solving skills using computing programming.
  • Establish a basic grounding in an object-orientated programming language.
  • Develop techniques for implementing algorithms in an applicable object orientated language.
  • Introduce the importance of the design, documentation, testing and debugging phases of producing a computing artefact.