Module Overview

Java & Algorithms

This module gives the learner a grounding in the Java programming language and analysis and design of computer algorithms in a variety of Computer Engineering applications, in particular those underpinning the operation of database management systems.

Module Code

ELTC H3028

ECTS Credits

5

*Curricular information is subject to change

Introduction to Java

A short introduction to the Java programming language, building on the learner's prior knowledge of object-oriented languages. I/O. Computation. Classes and objects. Inheritance, encapsulation, polymorphism. Concurrency and threads.

Algorithm Analysis

Mathematical background; running time calculations; testing and interpretation

Abstract data types

Lists, stacks, queues, trees, hash tables. Analysis and use of these ADTs

Sorting and searching

Basic sorting techniques, e.g. Insertion sort, selection sort; Advanced techniques, e.g. shellsort; heapsort; quicksort

Algorithm Design Techniques

Greedy algorithms; divide and conquer

Introduction to Java

A short introduction to the Java programming language, building on the learner's prior knowledge of object-oriented languages. I/O. Computation. Classes and objects. Inheritance, encapsulation, polymorphism. Concurrency and threads.

Algorithm Analysis

Mathematical background; running time calculations; testing and interpretation

Abstract data types

Lists, stacks, queues, trees, hash tables. Analysis and use of these ADTs

Sorting and searching

Basic sorting techniques, e.g. Insertion sort, selection sort; Advanced techniques, e.g. shellsort; heapsort; quicksort

Algorithm Design Techniques

Greedy algorithms; divide and conquer

This module is delivered through a combination of face-to-face lectures, emphasizing interactive problem-solving, with lab-based programming drills and assignments to analyze and compare algorithms' performance, and combine and develop them to solve real-world problems.

Module Content & Assessment
Assessment Breakdown %
Formal Examination70
Other Assessment(s)30