During this 5-day course, students will learn the basics of Java as well as how Java is used in a variety of ways: Swing-based applications, Applets, Server-side programming, Database connecting applications.
The course is a combination of lecture, best-practices and hands-on exercises in which students will leave with a strong foundation in understanding of java concepts and terminology, and the ability to code object oriented programs in Java.
What students will learn at completion:
- Understand what types of programs Java can be used to write.
- Describe how Java achieves platform independence and how the Java language is shaped by the Java Community Process.
- Compile and execute code.
- Describe the SDK, JDK, JRE, and JVM, and understand the difference between .java files and .class files, as well as .jar files.
- Knowledge of a Java class and be able to write programs that perform calculations and have conditional logic.
- Understand basics of Java syntax as well as how to control the flow of a program.
- Use command line arguments to create programs that are dynamic in nature.
- Understand the difference between primitive data types and objects, and how to create new objects from Java classes.
- Learn how to leverage the Javadocs to find out how to use Java Classes.
- Code many examples which use methods of the String class, Math and Calendar.
- Write classes to be used to instantiate new objects in their code and understand encapsulation and access modifiers including use Exceptions and use try/catch/finally blocks.
- Model relationships usi ng UML class diagrams and translate these into Java code using inheritance, abstract classes.
- Understand the Collections Framework form the java.util package.
- Store items in a collection and use random access and iterators to loop through items.
- Create a simple GUI using Java Swing.
- Use classes from the java.io package to read input and write output using streams, readers, and writers.
- Use JDBC to connect to and execute SQL statements on a database.
- Understand the concept of concurrent access and how to protect sections of code.
- Understanding of Java EE APIs and distributed applications.