The IEEE Boston Section Techsite

The On-line Boston Section IEEE Information Source

Course:  

Accelerated Fundamentals of FUN JAVA Programming

Lecturer:

Jeffrey Goldberg, Qualware Instructional Services

Date:

Tuesdays, 6:15 PM-9:45 PM, Nov 1, 8, 15, 22, 29, December 6, 13

Location:

The Lexington Sheraton Hotel, 727 Marrett Road, Lexington, MA

TEXT:

Head First Java, 2nd Edition by Sierra & Bates; O’Reilly; 2 edition 2005

Prerequisite:

Students should have some prior programming knowledge or  experience, but not necessarily in JAVA or Java Script  (for instance, Visual Basic, C/C++, or Perl would be fine). Some high level modular programming concepts and exposure to object based programming would be exceedingly helpful. Some knowledge of HTML and forms would be helpful with Applet/JSP.

You should also be familiar with the Windows 98/NT/2000/XP graphical user interface.

Targeted for:

This course is ideal for individuals that want to learn Java from the ground up.  The class will proceed at a fast pace, allowing most individuals making an effort to learn this material, to keep up with the class. The course is appropriate for individuals wishing to learn how to write stand-alone Java programs, both text oriented command line and Javax Swing graphical applications. In addition, the course will provide an overview of advanced Java concepts such as Threads, Applets, and distributed computing concepts such as Remote Method Invocation (RMI), Java Server Pages (JSP), Servlets, JavaBeans, and possibly Jini).The class is structured to be as interactive as possible by making use of live demonstrations that review and emphasize the concepts taught in the class and assigned as homework projects.

Handouts:

Copies of the course outline slides will be provided along with relevant handouts when appropriate.

Class Description:

By the use of lectures, demonstrations and lab exercises (for those individuals that bring laptops to class),  this *fun* mini course will introduce you to one of hottest languages around, the JAVA programming language.  Unlike Java Script, this is a full-featured, strongly-typed, object-oriented, events-driven, error-handling, safe language that is platform independent and capable of running in many diverse environments, thus directly challenging C/C++ in the marketplace.  Whether it be a stand-alone command line application program on a mainframe, a Javax Swing graphical application on a client, a thread running in a web server or a graphical application running as an Applet inside a web browser, JAVA is taking the world by storm.  Shouldn’t you know something about JAVA?

Attendees will learn Java-2 syntax, how variables, data structures, objects, functions, events and run-time errors are handled in Java. The course introduces the modern day concepts of object oriented, event driven programming in a fun, easy to understand, way, comparing constructs in Java with other programming languages when beneficial. Class lecture will be mixed with in-class and out-of-class projects to reinforce learning the concepts discussed in class.

PRELIMINARY DETAILED AGENDA:

Session 1 - An Introduction To JAVA

            Overview of the many capabilities of Java:

            Platform Independent Java Application Programs

            avaX Swing Components and Graphics

            Java Applets inside Client Browser

            Java Beans Reusable Objects

            JSP, Java Servlets and Server Side Java

            Introduction to the Java Development Environment

            Sun Microsystem’s JDK/SDK command line development environment

            Optionally Text Pad windows development environment

            Editor, Compiler and JVM Virtual Machine

            Introduction to Object Oriented Programming, Events and

            Error Handling as it applies to Java.

            Java is a security safe language.

            Everything in Java is a class.

            Compiler creates bytecodes

            JVM interprets bytecodes.

            Garbage Collection takes care of unreferenced objects.

            Anatomy of a class, Introduction to API documentation.

            Write first few Java program(s).

            Conventions, methods always require () even if empty,properties never have parentheses.

 

Session 2- The Glory Details

            Java Language (java.lang) Class Components:

            Object, Data Wrapper, Math, String, System/Runtime, Thread, Exceptions

            Java Variables: Strongly-typed, case sensitive, generally un-initialized

            Java data Types: Eight primitive data types and three reference types

            Java Variables Declarations and Assignment Statements including quick String intro, quoting,
            string vs character literals

            Mathematical Operator and Assignment Precedence including string concatenation

            Backslash-Escaped Characters

            Conversions and Retrieving Command Line Arguments

            Tricks and Coding Shortcuts including .equal comparison method

            Program Control Structures

            Comparison and Logical (Boolean) Operators

            Decisions: the if statement

            Looping Structures: while, do, for

            The String Object and String Object Methods

            System.out.println, floating point constants defaulting to double.

           

Session 3 - Intro to Classes and Objects, Procedures and Exception Processing

            Introduce the Java.lang package, String class, Array class,

            Math class, data type Wrapping class, Exception Handling class.

            Discussions on Casting and converting, when casting required,

            declaring and using the string object, string functions, length,

            declaring and using arrays, initializing arrays,

            command line arguments, exception processing including try and catches,

            the math and date object, vector object, enumeration.

            Autoincrement/decrement, advanced assignments, short-circuit

            logical operators, terminating loops early.  Procedures and static

            methods (functions), passing arguments to procedures and returning back values.

            Numeric string conversions with Integer.parseInt, Float.parseFloat,

            valueOf. Scope and lifetime of Variables and Procedures.

 

Session 4 - Object-Oriented Programming, I/O Streams, Threads and Java Applets

            Overview of Java I/O Streams, Console and File Input/Output

            String tokenizer, StringBuffer,

            Streams, readers, writers, printWriters,

            InputStreamReader, FileReader, System.in, System.out,

            Creating and using User-Defined Custom Objects:

            Properties, methods and constructors, method overloading*.

            Overview of inheritance: extending classes,

            Using threads, building Java Applets.

 

Session 5 - Object Inheritance, Visual Interfaces and Event Handling

            Encapsulation, understanding inheritance, extending classes, implements,

            Using interfaces, overridding methods, polymorphism, is-a, has-a*.

            More on runnable classes, threads, passing argument To Applets.

            Building Applications with Visual Interfaces (AWT or Swing):

            Creating buttons, text boxes, check boxes,

            Using Event Handlers and Listeners.

            Java-2 Event Handlers and Action/Item Listeners

            Interacting with Mouse and Keyboard

            Introduction to Simple Layout Managers (flow, border, grid) and other containers (panel)

 

Session 6- More Swing (Graphical Java) and Threads

            Introduction to Swing, Graphics in a stand-alone program.

            Using inner classes, converting from an Applet to Swing.

            Visual interfaces such as JFrame, JTextField, Jxxxx as well as generic

            Button Methods, Labels, Text Fields, TextArea, Choice, Check Boxes.

            Discussion of Interfaces and Abstract Classes

 

Session 7 - Advanced Topics and wrap-up.

            Review Major Project Assignment.

            Collections: ArrayList, sorting.

            Brief discussion of Serialization,

            Introspection/Reflection (java.lang.reflect package)

            Network and Database Connectivity:

            Java Remote Method Invocation (RMI)

            Enterprise JavaBeans (EJB) and Website Communication

            Introduction to JavaBeans concept:

            No-arg constructor, Private fields with full setters and getters.

            Time permitting, brief discussion of Tomcat and JSP pages,

            Java Packages, JAR, Jini, Network Sockets, TCP ports.

For more info:   email to jeffgieee@qualware.com or call 781-229-1530 x2.

Lecturer’s biography:

An honor graduate of Tufts University, Jeffrey M. Goldberg has served the engineering and academic community in various roles from principle design engineer/project leader to senior consultant and trainer at companies such as Hewlett Packard, Siemens, Picturetel, 3Com, IBM, NMS, and EMC. Mr. Goldberg is a long-time innovative user of UNIX and Internet services.  He currently develops and delivers public seminars and customized corporate training classes along with very flexible scheduling, to avoid project disruption, in the fields of IT operations, operating system and computer languages. Specialties include UNIX Fundamentals, Perl and Shell Scripting, Linux/Solaris/UNIX System Administration and TCP/IP Networking, Web Technologies such as Visual Basic, Delphi, Java Script, PHP Apache, C/C++, Java and SQL Database Access, Computer and Network Security. For more information, please contact Jeff Goldberg at 781-229-1530 x2, jeffg@qualware.com or just visit http://www.consultme.com/training (or www.qualware.com this fall). 

Decision (Run/Cancel) Date for  this Courses is Friday, October 21, 2005

Course Fee Schedule:

REGISTRATION RECEIVED BY
Oct 19, 2005

REGISTRATION. RECEIVED AFTER
Oct 19, 2005

IEEE MEMBERS $486

IEEE MEMBERS $535

NON-MEMBERS $535

NON-MEMBERS $585

On-line Registration and Payment

This course has been cancelled.  Please contact office if you have any questions.

Copyright © 2004 IEEE Boston Section. All rights reserved.
Maintained by R M Stelting

Updated Thursday June 28, 2007