October 15-19, 2018: Java Programming - An In-Depth Introduction
Date: October 15-19, 2018
Time: 12:00pm EST
Course Length: 5 Days
About this Course
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.
Students will be taught the basics, and then will apply this knowledge by coding solutions to actual problem statements. This differs from most courses, which present Java syntax and only step-by-step solutions. While this is a part of the initial learning, students are given the experience to help them tackle real world problems in Java.
Finally, the course provides an overview to students to see how Java fits in within architecture, including receiving HTTP requests in Servlets, and accessing data resources such as files and databases.
Before taking this course, students should have familiarity with programming concepts such as variables, data types, conditional statements and looping. An understanding of object-oriented design, web technologies, and databases is helpful, but not required.
At Course Completion
After completing this course, you will:
- 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.
1. Overview of Java
- What is the Java Virtual Machine? (JVM)
- Setting up the environment to be able to use Java
- In what kind of applications is Java used?
2. Writing and executing Java code
- The basics of a Java class
- The main method as a starting point for programs
- Compiling Java code into bytecode
- Executing java code
3. The Basics of the Java Language
- Primitive data types in Java
- Declaring and assigning values to variables
- Statements and semicolons
- Looping and conditionals (if statements, switch/case)
- Passing values in through the command line
4. Core Java Classes
- Objects and constructors
- Attributes and methods
- Static methods and classes, Math
- Packages and Imports
- Date, Calendar
5. Creating Objects
- Attributes and Encapsulation
- Exceptions and try/catch/finally
6. Object Oriented Analysis and Design
- UML Class diagrams
- Overloading, Overriding, and Polymorphism
- Abstract Classes
- Upcasting / Downcasting
7. Java Collections
- Collections Framework
- Set, List, Map
- Overriding Hashcode, equals, toString()
- Layers of Abstraction-Three Schema Architecture
- Creating and Using Views
9. Accessing and manipulating files and databases
- Java.io package, File class – accessing a nd creating files
- Readers and Buffered Readers
- JDBC, DriverManager, DataSource
- Implementing Threads
11. Enterprise Java Architectures
- 3-Tiered Architecture
- Servlets and JSPs
- RMI and EJB
Before taking this course, students should have familiarity with programming and an understanding of object-oriented design, web technologies, and databases is helpful, but not required.