Faven Software
English language
 
Język polski

Java 7 Fundamentals with SWING Library

Overview

This Java training course is intended for students without an extensive programming background. It covers most Java syntax elements, concentrating on fundamental and universally useful elements, while providing an overview of many more advanced elements. Students will learn to write useful Java classes, applying Object-Oriented concepts such as inheritance, and create Java programs that work with these classes.

The class introduces the concept of objects as one of the first topics, in order that the later concepts are covered with an OO perspective. The class is based on Java 7.

Audience

Students who can benefit from this course are individuals who have basic mathematical, logical, and analytical problem-solving skills and who want to begin learning the Java programming language.

Prerequisites

Experience with any other programming language (e.g.,Visual Basic, VBScript, C/C++, Javascript or Perl).

Course Format

This is a hands-on course. We apply a powerful learning cycle of short lecture, examples and labs on each topic. Each student gets lab code and the entire course content printed out (organized in a ring binder).

Course Duration

Five days (35 hours), 9:00 AM-5:00 PM (1h lunch break); typically ends by 4:00 PM on the last day.

Course Details

  1. Getting Started with JSE
    • What is Java?
    • How to Get Java
    • A First Java Program
    • Compiling and Interpreting Applications
    • The JDK Directory Structure
    • API Documentation
  2. Language Fundamentals
    • A Java Program
    • If Statements
    • Switch Statements
    • Loop Statements
    • Syntax Details
    • Primitive Datatypes
    • Variables
    • Expressions in Java
    • Strings
    • Arrays
    • Enhanced for Loop
  3. Objects and Classes
    • Defining a Class
    • Creating an Object
    • Instance Data and Class Data
    • Methods
    • Constructors
    • Access Modifiers
    • Encapsulation
  4. Using Java Objects
    • Printing to the Console
    • printf Format Strings
    • StringBuilder and StringBuffer
    • Methods and Messages
    • toString
    • Parameter Passing
    • Comparing and Identifying Objects
    • Destroying Objects
    • Using the Primitive-Type Wrapper Classes
    • Autoboxing
  5. Inheritance in Java
    • Inheritance
    • Inheritance in Java
    • Casting
    • Method Overriding
    • Polymorphism
    • super
    • The Object Class
  6. Advanced Inheritance and Language Constructs
    • Enumerated Types - Pre-Java 5.0
    • Enumerated Types Today
    • More Enumerated Types
    • Abstract Classes
    • Interfaces
    • Using Interfaces
    • Comparable
    • Collections
    • Annotations
    • Generics
  7. Packages
    • The import Statement
    • Static Imports
    • CLASSPATH and Import
    • Defining Packages
    • Package Scope
  8. Exception Handling
    • Exceptions Overview
    • Catching Exceptions
    • The finally Block
    • Exception Methods
    • Declaring Exceptions
    • Defining and Throwing Exceptions
    • Errors and RuntimeExceptions
    • Assertions
  9. Input/Output Streams
    • Overview of Streams
    • Bytes vs. Characters
    • Converting Byte Streams to Character Streams
    • File Object
    • Binary Input and Output
    • PrintWriter Class
    • Reading and Writing Objects
    • Basic and Filtered Streams
  10. Core Collection Classes
    • The Collections Framework
    • The Set Interface
    • Set Implementation Classes
    • The List Interface
    • List Implementation Classes
    • The Queue Interface
    • Queue Implementation Classes
    • The Map Interface
    • Map Implementation Classes
  11. Collection Sorting and Tuning
    • Using Java 5.0 Features with Collections
    • Sorting with Comparable
    • Sorting with Comparator
    • Sorting Lists and Arrays
    • Collections Utility Methods
    • Tuning ArrayList
    • Tuning HashMap and HashSet
  12. Inner Classes
    • Member Classes
    • Local Classes
    • Anonymous Classes
    • Instance Initializers
    • Static Nested Classes
  13. Introduction to Threads
    • Non-Threaded Applications
    • Threaded Applications
    • Creating Threads
    • Thread States
    • Runnable Threads
    • Coordinating Threads
    • Interrupting Threads
    • Runnable Interface
    • ThreadGroups
  14. Thread Synchronization and Concurrency
    • Race Conditions
    • Synchronized Methods
    • Deadlocks
    • Synchronized Blocks
    • Thread Communication — wait()
    • Thread Communication — notify()
    • Java 5.0 Concurrency Improvements
    • Thread-Aware Collections
    • Executor
    • Callable
  15. Introduction to Swing
    • AWT and Swing
    • Displaying a Window
    • GUI Programming in Java
    • Handling Events
    • Arranging Components
    • A Scrollable Component
    • Configuring Components
    • Menus
    • Using the JfileChooser
  16. Swing Events and Layout Managers
    • The Java Event Delegation Model
    • Action Events
    • List Selection Events
    • Mouse Events
    • Layout Managers
    • BorderLayout
    • FlowLayout
    • GridLayout
    • BoxLayout
    • Box
    • JtabbedPane
  17. Java Performance Tuning
    • Is Java Slow?
    • Don't Optimize Until You Profile
    • HotSpot Virtual Machine
    • Garbage Collection Concepts
    • Garbage Collection Generations
    • Garbage Collection in Java 5.0
    • Object Creation
    • String, StringBuffer, and StringBuilder
    • Synchronized
    • Inline methods
    • Tuning Collections
  18. Appendix A - Networking with Sockets
    • Clients and Servers
    • Ports, Addresses, and Protocols
    • The Socket Class
    • Communication Using I/O
    • Servers
    • The ServerSocket Class
    • Concurrent Servers
    • The URL Class
    • The URLConnection Class
  19. Appendix B – Regular Expressions
    • Pattern Matching and Regular Expressions
    • Regular Expressions in Java
    • Regular Expression Syntax
    • Special Characters
    • Quantifiers
    • Assertions
    • The Pattern Class
    • The Matcher Class
    • Capturing Groups
  20. Appendix C - JEE Overview
    • Introduction to JEE
    • JSE Building Blocks
    • Servlets, JSPs, and Web Applications
    • Web Services
    • Enterprise JavaBeans
    • Additional JEE APIs
    • JEE Clients
    • The JEE Platform