2023 Fall Semester offers Beginner Java Programming Classes

What is Java?

Java programming for beginners is a object-oriented programming language. It is currently the world’s broadly utilized PC programming language utilized for building web and desktop applications. 

It is liked for meeting many associations’ project programming necessities and has likewise turned into the language of decision for carrying out Internet-based applications and Softwares for gadgets.

 

Course Outlines:

1 Getting Started

  • Introduction
  • Writing, Compiling, and Executing Your Hello World Program
  • Exercise 1: Creating Your Hello World Program in Java
  • Basic Syntax and Naming Conventions
  • Printing Out Different Data Types
  • Variables and Variable Types
  • Exercise 2: Printing Different Types of Data
  • Primitive versus Reference Data Types
  • Null
  • Chars and Strings
  • Exercise 3: Declaring Strings
  • Doing Some Math
  • Exercise 4: Solving a Simple Trigonometry Problem
  • Comments Help You to Share Code
  • CLI versus GUI
  • Exercise 5: Running the Code from the CLI
  • Activity 1: Obtaining the Minimum of Two Numbers
  • Summary

2 Learning the Basics

  • Introduction
  • Controlling the Flow of Your Programs
  • Exercise 1: Creating a Basic if Statement
  • Comparison Operators
  • Exercise 2: Using Java Comparison Operators
  • Nested if Statements
  • Exercise 3: Implementing a Nested if Statement
  • Branching Two Ways with if and else
  • Exercise 4: Using if and else Statements
  • Using Complex Conditionals
  • Exercise 5: Using Logical Operators to Create Complex Conditionals
  • Using Arithmetic Operators in an if Condition
  • The Ternary Operator
  • Exercise 6: Using the Ternary Operator
  • Equality Can Be Tricky
  • Exercise 7: Comparing Decimal Values
  • Comparing Strings
  • Using switch Statements
  • Exercise 8: Using switch
  • Exercise 9: Allowing Cases to Fall Through
  • Using Java 12 Enhanced switch Statements
  • Exercise 10: Using Java 12 switch Statements
  • Looping and Performing Repetitive Tasks
  • Looping with the for Loop
  • Exercise 11: Using a Classic for Loop
  • Exercise 12: Using an Enhanced for Loop
  • Jumping Out of Loops with Break and Continue
  • Exercise 13: Using break and continue
  • Using the while Loop
  • Exercise 14: Using a while Loop
  • Using the do-while Loop
  • Handling Command-Line Arguments
  • Exercise 15: Testing Command-Line Arguments
  • Converting Command-Line Arguments
  • Exercise 16: Converting String to Integers and Doubles
  • Diving Deeper into Variables Immutability
  • Comparing Final and Immutable
  • Using Static Values
  • Using Local Variable Type Inference
  • Activity 1: Taking Input and Comparing Ranges
  • Summary

3 Object-Oriented Programming

  • Introduction
  • The Anatomy of a Class
  • Working with Objects in Java
  • Checking the Precedence of a Class with instanceof
  • Exercise 1: Creating the WordTool Class
  • Activity 1: Adding the Frequency-of-Symbol Calculation to WordToo
  • Inheritance in Java
  • Overriding and Hiding Methods
  • Avoiding Overriding: Final Classes and Methods
  • Overloading Methods and Constructors
  • Recursion
  • Annotations
  • Interfaces
  • Inner Classes
  • Documenting with JavaDoc
  • Activity 2: Adding Documentation to WordTool
  • Summary

4 Collections, Lists and Java’s Built-In APIs

  • Introduction
  • Arrays
  • Activity 1: Searching for Multiple Occurrences in an Array
  • Sets
  • Lists
  • Exercise 1: Creating the AnalyzeInputApplication
  • Maps
  • Iterating through Collections
  • Exercise 2: Bringing Analytics into the AnalyzeInput Application
  • Sorting Collections
  • Exercise 3: Sort the Results from the AnalyzeInput Application
  • Properties
  • Activity 2: Iterating through Large Lists
  • Summary

5 Exceptions

  • Introduction
  • A Simple Exception Example
  • NullPointerException Have No Fear
  • Catching Exceptions
  • Exercise 1: Logging Exceptions
  • Throws and Throw
  • Exercise 2: Breaking the Law (and Fixing It)
  • The finally Block
  • Activity 1: Designing an Exception Class LoggingData
  • Best Practices for Handling Exceptions
  • Where Do Exceptions Come from?
  • Summary

6 Libraries, Packages, and Modules

  • Introduction
  • Organizing Code into Packages
  • Importing Classes
  • Exercise 1: Importing Classes
  • Fully Qualified Class Names
  • Importing All Classes in a Package
  • Dealing with Duplicated Names
  • Static Imports
  • Creating a Package
  • Naming Your Package
  • Directories and Packages
  • Exercise 2: Creating a Package for a Fitness Tracking App
  • Building JAR Files
  • Exercise 3: Building a JAR File
  • Defining the Manifest
  • Exercise 4: Building an Executable JAR File
  • Build Tools
  • Maven
  • Exercise 5: Creating a Maven Project
  • Exercise 6: Adding Java Sources to the Maven Project
  • Exercise 7: Building the Maven Project
  • Exercise 8: Creating an Executable JAR with Maven
  • Using Gradle
  • Exercise 9: Creating a Gradle Project
  • Exercise 10: Building an Executable JAR with Gradle
  • Using Third-Party Libraries
  • Finding the Libraries
  • Adding a Project Dependency
  • Exercise 11: Adding a Third-Party Library Dependency
  • Using the Apache Commons Lang Library
  • Exercise 8: Creating an Executable JAR with Maven
  • Using Gradle
  • Exercise 9: Creating a Gradle Project
  • Exercise 10: Building an Executable JAR with Gradle
  • Using Third-Party Libraries
  • Finding the Libraries
  • Adding a Project Dependency
  • Exercise 11: Adding a Third-Party Library Dependency
  • Using the Apache Commons Lang Library Library
  • Using Modules
  • Creating Modules
  • Exercise 13: Creating a Project for a Module
  • Exercise 14: Creating a Second Module Using the First One
  • Activity 1: Tracking Summer High Temperatures
  • Summary

7 Sockets, Files, and Streams

  • Introduction
  • Listing Files and Directories
  • Separating Directories from Files
  • Exercise 1: Listing theContents of Subdirectories
  • Creating and Writing to a File
  • Activity 1: Writing the Directory Structure to a File
  • Reading an Existing File
  • Reading a Properties File
  • Exercise 2: Creating a Properties File from the CLI
  • What are Streams?
  • The Different Streams of the Java Language
  • What are Sockets?
  • Creating a SocketServer
  • Writing Data on and Reading Data from aSocket
  • Activity 2: Improving the EchoServer and EchoClient Programs
  • Blocking and Non-Blocking Calls
  • Summary