In this course you take your Java skills to the next level by building more advance software applications. This self-paced course is the continuation of our previous Introduction to java programming course.

In this self-paced course, the Structured programming techniques and error handling are emphasized. The course includes the processing of command line arguments and environment variables so students will be able to write flexible, user-friendly programs. Comprehensive hands-on exercises are integrated throughout to reinforce learning and develop real competency.




Learning Objectives

You will learn:

  • Exception handling
  • Formatting output with class Formatter
  • Using strings, characters and regular expressions
  • GUI programming concepts




Topics and Subtopics

Here is the course outline:



1- Fundamental Searching and Sorting

  • Introduction to Searching Algorithms
  • Linear Search
  • Binary Search
  • Introduction to Sorting Algorithms
  • Selection Sort
  • Insertion Sort
  • Merge Sort

2- Fundamental Data Structures

  • Dynamic Memory Allocation
  • Linked Lists
  • Stacks
  • Queues
  • Trees

3- Exception Handling

  • Types of Exceptions
  • Exception Handling Overview
  • Exception Class Hierarchy
  • Extending Exception Classes
  • When to Throw or Assert Exceptions

4- Formatted Output

  • printf Syntax
  • Conversion Characters
  • Specifying Field Width and Precision
  • Using Flags to Alter Appearance
  • Printing Literals and Escape Sequences
  • Formatting Output with Class Formatter



5- Strings, Characters and Regular Expressions

  • Fundamentals of Characters and Strings
  • String Class
  • String Operations
  • StringBuilder Class
  • Character Class
  • StringTokenizer Class
  • Regular Expressions
  • Regular Expression Syntax
  • Pattern Class
  • Matcher Class



6- Developing Software Using Java

  • Applications, Applets, Web Components
  • Java SE, Java EE, Java ME
  • Installing the JDK
  • Compiling and Running Java from the Command Line
  • The main() Method
  • package and import Statements
  • JAR Files
  • Class Loading and CLASSPATH
  • Online API Documentation
  • JDK Tools
  • Java Integrated Development Environments (IDEs)


7- The Collections Framework

  • The java.util Package
  • Container Objects
  • Arrays as Containers
  • Legacy Container Classes - Vector, Hashtable, Enumeration
  • Legacy Container Generic Forms (Java SE 5+)
  • Collections Interfaces - Collection<E>, List<E>, Set<E>, SortedSet<E>
  • Map Interfaces - Map<K,V>
  • Coding to the Interface
  • List<E>, Set<E>, Queue<E> and Map<K,V> implementations
  • Iterating Collections with the Iterator<E> Interface
  • Collections and the Enhanced for Loop
  • Choosing the Correct Implementation and Interface
  • The java.util.Collections Utility Class
  • Sorting Using the Comparable Interface


8- Threads

  • Life and States of a Thread
  • Creating and Starting a Thread
  • java.lang.Runnable and java.lang.Thread
  • Stopping a Thread
  • Inter-Thread Communication
  • Thread-Safe Access to Shared Objects and Variables
  • Synchronized Code
  • Sleeping
  • Interrupting a Blocked Thread
  • wait(), notify(), notifyAll() Example
  • Thread Scheduling
  • Thread Groups
  • Writing a Multithreaded Server


9- Java Database Connectivity

  • The java.sql Package
  • JDBC Architecture and Drivers
  • SQL Exceptions
  • DriverManager, Connection, Statement and ResultSet Interfaces
  • Examining Database MetaData
  • Basic Query and Update
  • Improving Performance with PreparedStatement and CallableStatement Interfaces
  • JDBC Transaction Management


10- Java Web Applications

  • Java Enterprise Edition
  • Java EE Application Servers
  • Web Application Directory and WAR files
  • Deploying a Web Application - The web.xml File
  • Servlet Architecture
  • The javax.servlet Package
  • Servlet Classes and Interfaces
  • Writing a Servlet
  • HttpServletRequest and HttpServletResponse
  • Handling HTML Forms
  • Retrieving Request Parameters



11- Fundamental GUI Programming Concepts

  • Overview of Swing Components
  • Displaying Text and Graphics in a Window
  • Event Handling with Nested Classes
  • GUI Event Types and Listener Interfaces
  • Mouse Event Handling
  • Layout Managers



Requirements

Good knowledge of Java programming



Related Courses




Complete Training Bundle

If you are serious about becoming a pro software engineer, you should enroll in our Complete Training Bundle for Software Engineers class, This bundle covers all essential and practical topics related to software design and development. For $290 monthly subscription, you can have access to 300+ hours of hands-on project-based training covering all courses related to software development like Python, Java, Kotlin, C/C++ Go and more. Click here to learn more.




Private Tutoring Classes

To take skills you learn from this course to the next level, taking the following tutoring classes are highly recommended. It is also a great opportunity to discuss your questions and problems related to this course with an experienced instructor:




What Is Next?

After finishing this course, you can enroll in any of following classes:




Recommended Free Courses

If you are new to the IT or programming, we suggest the following free courses:


Select a pricing plan and sign up

Course Curriculum

  Course contents
Available in days
days after you enroll
  1- Fundamental Searching and Sorting
Available in days
days after you enroll
  2- Fundamental Data Structures
Available in days
days after you enroll
  3- Exception Handling
Available in days
days after you enroll
  4- Formatted Output
Available in days
days after you enroll
  5- Strings, Characters and Regular Expressions
Available in days
days after you enroll
  6- Developing Software Using Java
Available in days
days after you enroll
  7- The Collections Framework
Available in days
days after you enroll
  8- Threads in Java
Available in days
days after you enroll
  9- Java Database Connectivity
Available in days
days after you enroll
  10- Java Web Applications
Available in days
days after you enroll
Jim Sullivan- MS, MBA and IBM Master Instructor

Jim Sullivan- MS, MBA and IBM Master Instructor


Jim is a senior blockchain consultant and developer at DC Web Makers. He has a Bachelor’s Degree in Electrical Engineering and a Master’s Degree in Computer Science along with an MBA. He has been a practicing software engineer for 20 years. Currently, at DC Web Makers, he leads an expert team in Blockchain development, DevOps, Cloud, application development, and the SAFe Agile methodology. He is an IBM Master Instructor. He is a Blockchain professional, and a MultiChain partner. He is also an expert in HyperLedger, Ethereum, Corda, and is architecting and developing Blockchain-based web products. He has also taught blockchain courses for companies such as O’Reilly Media. His other skills are as follows:

  • Amazon Web Services (AWS) partner, and administrator.
  • Multichain, Corda, Hyperledger Blockchain partner.
  • HealthCare Blockchain Certified
  • Certified Scaled Agile Program Consultant (SAFe SPC): Certified by the Scaled Agile Institute.
  • Certified SAFe DevOps
  • Perl Developer, Java developer, Java web developer, and .NET developer
  • Front-end web development with HTML, HTML5, CSS3 and JavaScript
  • Node.JS, PHP, Oracle and MySQL development and administration.
  • WebSphere, Tomcat, Wicket, JBoss developer.
  • Certified Scrum Master: Certified by the Scrum Alliance and Certified Scrum Professional: Certified by the Scrum Alliance.
  • ALM Disciplines: Requirements, Change Management, Development, and Quality.
  • Certified Tool Expertise: UrbanCode, IBM Team Concert, DOORS Next Gen, IBM Quality Manager, ClearCase, ClearQuest, Jira, Rally, SVN, Maven, Hudson/Jenkins, Guacamole, UrbanCode, Chef, Puppet.
  • Certified VMWare Technical Professional.
  • Linux and Windows Administration


Choose a Pricing Option