Learn Java programming by hands-on examples- Intermediate level
-
Free
-
-
About Course
In this Coding Bootcamps school 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
- Introduction to C Programming
- Learn C++ Programming by Examples
- Introduction to Go Programming
- Learn Kotlin Programming by Examples
- Introduction to Python Programming
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:
- Private tutoring sessions for software design and engineering- Weekly and monthly plans
- Java programming language- Private tutoring sessions
What Is Next?
After finishing this course, you can enroll in any of following classes:
- Learn Blockchain Dev with Corda R3
- Intro to Blockchain Technology
- Introduction to Database Design
- Learn SQL Programming by Examples
- Intro to HTML and CSS
- Intro to JavaScript
Recommended Free Courses
If you are new to the IT or programming, we suggest the following free courses: