1. Java as a programming language
- Linguistic structure
- Automatic memory recovery – garbage collection
- Standard library: java.lang, java.util
- Data types: primitives and classes
- Type safe constants: enum
- Simple variables, vectors, objects
- Initialization: variables, vectors, objects
- Operators: arithmetic, comparative, logical
- Syntax for lambda expressions
- Selective statements: if, switch, ?/:
- Iterative statements: while, do/while, for
- Allocation rates
- Access control: public, private, (package), protected
- Type modifiers: static, final
- Type conversion: generalizing, specializing
- Annotations
- Autoboxing/autounboxing for primitive data types
- Exception handling: use, discard/catch exception items
- Recommendations for good coding practices
- Naming conventions: packages, classes, interfaces, methods, variables, art
- Support for documentation with JavaDoc
2. Object orientation with Java
- Introduction to object orientation
- Encapsulation: objects, classes, methods, attributes
- UML as a tool for OO diagrams
- Class relations: Aggregate, Association, User
- Inheritance, class hierarchies, polymorphism, metadata
- Constructors, abstract methods, abstract classes
- Interface definition and implementation
3. testing of Java programs
- Unit testing background, philosophy
- JUnit4 a framework for testing Java programs
- Test classes
- Test Siter
4. collections framework
- Type-safe collection classes for arbitrary object types
- Overall Collection, List, Set and Map interfaces
- Interfaces for traversal Iterator and ListIterator
- for:each loop for easy traversal of collection classes
- Comparable, Comparator, SortedSet and SortedMap sorting interfaces
- List implementation classes: ArrayList and LinkedList
- Set implementation classes: HashSet and TreeSet
- Map implementation classes: HashMap and TreeMap
- Resource classes Arrays and Collections
5. Currents in Java
- Streams as a concept: data flow between source and destination
- Default startup streams: System.in, System.out, System.err
- File management: FileInputStream, FileOutputStream
- Classes for handling character streams: Reader and Writer
- Store/read data types: DataInputStream, DataOutputStream
- Serialization: ObjectOutputStream, ObjectInputStream
6. Database management with Java
- JDBC architecture
- Addressing the database
- Connecting to database
- Sending SQL statements
- Management of responses from database: ResultSet
- DataSource for general database management
- Three-layer architecture for database applications
7. user interface with Java
- Graphical user interfaces for applications
– Swing
– JavaFX
– JSF
- MVC – Model View Controller
- Overview of the component architecture
- Components used
- Using layout managers
- Event management
8. distribution of Java applications
- JRE – Java Runtime Environment
- Archive types
– JAR – Java ARchive
– WAR – Web ARchive
– EAR – Enterprise ARchive
- Ant/Maven for building Java applications