CoursesProgramming
ProgrammingBeginnerSelf-paced
Introduction to Java Programming
This course covers the fundamentals of Java programming, including basic programming concepts, object-oriented programming, GUI programming, data structures, and advanced topics. It is designed to take students from basic programming principles to more complex topics like threads and networking. By the end of the course, students should be proficient in Java programming.
0chapters
0modules
0lessons
0quizzes
Syllabus
90 chapters, 352 modules, 924 lessons and quizzes.
01Getting Started1 modules · 2 lessons
02How Computers Execute Programs3 modules · 11 lessons
Understanding the CPU and Machine Language
The Fetch-and-Execute Cycle
03Handling Asynchronous Events2 modules · 6 lessons
Introduction to Asynchronous Events
04Understanding the Java Virtual Machine4 modules · 7 lessons
Compilation and Interpretation
Java Virtual Machine (JVM) Basics
Benefits of the JVM
Just-In-Time Compilation and Other Languages on JVM
05Building Blocks of Programming4 modules · 11 lessons
Variables and Data Types
Assignment Statements and Basic Commands
Control Structures
Subroutines and Modularity
06Object-Oriented Programming Fundamentals2 modules · 9 lessons
Software Engineering and Programming Methodologies
Modularity and Object-Oriented Programming
07Introduction to Modern User Interfaces4 modules · 11 lessons
Evolution of User Interfaces
Graphical User Interface Components
Java GUI Toolkits and Event Handling
Object-Oriented Design in GUI Programming
08Understanding the Internet and its Relationship with Java3 modules · 10 lessons
Computer Networks and the Internet
Internet Protocols and Services
09Building Your First Java Application3 modules · 10 lessons
Understanding Java Syntax, Semantics, and Pragmatics
Creating and Running a Java Program
Understanding Java Program Structure
10Understanding Variables and Primitive Types in Java4 modules · 11 lessons
Identifiers and Variables
Primitive Types in Java
Literals in Java
11Understanding Strings, Classes, and Subroutines5 modules · 15 lessons
Built-in Subroutines and Functions
Classes and Objects
Operations on Strings
Text Blocks: Multiline Strings
12Text Input and Output Fundamentals4 modules · 12 lessons
Basic Output and Formatted Output
Text Input using TextIO
File Input/Output
Advanced TextIO Features and Scanner
13Understanding Expressions in Java6 modules · 13 lessons
Introduction to Expressions
Arithmetic Operators
Increment and Decrement Operators
Relational and Boolean Operators
Conditional Operator and Assignment Operators
14Setting Up Java Programming Environments6 modules · 14 lessons
Getting Started with Java Development
Command Line Environment
Eclipse IDE
Java Packages
15Control Structures for Program Flow5 modules · 13 lessons
Blocks and Their Uses
While Loops
If Statements
Control Abstraction
16Crafting Algorithms through Stepwise Refinement4 modules · 12 lessons
Understanding Algorithm Development
Stepwise Refinement and Pseudocode
The 3N+1 Problem
17Loops for Repetitive Tasks3 modules · 10 lessons
Understanding while Loops
Understanding do..while Loops
18Mastering for Loops in Java3 modules · 11 lessons
Understanding for Loops
Practical Applications of for Loops
19Mastering Conditional Statements in Java5 modules · 11 lessons
Understanding the if Statement
The Dangling else Problem
Multiway Branching
Practical Applications of if Statements
20Mastering Switch Statements in Java4 modules · 12 lessons
Applications of Switch Statements
Advanced Switch Statement Topics
Traditional Switch Statement Syntax
21Handling Exceptions with try..catch3 modules · 9 lessons
Understanding Exceptions
Using try..catch Statements
22Introduction to GUI Programming with Java Swing3 modules · 7 lessons
Drawing Shapes with Java Graphics
Creating Graphics Programs with Java
23Understanding Static Subroutines and Variables in Java4 modules · 11 lessons
Defining Static Subroutines
Calling Static Subroutines
Using Static Subroutines in Programs
24Introduction to Arrays4 modules · 13 lessons
Creating and Using Arrays
Arrays and For Loops
Two-dimensional Arrays
25Mastering Variable Declarations in Java3 modules · 7 lessons
Initializing Variables in Declarations
Declaring Variables with var and Named Constants
26Understanding Subroutine Parameters6 modules · 17 lessons
Using Parameters in Subroutines
Formal and Actual Parameters
Overloading Subroutines
Subroutine Examples and Array Parameters
Command-line Arguments and Throwing Exceptions
27Understanding Return Values in Functions3 modules · 8 lessons
Return Statement Fundamentals
Function Examples
28APIs, Packages, and Modules in Java6 modules · 14 lessons
Understanding Toolboxes and APIs
Java's Standard Packages
Using Classes from Packages
Javadoc and Documentation
29Program Design with Subroutines3 modules · 7 lessons
Understanding Preconditions and Postconditions
Designing a Program with Subroutines
The Random Mosaic Walk Program
30Understanding Objects, Classes, and Instances1 modules · 4 lessons
31Understanding Objects and Classes in Java3 modules · 8 lessons
Defining Classes and Creating Objects
References and Null Pointers
32Controlling Access to Class Members with Getters and Setters1 modules · 5 lessons
33Arrays as Objects in Java2 modules · 7 lessons
Arrays of Objects
34Object Initialization and Constructors3 modules · 7 lessons
Initializing Instance Variables
Constructors and Object Creation
35Programming with Objects4 modules · 12 lessons
Using Built-in Classes
The Object Class
Designing Custom Classes
36Designing and Implementing Card Game Classes5 modules · 6 lessons
Object-Oriented Design for Card Games
Designing the Deck Class
Designing the Hand Class
Example: A Simple Card Game
37Understanding 'this' and 'super' in Java3 modules · 10 lessons
The 'this' Variable
The 'super' Variable
38Timers, Keyboard Events, and State Machines4 modules · 12 lessons
Timers and Animation
Focus Events
Keyboard Events and Input Focus
39Introduction to Basic GUI Components6 modules · 10 lessons
Working with JCheckBox
Understanding JTextField and JTextArea
Using JSlider
Common Properties and Methods of GUI Components
40Array Details and Advanced Concepts4 modules · 7 lessons
Array Basics and Syntax
For-each Loops for Array Processing
Variable Arity Methods
Array Literals and Creation
41Array Processing Techniques4 modules · 10 lessons
Array Processing Examples
Standard Array Methods
RandomStrings Revisited and Parallel Arrays
42ArrayList and Parameterized Types in Java3 modules · 8 lessons
Introduction to ArrayList and Parameterized Types
Wrapper Classes and Autoboxing
43Introduction to Java Records4 modules · 9 lessons
Complex Example: Representing Complex Numbers
Benefits of Java Records
Basic Java Records
44Searching and Sorting Algorithms4 modules · 11 lessons
Searching Algorithms
Association Lists
Sorting Algorithms
45Writing Correct and Robust Programs4 modules · 9 lessons
Understanding Correctness and Robustness
Horror Stories: Consequences of Software Failure
How Java Promotes Robustness
Remaining Problems in Java
46Techniques for Writing Correct and Robust Programs4 modules · 11 lessons
Understanding Program Correctness
Preconditions and Postconditions
Loop Invariants and Class Invariants
47Handling Exceptions with try..catch4 modules · 13 lessons
Understanding Exceptions
Using try..catch Statements
Mandatory Exception Handling and Custom Exceptions
48Assertions and Annotations in Java2 modules · 7 lessons
Understanding Assertions
49Analyzing Algorithm Efficiency4 modules · 10 lessons
Introduction to Analysis of Algorithms
Asymptotic Analysis and Big-Oh Notation
Worst-Case, Average-Case, and Best-Case Analysis
50Linked Data Structures and Linked Lists4 modules · 9 lessons
Recursive Linking and Linked Lists
Basic Linked List Processing
Inserting into a Linked List
Deleting from a Linked List
51Understanding Stacks, Queues, and Abstract Data Types4 modules · 12 lessons
Introduction to Abstract Data Types
Stacks
Queues
52Binary Trees and Their Applications4 modules · 10 lessons
Introduction to Binary Trees
Tree Traversal Techniques
Binary Sort Trees
53Recursive Descent Parsing and Expression Evaluation3 modules · 9 lessons
Backus-Naur Form (BNF) Basics
Recursive Descent Parsing
54Introduction to Generic Programming7 modules · 11 lessons
What is Generic Programming?
Generic Programming in Other Languages
Generic Programming in Java
The Java Collection Framework
Iterators and For-Each Loops
Equality and Comparison
Generics and Wrapper Classes
55Introduction to Object-Oriented Programming1 modules · 4 lessons
Understanding Objects and Object-Oriented Programming
56Introduction to Java Stream API4 modules · 11 lessons
Generic Functional Interfaces
Creating Streams
Stream Operations
Parallel Streams and Riemann Sum
57Understanding Black Boxes and Procedural Abstraction2 modules · 6 lessons
Introduction to Black Boxes
58Lambda Expressions and Functional Programming4 modules · 12 lessons
Method References
Introduction to Lambda Expressions
Functional Interfaces
Lambda Expression Syntax and Usage
59Mastering Inheritance and Polymorphism6 modules · 12 lessons
Extending Existing Classes
Example: Vehicles
Polymorphism
Abstract Classes
Final Methods and Classes
Inheritance and Class Hierarchy
60Understanding Interfaces in Java3 modules · 10 lessons
Defining and Implementing Interfaces
Default Methods in Interfaces
61Nested Classes in Java4 modules · 14 lessons
Static Nested Classes
Inner Classes
Anonymous Inner Classes
62Lists, Sets, and Priority Queues4 modules · 11 lessons
ArrayLists and LinkedLists
Sorting Lists
Sets
63Maps and Their Implementations4 modules · 10 lessons
Introduction to Maps
The Map Interface
Views, SubSets, and SubMaps
64Practical Applications of Java Collection Framework4 modules · 12 lessons
Symbol Tables and Maps
Sets Inside a Map
Using Comparators with TreeMap
65Creating Reusable Code with Generic Classes and Methods5 modules · 10 lessons
Introduction to Generic Programming
Simple Generic Classes
Wildcard Types
Simple Generic Methods
66Understanding I/O Streams, Readers, and Writers in Java7 modules · 16 lessons
Introduction to I/O Streams
Character and Byte Streams
Using PrintWriter for Character Output
Data Streams for Binary Data
Reading Text Data
The Scanner Class for Input
67Working with Files in Java3 modules · 9 lessons
Reading and Writing Files
Working with Files and Directories
68Working with Files in Java3 modules · 12 lessons
Copying Files
Persistent Data
69Networking Fundamentals in Java5 modules · 12 lessons
Working with URLs and URLConnections
TCP/IP and Client/Server Architecture
A Trivial Client/Server Example
70Introduction to XML and DOM2 modules · 7 lessons
Basic XML Syntax
71Parallel Processing with Threads5 modules · 10 lessons
Decomposing Problems for Parallel Processing
Thread Pools and Task Queues
Producer/Consumer Pattern and Blocking Queues
ExecutorService Approach
72Threads and Networking Essentials5 modules · 15 lessons
The Blocking I/O Problem
Asynchronous Network Chat Program
Threaded Network Server
Using a Thread Pool
73Networked Game Framework and Applications4 modules · 11 lessons
Netgame Framework Overview
Chat Room Application
Networked TicTacToe Game
74Working with Images and Resources in Java4 modules · 14 lessons
Image Basics
Drawing and Manipulating Images
Working with Pixels and Resources
75Working with Actions and Buttons in Java GUI Programming6 modules · 16 lessons
Understanding Actions and AbstractAction
Working with Icons on Buttons
Making Choices with Checkboxes and Radio Buttons
Using Toolbars in Java GUI Programming
Using Keyboard Accelerators
76Complex Swing Components and the Model-View-Controller Pattern5 modules · 10 lessons
Understanding the Model-View-Controller Pattern
Working with Lists and List Models
Tables and Table Models
Text Components and Editors
Creating Custom Components
77Text-Oriented Programming Examples3 modules · 9 lessons
Console-Style Input/Output Examples
Control Statements and Subroutines
78Graphical Examples from the Text6 modules · 7 lessons
Introduction to GUI Programming with Swing
Graphics and Animation Examples
Event Handling Examples
Advanced GUI Programming Examples
Data Structures and Algorithms Examples
Recursion and Multithreading Examples
79Building Basic GUI Applications1 modules · 5 lessons
80Mastering GUI Layout with Swing6 modules · 17 lessons
Understanding Layout Managers
Working with Borders
Practical GUI Examples
Complex GUI Layouts
Null Layout Manager
81Graphics and Painting Fundamentals8 modules · 17 lessons
Understanding Graphics Context and Painting
Coordinate System and Component Size
Working with Colors
Fonts and Font Usage
Drawing Shapes
Advanced Graphics with Graphics2D
Example Application: Random Strings Panel
Using JFrame to Display a JPanel
82Advanced Graphics with Graphics2D5 modules · 13 lessons
Measuring Text
Transparency and Alpha Blending
Strokes and Paints
83Handling Mouse Events in GUI Programming6 modules · 7 lessons
Introduction to Mouse Events
Event Handling Basics
MouseEvent and MouseListener
Working with MouseEvent Data
MouseMotionListeners and Dragging
Anonymous Event Handlers and Adapter Classes
84Advanced GUI Features: Menus, Dialogs, and Packaging3 modules · 11 lessons
Creating and Using Menus
Dialogs in Java
Fine Points of Frames and Packaging
- LessonSubclassing JFrame and Customizing FramesEnroll to open
- LessonPacking and Centering WindowsEnroll to open
- LessonDefault Close Operations: What Happens When a Window ClosesEnroll to open
- LessonCreating Jar FilesEnroll to open
- LessonUsing jpackage: Turning a Jar into an InstallerEnroll to open
- QuizChapter 6 QuizEnroll to open
85Working with Two-Dimensional Arrays3 modules · 9 lessons
Understanding Java's Representation of 2D Arrays
Conway's Game of Life
86Understanding Recursion5 modules · 9 lessons
Introduction to Recursion
Recursive Binary Search
Towers of Hanoi Problem
Recursive Sorting Algorithm
87Effective Thread Programming5 modules · 16 lessons
Threads vs Timers for Animation
Recursion in Threads
Background Computation with Threads
Multithreading for Multiprocessing
88Introduction to Multithreading in Java4 modules · 13 lessons
Creating and Running Threads
Operations on Threads
Synchronization and Mutual Exclusion
89Advanced Java Programming Concepts4 modules · 8 lessons
Understanding the Mandelbrot Set
Design of the Mandelbrot Viewer Program
Internationalization and Custom Dialogs
90Auxiliary Files and Classes2 modules · 8 lessons
Utility Classes
Start Introduction to Java Programming today.
Free for you right now.
Introduction to Java Programming