Java for Non-Programmers is a first programming course in Java 25, starting with problem analysis and flowcharts, then variables, conditions, loops, arrays, classes and objects at a gentle pace. It suits people who have never written code, students and career changers, and you leave with an income and expense tracker you built yourself.
Many people want to start programming but get stuck at the first step, because most books are written for readers who already have a background. They open with technical terms and long code to memorise before explaining how a computer actually thinks. Java is a good first language because it has a clear structure and is widely used in organisations, universities and Android apps, and since Java 25 a beginner's first program is much shorter, with no need to start from classes and keywords that are not yet understood.
This course is designed for people who have never programmed in any language. It starts with thinking like a programmer, analysing a problem with flowcharts and pseudocode, and then writing Java 25 step by step: variables, input and calculation, conditions, loops, using the debugger to find mistakes, arrays, ArrayList and strings. It continues with methods, classes and objects, records, enums and inheritance, error handling and reading and writing files, and shows how to use an AI assistant to support learning while still thinking for yourself. Every topic includes hands-on exercises, and the course ends with a project learners build from start to finish. (5 days, 6 hours per day, 30 hours in total, Beginner level.)
What you’ll gain
Understand how programs work and analyse a problem with flowcharts and pseudocode
Write Java 25 with variables, input, calculations, conditions and loops
Read error messages and use the debugger to find mistakes on your own
Store and manage multiple values with arrays, ArrayList and String methods
Split code into methods and create your own classes, objects, records and enums
Handle errors with exceptions and read and write text files
Build a small working program from problem analysis to finished code
Who this course is for
Anyone who wants to start programming and has never written code in any language
School and university students who want a foundation before programming classes
Business and other non-IT staff who want to understand software development and work better with IT teams
People changing careers into development who choose Java as their first language
Prerequisites
Confident computer use, such as managing files and folders and installing software
Able to use the internet and common everyday software
No programming background or advanced mathematics needed
If you can already program in another language, Basic Java Programming is a better fit
A laptop that can run a JDK and IntelliJ IDEA, with permission to install software
Curriculum
Course Details
This course is the 2026 edition that replaces the previous Java for Non Programmers course, which was taught with NetBeans and Swing. It has been rewritten for Java 25 LTS and IntelliJ IDEA. It runs for 5 days, 6 hours per day (30 hours in total, 09:00-16:00). Beginner level, for people who have never programmed. The pace is gentle and every topic has exercises. New content covers problem analysis with flowcharts and pseudocode, the debugger, records, enums and sensible use of an AI assistant. People who can already program in another language should take Basic Java Programming, which moves faster and goes further into the Stream API, JDBC and virtual threads.
Day 1Thinking Like a Programmer and Your First Program
Section 1: Lab: What a Program Is, and Setting Up Your Tools
How a computer follows instructions and what programming languages are for
Java, the JDK and the JVM explained simply
Install JDK 25 and IntelliJ IDEA and create a first project
Write a short first program with void main() and IO.println()
Lab: a program that shows your name and a greeting
Section 2: Analysing a Problem Before Writing Code
See a task as input, process and output
Break a big problem into small steps you can do one at a time
Draw flowcharts with the basic symbols
Write pseudocode in plain language before turning it into code
Workshop: design the steps to price a product after a discount
Section 3: Lab: Variables and Data Types
What variables are and naming rules that keep code readable
The data types int, double, boolean, char and String
Constants with final, and writing comments
Let Java infer the type with var when it makes sense
Lab: store product data and print a summary
Section 4: Lab: Calculating, Reading Input and Showing Output
Arithmetic operators and the order of calculation
Read input from the user with IO.readln()
Convert text to numbers with Integer.parseInt and Double.parseDouble
Format numbers and text neatly with formatted()
Lab: an electricity bill or body mass index (BMI) calculator
Day 2Conditions, Loops and Finding Mistakes
Section 5: Lab: Making Decisions with if and else
boolean values and comparison operators
if, else if and else
Combine conditions with && and ||
Nested conditions and how to keep them readable
Lab: a program that gives grades from exam scores
Section 6: Lab: Choosing a Path with the Modern switch
Arrow-style switch (->) that is easy to read and needs no break
Several values in one case
switch that returns a value (switch expressions)
Choose between if and switch for the problem at hand
Lab: a coffee shop menu that prices drinks by cup size
Section 7: Lab: Repeating Work with Loops
for loops when the number of rounds is known
while and do-while loops that run until a condition is met
break and continue
Nested loops and running totals
Lab: a multiplication table and a number guessing game
Section 8: Lab: Reading Errors and Using the Debugger
The difference between compile-time and run-time errors
Read an error message and find the line at fault
Set breakpoints, step over code and watch variable values
Common beginner mistakes and how to avoid them
Lab: fix bugs in a sample program that is wrong on purpose
Day 3Many Values: Arrays, ArrayList and Strings
Section 9: Lab: Arrays
Why arrays are needed and how to declare them
Access items by index, and the error when you go out of bounds
Loop through arrays with for and for-each
Find the largest, smallest and average values
Lab: store student scores and summarise the results
Section 10: Lab: Sorting, Two-Dimensional Arrays and ArrayList
Sort with Arrays.sort and the idea behind sorting
Two-dimensional arrays for table-like data
ArrayList that grows and shrinks: add, get, set, remove and size
Choose between an array and an ArrayList
Lab: a product list where items can be added and removed
Section 11: Lab: Working with Strings
length, charAt, substring and indexOf
Compare text with equals instead of ==, and compareTo
toUpperCase, toLowerCase, trim, replace and split
Build long text efficiently with StringBuilder
Lab: check member ID formats and tidy up names
Section 12: Workshop: Gradebook Mini Project
Analyse the brief and draw a flowchart before coding
A menu to add students, record scores and search by name
Work out grades and class statistics
Test with different data and fix bugs with the debugger
Share approaches and code with classmates
Day 4Methods and Object-Oriented Programming
Section 13: Lab: Splitting Code into Methods
Why code should be split into methods
Pass values in with parameters and get results back with return
Methods with several parameters, and methods with the same name (overloading)
Variable scope
Lab: refactor the gradebook into methods
Section 14: Lab: Classes and Objects
A class is a blueprint and an object is the real thing built from it
Fields, methods and constructors
Create objects with new and use the this keyword
Keep many objects in an ArrayList
Lab: a savings account class with deposits and withdrawals
Section 15: Encapsulation, Records and Enums
Hide data with private and expose it through methods
Validate data before it is stored
Records for data that does not change, shorter than a class
Enums for a fixed set of choices such as statuses or types
Lab: a shop membership system with membership tiers
Section 16: Lab: Introduction to Inheritance and Interfaces
Inherit from a class with extends, and overriding
Call the parent class with super
Interfaces define what a class must be able to do
Polymorphism through easy-to-picture examples
Lab: several kinds of employee with different pay calculations
Day 5Errors, Files and the Final Project
Section 17: Lab: Handling Errors with Exceptions
What exceptions are, and reading a stack trace
try, catch and finally
Validate user input so the program does not crash
Logic errors that give no warning and how to find them
Lab: add input checks to the savings account program
Section 18: Lab: Reading and Writing Text Files
Locate files with Path
Read files with Files.readAllLines and Files.readString
Write files with Files.writeString and append to a file
Simple CSV files and splitting data with split
Lab: save and load a product list from a file
Section 19: Lab: Using an AI Assistant to Learn Programming Well
Ask an AI assistant to explain errors and ideas rather than hand over finished code
Check AI-suggested code by running and testing it yourself
Take care with personal and company data
Where to go next: Basic Java Programming, Java OOP and Spring Boot
Lab: use AI to explain sample code, then improve it yourself
Section 20: Workshop: Income and Expense Tracker Project
Analyse the brief, draw a flowchart and design the classes
A menu to add, edit and delete income and expense entries
Totals by category and by month
Save data to a file and load it again when the program starts
Present your work and get feedback from the instructor
Schedule & training options
For individuals — public rounds
No public rounds are open right now. Join the waiting list and we will contact you first when the next round opens, or ask us on LINE. Or call 02-570-8449 or 088-807-9770
What do I need to install to start with Java, and what is the difference between the JDK and the JRE?
The JRE is what runs Java programs, made up of the JVM and the standard library. The JDK is the developer toolkit, with everything needed to run programs plus the javac compiler and other tools. To write programs you install a JDK, such as JDK 25, the current LTS release, and use an IDE like IntelliJ IDEA to write, run and debug code. Installing the tools is the first topic of the course, so you do not need to set anything up beforehand.
What is the difference between a class and an object in Java?
A class is a blueprint that defines what data (fields) and behaviour (methods) something has. An object is a real instance created from that class with new, holding its own values. For example, a savings account class defines an account number and balance, and each person's account is a separate object. A constructor sets the starting values, and for data that never changes, modern Java offers records, which are shorter to write than a class.
How do I read and write text files in Java?
Modern Java makes this easy with the Files class and Path. Read a whole file as a list of lines with Files.readAllLines, or as one piece of text with Files.readString. Write with Files.writeString, adding the APPEND option to add to an existing file. Handle IOException in case the file is missing or cannot be written, and for large files use a BufferedReader in try-with-resources to read line by line and save memory.
Who is the Java for Non-Programmers course for, and what should I know beforehand?
It suits anyone who has never programmed in any language, students who want a foundation, non-IT staff who want to understand software development, and career changers choosing Java as their first language. No programming background is needed, only the ability to use a computer and install software. If you already program in another language, Basic Java Programming moves at a faster pace.
What will I be able to do after the Java for Non-Programmers course?
You will be able to analyse a problem with flowcharts and pseudocode, write Java programs with variables, conditions and loops, read error messages and find bugs with the debugger, work with arrays, ArrayList and strings, write your own methods, classes, records and enums, handle errors with exceptions, read and write text files, and show an income and expense tracker you built yourself. Participants who complete the training receive a Certificate of Completion with its own number, which can be verified online.
What software do I need for the Java for Non-Programmers course?
You use JDK 25 to compile and run programs and the free edition of IntelliJ IDEA, which has a built-in debugger, to write code. Flowcharts can be drawn in draw.io or on paper. Near the end you practise with an AI assistant using your own account, and a free plan is enough. Installing the tools is the first topic of the course, so you do not need to set anything up beforehand.
Java is still the main language behind many enterprise, banking and backend systems, but the language has changed a great deal in recent years. Many books and examples still teach Java 8 style, with long code and no records, pattern matching or virtual…
Many organisational Java web systems still run on servlets and JSP with Hibernate, and IT teams need to maintain or modernise them. Since Jakarta EE 9, every javax package has become jakarta, and current Hibernate uses annotations with Jakarta Persistence…