Learn Java by writing, compiling, and running small console programs in 14 hands-on labs. Seven guided labs introduce one major topic at a time, and each is followed by an intermediate challenge that asks you to complete a focused program using the same ideas.
The course moves from syntax, input, data, and control flow into the foundations of object-oriented programming and error handling. Practical tasks include calculations, FizzBuzz, a book class, a shopping cart, a vehicle subclass, and an age validator, giving beginners repeated experience turning requirements into Java code.
What You Will Learn
By completing this course, you will learn to:
- Set up a Java workspace and compile, run, and modify a basic class from the command line.
- Read and process interactive user input with
Scanner. - Work with integer and floating-point values, arithmetic expressions, strings, and type-based calculations.
- Express program logic with
if/else,for, andwhile, including combined conditions and loops. - Define and call methods and create classes, objects, fields, and object behavior.
- Create and update arrays and
ArrayListcollections and convert data between them. - Extend base classes, initialize subclasses, override methods, and demonstrate polymorphic behavior.
- Handle failures with
try,catch, andfinallyand define, throw, and catch custom exceptions.
Who This Course Is For
This course is for first-time Java learners, students beginning object-oriented programming, and programmers who want a structured refresher on core Java syntax. It works best for learners who want short coding tasks after each guided explanation rather than a theory-only introduction.
Prerequisites: No previous Java experience is required. You should be able to edit text files and enter commands in a terminal; familiarity with variables and basic logical thinking is helpful but not assumed as completed Java knowledge.
Learning environment: All 14 labs run in provided Ubuntu 22.04 WebIDE environments with Java development tools available. You will edit source files and use command-line compilation and execution; no external account, IDE installation, or hosted service is listed as required.
Frequently Asked Questions
How are the guided labs and challenges organized?
Each of the seven topics begins with a Beginner guided lab and ends with a related Intermediate challenge. The challenge is short, but it requires you to apply the concept more independently than the preceding walkthrough.
How far does the object-oriented programming coverage go?
You practice methods, classes, objects, fields, inheritance, constructors, overriding, and introductory polymorphism. Interfaces, abstract classes, generics, design patterns, dependency injection, and large application architecture are not listed.
Will I build web, desktop, or Android applications?
No. The curriculum uses small command-line programs to teach the language. GUI toolkits, Spring, web APIs, databases, Android, build systems, and deployment are outside the 14-lab scope.
Does the course include testing or advanced Java APIs?
No dedicated unit-testing, streams, concurrency, networking, or file-I/O labs are listed. The course concentrates on core syntax, collections basics, OOP foundations, and exception handling.





