Programming · PRC-25

Java for Non-Programmers

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.

Updated
From 12,150 THB / person 13,500 −10% excl. VAT 7% · group rates available
PDFDownload the course outline
  • Duration30 hours · 5 days
  • FormatOnsite / live online
  • Next roundOn request
  • CertificateIncluded

Course overview

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 1 Thinking 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 2 Conditions, 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 3 Many 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 4 Methods 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 5 Errors, 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

For organisations — in-house / private

  • Tailor the content to your team’s tools and projects
  • Your dates, at your office or live online
  • Quotation with tax ID for procurement
Corporate training quote

Instructors

Frequently asked questions

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.

Related articles

Articles are published in Thai.