This topic provides a quick review of Java Objects, Classes and Interfaces. You will also cover packages, constructors, polymorphism, information hiding and abstract classes.
All programming languages will have support for a range of common data structures. Unlike typical dynamic programming language, collections are implemented as a standard library in Java (as opposed to being built in). We will survey the major features of this library, focusing on the principle interfaces and implementations. There is considerable more to collections, which should be investigated independently.
Serialization is the process of translating data structures or objects into a suitable format that can be stored in a file or transmitted across a network. Deserialization is the process of reconstructing that data later (possibly in a different computer environment). In this topic you will use Java object serialization to read(deserialize) and write(serialize) data to files.
As you begin to create more complex programs that process large amounts of data you will need to consider performance (e.g. how long will my program take to run?). This topic introduces the scientific method for predicting the running time of your algorithms. You will also learn how to produce mathematical models for algorithms and estimate an algorithms order of growth using tilda notation.