Course Overview

“Java continues to be the leading language in the world of development.”


Java brings an Object-Oriented approach to programming, which allows even the newest Java developers to start modelling the world around them in code, and to start coding like a developer.

This course provides an overview of the software development process in addition to introducing important programming constructs and methodologies. As this is an introductory course, no pre-requisite qualifications are necessary, but any experience in Computing and particularly in Programming is advantageous.

This course is designed to meet the needs of candidates who are currently working in related fields and want to up-skill or for those who wish to pursue entry-level roles in the ICT sector. This course is also ideal for those who wish to pursue further study in Computer Science.

Why Study Java Programming?

  • Java Developers average salaries in Ireland range from around €40,000 to €70,000
  • Skilled Java Developers are very much in demand in Ireland
  • Rapid career progression is available based on performance

Java is the most commonly used programming language in the world.
According to the computer software company, Oracle, 3 billion devices run on Java. It is a solid core language that you will find in web and non-web environments, all operating systems and in all types of devices and it is a great precursor to learning other programming languages.

A good understanding of Java will prepare you for many open, well-paying developer jobs.

Course Modules

  1. An Introduction to Programming in Java
    1. What is programming?
    2. What is needed to become a good programmer?
    3. Program Implementation and IDEs – Software setup
    4. What is JVM?
    5. Hello World! – the first step
  1. Variables
    1. What is a variable? How to declare and create one?
    2. What can be done with variables – basic operations.
  1. Interacting with running programme
    1. Reading inputs from Console
    2. Writing outputs to Console
  2. Working with String objects
    1. What are and why do we need String objects?
    2. String manipulations
    3. Consequences of Immutability
    4. StringBuilder
  3. Arrays
    1. Why we need to store data in Arrays
    2. How to set up an Array
    3. Accessing, modifying and deleting elements of an Array
    4. Differences between objects and primitives
  1. Conditional Statements
    1. What is a conditional statement and how to use it
    2. Types of conditional statements
  1. Loops
    1. There are 4 types of loops – what are the typical use cases
    2. How to declare a loop?
    3. Arrays and loops
    4. What is an infinite loop? Good practices
  1. Functions
    1. Do we really need functions? (Yes, we do!)
    2. Why would we want to break up our code?
    3. How to declare a function?
    4. What is a function signature?
    5. Function overloading. Good practices
  1. Exceptions
    1. What is an exception? Types of Exceptions
    2. How to handle exceptions gracefully?
    3. Keywords: try, catch, finally
    4. Throwing exceptions
    5. How to debug your code when something is wrong?
  2. File Handling – The basics of IO operations
    1. Reading from a file
    2. Writing to a file
    3. File Streams and Exceptions
  1. Basic Object-Oriented Principles
    1. Why do we need OOP
    2. What are the pillars of OOP?
  1. Class
    1. Declaration and initialization
    2. Class vs Object
    3. Elements of a class
    4. Encapsulation and hermitization
  1. Constructors
    1. What is a constructor
    2. Keyword: this
    3. Constructor overloading
  2. Methods:
    1. Method vs Function
    2. Setters and Getters
  3. Inheritance
    1. How to implement inheritance
    2. Keyword: super, static, final
    3. Access modifiers
  4. Polymorphism
    1. What is it?
    2. Do we really need it?
    3. Method overriding
  5. Abstract class and Interface
    1. Similarities and differences
    2. Keyword: abstract
    3. Typical use cases
  6. Java Collections – basics
    1. List
    2. Set
    3. Map
  7. Functional interfaces and Lambda expressions
    1. What is a functional interface? Built-in examples
    2. What is a Lambda expression? How to declare one
    3. Stream API

Learning Outcomes

As well as learning the basics of coding, you will learn some of the disciplines needed. These include organisation, research, teamwork, and perseverance.

Course Award

A City College’s Professional Diploma Course is a focused, practical programme designed and delivered by an industry practitioner, that consolidates, upskills or reskills learners in a professional area. They are stand-alone qualifications that indicate that you have been trained in a particular area or specific subject matter.

City College Diplomas are suitable for career minded learners wishing to advance their professional skills and prospects. They are widely accepted by employers and many students are sponsored to study here by their organisation.


A pass grade on the written assignment will be required for awarding the Diploma.

Similarly, the Project must be handed in on the due date unless a sound reason for lateness is provided. In such instances, an extension may be awarded at the discretion of the lecturer.


Kamil Reczek

Kamil is a software engineer with over 8 years of experience. Working mainly (but not only) with Java related technologies and frameworks (Java EE, Hibernate, Spring, Spring Boot, MVC, JPA, WebServices, etc.). He is also skilled in optimizing and tuning database queries (Oracle, SQL Server, PostgreSQL). Problem solver. Agile methodologies enthusiast.

Kamil originally worked in the Production and Logistics sector before moving to FinTech. He was part of several multinational projects, which delivered state of the art Intralogistic optimization software for WMS- and MFC-class systems. Currently employed in world leading FinTech company, responsible for developing and maintaining world class Anti-Money Laundering solutions.




Contact Us

Contact Us

We would like to hear from you. Please send us a message by filling out the form below and we will get back with you shortly.

live online
Live online training with real-time instructor-student interaction.
  • Live & fully online
  • Archived for review
January 2023
10 weeks, 1 evening per week from 6.30 to 9.30pm GMT
Study in a classroom environment one evening a week.
  • City centre location
  • Fully interactive
  • Limited class sizes
January 2023
10 weeks, 1 evening per week from 6.30 to 9.30pm GMT

Related Courses

Diploma in Python Programming

Diploma in Programming Fundamentals

Why City Colleges?

Industry Expert-led courses

Choose from one of our 100 courses, spanning 7 faculties, with over 16,000 graduates

Innovative and flexible study modes

Choose to study in one of our expertly led classroom and online environments

Deposit & instalment Options Available

Sign up to our courses with a deposit and structured payment plan.

Interactive Classes

We offer fully interactive classroom environment courses