|
||||||||||||||||
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, 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, 2005Course Fee Schedule:
On-line Registration and Payment
|
||||||||||||||||
|
Copyright © 2004 IEEE Boston Section.
All rights reserved. Updated Thursday June 28, 2007 |