Introduction to Java
Course
Inhouse
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.
Reviews
Course programme
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
- 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
- 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
- Applets
- The Abstract Windowing Toolkit (AWT) and Event Driven Programming
- Drawing simple shapes
- Drawing Text
- Using Colour
- 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
- Adapters and Listeners
- Mouse Events
- Keyboard Events
- Window Events
- Applets vs. Standalone applications
- Exception Classes
- Array out of bounds exceptions
- Number format exceptions
- Control flow during exception handling
- Java Streams
- Accessing and manipulating files and directories
- Text file IO
- Binary IO
- Linked lists
- Stacks
- Recursion
- Usefulness of multi-threading
- Thread class
- Synchronisation
- Communication
- Deadlock
- Managing multiple threads with thread groups
- 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