Programming Fundamentals

John Fitzgerald (labs), Dr. Siobhan Drohan (lectures). Creative Commons License
1: Introduction to Java programming language
1: Introduction to Java programming language

Sample solutions are provided here to the exercises set in the introductory lab.

2: Analysis & refactoring class

2: Analysis & refactoring class

2: Analysis & refactoring class

Sample solutions are provided here to the exercises set in this lab.

3: Object Interaction
3.1: Object Interaction (Solutions)

Sample solutions are provided here to the exercises set in the lab relating to shapes, the ClockDisplay and NumberDisplay classes.

4: Grouping Objects
4.1: Grouping Objects (Solutions)

Sample solutions are provided here to the exercises set in the session Grouping Objects. The exercises relate to the BlueJ Notebook class and control flow. They also provide an opportunity to acquire some experience in the use of collections and iterators.

5: Assignment-1

This assignment is based on materials contained in the slide decks and labs in the first 4 topics, namely, Introduction to Java programming language, Analysis & refactoring class, Object Interaction and Grouping Objects.

Assignment-1 (Solution)

This is a sample solution for Assignment 1, the Gym App.

6: Persistence - CRUD and XML

6: Persistence - CRUD and XML

7: More on Collections

7: More on Collections

8: Inheritance and Polymorphism

8: Inheritance and Polymorphism

9: Assignment-2

You team's task is to build the Hare & Tortoise Board Game in Java.

10: Abstraction and Test Driven Development

10: Abstraction and Test Driven Development

11: Interfaces

11: Interfaces

12: Assignment-3

This assignment is based on the GymApp that we coded for Assignment 1. You will be enhancing it to add an inheritance hierarchy, abstraction and polymorphic behaviour.