About the Course#
Introduction to Java Platform Programming is designed as a comprehensive introduction to the Java Programming Language and standard platform libraries.
Course Goals#
Introduction To Java Platform Programming is designed to:
- introduce programmers with prior development experience in other programming languages to the complete syntax and semantics of the Java Programming Language
- introduce key, important parts of the standard Java SE Platform APIs
- ensure that course participants gain a high-level understanding of the Java Virtual Machine execution and memory models, including multi-threading and concurrency controls
Who Should Attend#
Introduction to Java Platform Programming is aimed at software developers who have experience programming in an object-oriented programming language.
Developers who lack exposure to object-oriented concepts can also achieve the course goals, but are unlikely to achieve a satisfactory level of proficiency in developing well-structured, maintainable and efficient Java programmes without additional tuition and coaching in OO concepts and design.
The course has also proven useful to software designers who need to gain an understanding of the Java Platform execution model, APIs and language capabilities, but who do not have a requirement to become involved in details of implementation.
The course is not suited to people who have no experience of software development. (And, no, HTML is not a programming language.)
Course Outline#
Introduction to Java Platform Programming is an instructor-led course of 5 days duration, and includes many practical reinforcement exercises. Course materials include a comprehensive instruction manual covering all the same topics as the lecture-based material. Participant numbers are limited: no more than 10 participants will be accommodated per course to ensure adequate time for one-to-one coaching.
What is covered by the course#
- Java basics
- language overview - compilation, the virtual machine and bytecode interpretation
- class source layout
- basic syntax, identifiers, keywords, types, operators, expressions & flow control
- arrays
- Object-oriented concepts as implemented in Java
- objects & classes: encapsulation, fields, methods, constructors & access control
- inheritance & polymorphism: overriding and overloading methods, abstract classes, interfaces, dynamic classloading and inversion-of-control
- static methods & variables; static initialisers
- enumerated values
- static imports
- packages
- nested & inner classes
- using generic classes
- Java API documentation
- using (and navigating) the Java Developers' Kit API documentation
- generating your own documentation - the JavaDoc tool
- Exception handling in Java
- Java's exception handling
- declaring exceptions
- writing exceptions
- throwing exceptions
- declared vs. runtime exceptions
- assertions
- Key Packages and Classes
- The Object class
- Strings and regular expressions
- Numbers and type-conversions
- Dates and times
- Formatting dates, times, numbers, currency
- Collections: runtime implications of key collection implementations
- Comparable and Comparators
- Observer and Observable
- Logging
- Properties and Preferences
- Directory-server access utilities
- Basic GUI Development Using Swing
- Construction graphical user-interfaces
- Overview of the Swing component-set
- Event-handling
- Files, I/O and Networking
- Files and file-system manipulation
- Data streams
- Text I/O
- Serialising objects
- Networking basics
- Threads and Concurrency
- Creating and managing Threads: asynchronous task execution
- The Java thread-scheduling model
- Communication between Threads
- Synchronized blocks
- (A brief) Introduction to the java.util.concurrent APIs</para
Optional Module: Accessing Relational Databases from Java
This module may optionally be included if required by clients. The module provides only an introduction to the low-level Java Database Connectivity (JDBC) APIs, and does not include discussion of object-relational mapping tools, the Java Persistence API or (EJB2) Entity Beans.
The "cost" of including this module is a reduced level of detail in several other modules and the ommission of some components.
Topics NOT Covered by this Course#
- EnterpriseJavaBeans EJB (J2EE) development
- Web-application development
- Web-services
- Accessing relational databases from Java, object-relational mapping
- J2ME (mobile-device development)
- Object-oriented concepts
- OO analysis and design
- Advanced use of Java for maximum performance and reliability
- Distributed systems programming in Java
- Advanced GUI development with Swing
- Developing generic classes and methods (advanced use of generics)
Related Courses#
- ElementsOfObjectOrientedProgramming
- Our ElementsOfObjectOrientedProgramming course may be appropriate for developers coming from structured-programming or 4GL backgrounds who feel that their understanding of basic OO concepts may not be up to scratch. Developers from non-OO backgrounds should attend the Elements course before attending the IntroductionToJavaPlatformProgramming course.
Contact Us#
We are always happy to discuss customising this and our other courses to meet clients' specific requirements.
Please contact us if you don't see a suitable date for this course in our schedule.
CoursewareCategory
Introduction To Java Platform Programming
