Introduction

The java programming language is a mature, well understood language that powers many enterprises and public web applications. Originally design for the consumer electronics market, it was quickly adopted as general purpose, versatile language relatively easy to learn and master.
Basics + Arrays

The core syntax of Java is from the 'C' Family of languages, sharing many of the lexical conventions and structures of C, C++. C# and Go. The array syntax deviates a little however.
Classes

Classes are the fundamental abstraction in the language. Understanding their structure, layout and semantics is essential. In particular a clear understanding of the difference between static and regular attributes & methods + the role of the Object pseudo class is essential.
Control Statements

The set of control statements are largely inherited from C and C++. There are small number of these and their structure and behaviour is largely unsurprising.
Object Oriented Concepts

Behind the language are a set of well-understood principles. These principles are independent of Java, but underpin its structure and meaning. Understanding these principles is important and is a useful starting point for comparing Java and the features of other programming languages.
Lab-02 CLI & Classes

Evolve the application developed in lab01 into a simple command line app. Incorporate commands for creating, deleting and listing users. Explore List, ArrayList, Map, HashMap in this context and introduce the guava and cliche libraries.