The Introduction to Java for Procedural Programmers training course provides students with the training they need to successfully migrate to the object oriented programming paradigm. In addition to covering everything in the Introduction to Core Java training, this course spends more time examining and understanding key object-oriented concepts that many procedural programmers struggle with as they transition to the OOP paradigm.
The Introduction to Java for Procedural Programmers course prepares students to take the Sun Certified Java Associate exam.
- Understand the core Java language syntax, execution structure, and deployment model
- Describe the similarities and differences between the Java and COBL languages
- Describe the similarities and differences between the Java and COBOL runtime environments
What You'll Learn
In the Introduction to Java for Procedural Programmers training course, you’ll learn:
- Introduction to Object Oriented Analysis and Design
- What is OOAD?
- Why is it important?
- Designing software with an OOAD approach
- Core Object Oriented Concepts
- States / behaviors, properties / methods
- Designing for Reusability Through Modularity
- Creating loosely coupled systems
- Creating cohesive systems
- What is Java?
- Understanding the Java platform (JRE)
- Understanding the Java Development Kit (JDK)
- Java the programming language
- Using an IDE for Java development
- Java Concepts for Procedural Developers
- Applying OO concepts to Java
- Creating a basic Java application
- Basic Java syntax
- Flow control
- Types of inheritance supported
- Inheritance through subclassing
- Inheritance through interfaces
- Default initialization
- Constructor-based initialization
- Modifying the construction process
- Advantages of using interfaces vs. subclassing
- Creating Well-Formed Java Objects
- equals v. ==
- Constructor “hierarchies”
- Designing for Reusability in Objects
- Inheritance, abstraction, and composition
- Encapsulation, polymorphism, and aggregation
- Implementing OO reusability in Java
- Advanced Java Design
- Access modifiers
- Static Class Design
- Understanding static (class) versus instance (object) design
- Creating static variables
- Creating static methods
- Creating static initializers
- Working with Java Exceptions
- What is an Exception?
- RunTime v. Application Exceptions
- Writing code to handle exceptions
- Creating your own exception types
- Working with Collections
- Understanding the collection types
- Choosing List, Set, or Map
- Creating type-safe collections with Generics
- Ordering, searching, and converting collections
- Working with I/O
- Understanding the difference between java.io and java.nio
- Creating a basic read/write File application using java.nio.file.File and java.nio.file.Path
- Advanced I/O with Serialization and data input/output streams
- Implications of using java.io on other operating systems
- Implementing java.nio solutions
- Working with the Logging Library
- What is the logging library?
- Configuring the logger
- Using a logger
- Logging exceptions
- Unit Testing and Automated Builds
- Unit Testing with JUnit
- Automated builds with Ant and Maven
Meet Your Instructor
- Kelby Zorgdrager
Kelby Zorgdrager’s expertise in Java, Open Source, and software development have allowed him to be a guest speaker at JavaOne, Java University, Comdex, IEEE Software Conference, and the Colorado Software Summit.
Kelby has also served as a guest author for both IBM and Sun/Oracle’s developer sites. Furthering his passion to help people learn, Kelby served as a technical editor for the bestselling book, Advanced Java: How to Program,...Simon
Simon has over 15 years of experience defining, developing, and delivering software development training programs.
As a senior instructor and courseware developer for Sun Microsystems, Simon developed and delivered Java training courses for Sun Educational Services’ internal and external customers. While at Sun, he was a guest presenter at JavaOne, Java University, and other software trade shows. Simon’s most significant accolade was his work as the development lead in the design, development,...Michael
Michael is a practicing software developer, course developer, and trainer with DevelopIntelligence. For the majority of his career, Michael has designed and implemented large-scale, enterprise-grade, Java-based applications at major telecommunications and Internet companies, such as Level3 Communications, US West/Qwest/Century Link, Orbitz, and others.
Michael has a passion for learning new technologies, patterns, and paradigms (or, he has a tendency to get bored or disappointed with current ones)....Jeremy
Jeremy is a technology enthusiast who loves exploring, learning, and creating new technologies. One of his earliest programming feats – at eight years old – was modifying the game “Nibbles,” written in Basic, to be multiplayer so he and his neighbor could play together. Since then, he has continually experimented with any interesting new technology, never backing down from a challenge.
He played an instrumental role in building CARad, a software listing tool that was...Daniel
Daniel has been a self-employed developer, teacher and speaker for private businesses, education and government entities since 1999. Daniel also actively teaches programming for the University of New Mexico Continuing Education.
Daniel is a Pomodoro Technique practitioner, and co-founder of the Albuquerque Java User’s Group in Albuquerque, New Mexico. When he’s not supporting other local Java developers, Daniel spends most of his waking hours developing in and around the Java ecosystem, encompassing...Jean
Jean brings years of development experience into her teaching, making the learning experience practical for her students. Originally a Smalltalk developer, Jean has an expansive knowledge of object-oriented (OO) development, analysis, and design. Jean has worked in every stage of the software development process for a variety of businesses – from small non-profits, to government agencies, to global enterprises.
Jean was also one of the top instructors at Sun Microsystems in North America and Europe....Anil
Anil is a seasoned software engineer with over 16 years of Java development experience.
Anil started his career as a Unix programmer, slinging C-code, writing shell scripts, and teaching others how to use Unix back when Unix was still a toddler. Anil’s expertise in Unix, C, and C++ allowed him to become a member of Technical Staff at ATT / Bell labs. During his tenure at Bell Labs, Anil led the creation of software tools that simulated network traffic, in particular, cellular...Michael
Michael owns and operates Inkling Research, a consulting group of technical specialists. His work experience includes systems administration, application and operating system development, and the design and deployment of several network and storage-based systems. Michael is a seasoned instructor with 18 years experience in training, course development, mentoring, and practice management. His educational credentials include a B.A. from UC Davis, an M.A from Kent State University, and doctoral coursework at Claremont...Marnie
Marnie brings 15 years of experience delivering programming related training. During that time she has taught for top-technology companies including: Sun (and later Oracle) certified Java classes, RedHat Certified JBoss administration courses, Spring Source Certified Spring and Hibernate courses. Her classes have run the gamut from introduction to programming classes to Java EE web services and much of the Java EE stack in between.
She has a passion for teaching, which is evident in her presentations and...Peter
Peter is a Senior Java Developer / Architect / Manager with over 20 years of experience in the analysis, design, and development of computer systems, including 20 years of experience architecting and delivering web-based IT solutions. Peter manages and leads an experienced team of Java and object-oriented programming specialists that provide a wide range of technical services. Peter founded Java Enterprise Solutions in 1998 after working for Sun Microsystems advancing Java and Java technologies. While at...