Introduction to Java

Course

Inhouse

Price on request

Description

  • Type

    Course

  • Methodology

    Inhouse

  • Duration

    5 Days

Exercises take up around 50% of the course time. Each exercise is split up into a core section that all attendees are expected to complete, and several more challenging optional sections, some of which are for private study after the course. The course uses Linux/Solaris workstations and the JavaSE SDK. Compiling and running Java programs. Describing an object. Suitable for: The course is aimed at programmers about to embark on their first Java project. It is also suitable for technical project managers and analysts who need to get hands on experience and insights into Java programming. Experience with web technology, although useful, is not essential, as the relevant concepts will be explained where needed.

Questions & Answers

Add your question

Our advisors and other users will be able to reply to you

Who would you like to address this question to?

Fill in your details to get a reply

We will only publish your name and question

Reviews

Course programme

Overview
This is a course for programmers for whom Java will be their first encounter with an object oriented programming language. A 3 day version of this course is available for experienced C++ programmers
It concentrates on those parts of Java that form the Java Standard Edition (JavaSE) The introductory part of the course covers the principles of object oriented thinking and the use of UML to describe object oriented designs.

Key Skills
  • Understanding of the principles of object oriented thinking and of UML
  • Ability to build standalone Java applications and Applets
  • Understand how to build portable Graphical User Interfaces
  • Appreciate the potential benefits of multi-threading
  • Be able to implement networked client server applications using Sockets and Web based communication techniques
  • Perform File IO

Practical Work
Exercises take up around 50% of the course time. Each exercise is split up into a core section that all attendees are expected to complete, and several more challenging optional sections, some of which are for private study after the course.
The course uses Linux/Solaris workstations and the JavaSE SDK.
  • Compiling and running Java programs
  • Describing an object oriented application in UML
  • Specifying a GUI and realising it using AWT and JFC
  • Implementing a multi-threaded socket based server
  • Implementing an instance of the Observer pattern
  • Using multi-threading to implement a simple animation program
  • Understand recursive programming, and using a stack to implement a simple calculator program

Course Contents
The Background to Java
  • A little bit of history
  • The scope of Java
  • "Compile once - run anywhere"
  • Java security
  • Branches of the evolving Java family tree
Overview of Object Oriented Concepts and Java Programming
  • Running Java Programs and Applets
  • Program-driven vs. Event Driven applications
  • Object Oriented programming vs. procedural programming
  • Classes and objects in Java
  • Basic syntax - variables, statements, expressions
  • Flow control - conditionals and loops, exceptions (try and catch)
  • Functions and parameter passing
  • Object Composition
  • Inheritance and derived classes
  • upcasting and downcasting
  • Polymorphism and abstract classes
  • Interfaces
  • Modifiers and Access
  • Object Oriented Design with Use Cases and Scenarios
Arrays and Vectors
  • Java Arrays
  • Copying and Passing Arrays
  • Multi-dimensional arrays
  • Binary search of an ordered array
  • Bubble sort of an unordered array
  • Vectors and Enumerations
  • The observer pattern and its implementation in Java
Basic Graphics
  • Applets
  • The Abstract Windowing Toolkit (AWT) and Event Driven Programming
  • Drawing simple shapes
  • Drawing Text
  • Using Colour
Graphical User Interfaces (GUIs) and GUI Components
  • Java Foundation Classes (JFC)
  • Components, Containers, Flow Layout and Canvases
  • Button and Text fields
  • Checkbox and Choice
  • Drop Down Lists
  • Dialogs and Message Boxes
  • Border and Grid Layout
  • Gridbag Layout
Event Handling
  • Adapters and Listeners
  • Mouse Events
  • Keyboard Events
  • Window Events
  • Applets vs. Standalone applications
Exceptions
  • Exception Classes
  • Array out of bounds exceptions
  • Number format exceptions
  • Control flow during exception handling
Input Output
  • Java Streams
  • Accessing and manipulating files and directories
  • Text file IO
  • Binary IO
Introduction to Data Structures and Algorithms
  • Linked lists
  • Stacks
  • Recursion
Java Threads
  • Usefulness of multi-threading
  • Thread class
  • Synchronisation
  • Communication
  • Deadlock
  • Managing multiple threads with thread groups
Networking
  • Hypertext Transfer Protocol (HTTP) and URLs
  • URL class
  • URLConnection class
  • Connecting via a URL object
  • Connecting via a URLConnection object
  • Overview of TCP and UDP
  • Creating clients and servers using sockets
  • Creating a multi-threaded socket based server

Introduction to Java

Price on request