← All courses

Training

Course Outline - Java in-depth

Course Outline - Java in-depth

This five day beginners’ course is designed to equip the learner with ground-up knowledge to begin his / her Java journey. As Java covers a very large spectrum in the field of computer science, a strong foundation is necessary. This course attempts to achieve that.

Expected Outcome

By the end of this course, the learner shall be able to:

  • Understand what Java is.
  • Comprehend what Java can be used for.
  • Determine which version of Java is suitable for which job.
  • Select the correct Java framework for projects.
  • Code in Java via shell for fast prototyping.
  • Use modern IDE for coding in Java.
  • Use external Java libraries.
  • Create java libraries for distribution.
  • Create stand-alone software systems in Java.
  • Deploy applications developed in Java by ownself.
  • Debug and analyse issues with coding.
  • Understand the life-cycle of coding with Java.

Prerequisites

  • Access to PC [either one of these OS: MS Windows / Mac / Linux (ubuntu)]
  • Permission to remote into a server via SSH
  • Experience and understanding of filing system
  • Internet connection
  • Webcam (for online learning, not applicable for F2F)
  • Microphone (for online learning, not applicable for F2F)
  • Dual screens (for online learning, not applicable for F2F)
  • Very basic understanding of server architecture
  • Ability to comprehend the English language
  • Minimum 99% attendance
  • Basic education in mathematics (understanding of linear and non-linear mathematics at high-school level)

Outline

Duration: 5 days

Each Day: 8 hours, inclusive of 2 x 15 minute breaks and one hour lunch break.

The exact outline with respect to the days are as follows:

  1. Day 1
    1. Overview of Java
    2. Understand what different versions and forms of java are for:
      1. Java for application development
      2. Java for mobile app development
      3. Java for Web Application development
      4. Java as in integration tool
    3. Coding principles
      1. Algorithms
      2. Flow
      3. Logic
      4. Subroutines
      5. Dependencies
      6. Memory
    4. Coding in Jshell
      1. Hello World
      2. Mathematics operations
      3. Basic I/O
      4. Manipulation
      5. Expressions
      6. Variables
      7. Data Types
    5. Operators
    6. Conditions
    7. Loops
  2. Day 2
    1. Methods
      1. Creation
      2. Reusability
      3. Arguments
      4. Expressions
    2. Compiling
    3. Simple Deployment
    4. IDE
      1. Eclipse
      2. IntelliJ
      3. How to choose
    5. Integration
    6. Introduction to OOP
    7. Going deeper into OOP
    8. Refactoring
    9. Creating Objects from Classes
  3. Day 3
    1. I/O within Classes
    2. Encapsulation in coding
    3. Getters and Setters
    4. Properties and methods
    5. Abstractions
    6. Constructors
    7. File access
    8. Database Access
    9. Coding project
    10. Assessment
  4. Day 4
    1. Collections
    2. Lists and Arrays - in-depth
    3. Generics
    4. Functional Programming
    5. Recursion
    6. Streams
    7. Threads
    8. Multi-threaded programming
    9. Synchronisation
    10. Utility Execution
  5. Day 5
    1. I/O within Classes
    2. Encapsulation in coding
    3. Getters and Setters
    4. Properties and methods
    5. Abstractions
    6. Constructors
    7. File access
    8. Database Access
    9. Coding project
    10. Assessment

Practical, connected learning

My wider training approach brings hands-on implementation and systems thinking together, connecting technology with real operational needs.