Each article explains one topic with examples and the common mistakes that cost points in tests and exams. Then you practise it right in your browser, with tasks that tests check instantly.
Learn Java: all the basics explained simply
12 articlesFrom your first output to streams and generics: these articles take you through the Java basics in a sensible order, the way school, vocational training and first-year courses teach them.
- Input and outputJava input and output explained simply: print values with println and printf, read numbers with Scanner. With examples and common mistakes.Read article
- ConditionsJava conditions with if, else if, switch, && and || explained clearly. With examples and the common mistakes that cost points in exams.Read article
- LoopsJava loops explained simply: for, while, do-while, break and continue with examples. Plus the common mistakes that cost points in exams.Read article
- ArraysJava arrays explained simply: create them, loop through them, use two-dimensional arrays. With examples and common mistakes like the wrong index.Read article
- StringsJava strings explained simply: substring, charAt, split, equals and StringBuilder with examples. Plus common mistakes like comparing with ==.Read article
- Methods and recursionJava methods explained simply: parameters, return, overloading, varargs and recursion with examples. Plus common mistakes like a missing return.Read article
- Classes and objectsJava classes and objects explained simply: fields, constructors, getters, static and records with examples. Plus common mistakes like shadowed fields.Read article
- Lists and mapsLists and maps in Java explained simply: ArrayList, HashSet and HashMap with examples. Plus common mistakes like List<int> and remove on numbers.Read article
- Inheritance and interfacesJava inheritance explained simply: extends, super, @Override, abstract classes, interfaces and Comparable with examples. Plus common mistakes.Read article
- Exceptions and enumsJava exceptions explained simply: try, catch, finally, throw, custom exceptions and enums with examples. Plus common mistakes like empty catch blocks.Read article
- Lambdas and streamsJava lambdas and streams explained simply: filter, map, reduce, Comparator and groupingBy with examples. Plus common mistakes with toList() and reversed().Read article
- Generics and modern JavaJava generics explained simply: generic classes and methods, var, instanceof, Optional and sealed with examples. Plus common mistakes like Box<int>.Read article
Searching, sorting, recursion, trees and graphs: these articles explain the algorithms and data structures of a typical second programming course, each with runnable Java code.
- SearchingLinear and binary search in Java explained simply: with code examples, O(n) and O(log n) running times and the typical mistakes made in exams.Read article
- Simple sortingBubble sort, selection sort and insertion sort in Java, step by step: with examples, running time, stability and the typical mistakes to avoid.Read article
- Fast sortingMerge sort, quicksort and counting sort in Java explained simply: with example code, running time, stability and the typical mistakes in exams.Read article
- Classic algorithmsGCD with Euclid, prime sieve, number systems, Luhn and greedy change in Java: short examples, running times and typical mistakes for your exam.Read article
- Lists, stacks, queuesBuild a stack, a queue and a linked list in Java yourself: examples with an array, a ring buffer and nodes, running times and typical mistakes.Read article
- Recursion and backtrackingRecursion and backtracking in Java explained simply: base case, call stack, permutations and Towers of Hanoi with examples and typical mistakes.Read article
- Trees and heapsBinary trees, binary search trees, heaps and heapsort in Java explained simply: traversal, examples and the typical mistakes made in exams.Read article
- Hashing and graphsHash tables, breadth-first search, depth-first search and Dijkstra in Java explained simply: with example code, running times and typical mistakes.Read article
From your first move to milling: these articles explain the G-code commands you need for drilling and milling, with example programs and common mistakes.
- Coordinates and rapid traverseLearn CNC programming from the start: X, Y, Z coordinates, the zero point and rapid traverse G00, with G-code examples and common mistakes.Read article
- Program structureHow is a CNC program built? Program header, block numbers, absolute G90 and incremental G91, with G-code examples and the common mistakes.Read article
- Tool and spindleTool change with T and M6, spindle speed S and spindle M3, M4, M5 in a CNC program: with G-code examples, rules of thumb and common mistakes.Read article
- Drilling by handCNC drilling without a cycle: one hole in four steps with G00, G01 and feed rate F. With G-code examples for one and several holes and common mistakes.Read article
- Drilling cyclesCNC drilling cycle G81, dwell with G82 and retract with G98 and G99: explained simply, with G-code examples and the common mistakes with cycles.Read article
- Hole patternsRows, grids and bolt circles of holes with one CNC drilling cycle: calculate the coordinates with a formula, with G-code examples and common mistakes.Read article
- Deep holesPeck drilling deep holes on a CNC: cycles G83 and G73, choosing the peck depth Q, breaking chips. With G-code examples and the common mistakes.Read article
- Multiple toolsMultiple tools in one CNC program: centre drill, drill, countersink and tap with G84 in the right order. With G-code examples and the common mistakes.Read article
- Cutting values and short pathsCalculate spindle speed from cutting speed, get the feed in mm/min and plan short paths: with formulas, G-code examples and the common mistakes.Read article
- Milling and ExcellonLearn CNC milling: slots, contours and arcs with G02 and G03, plus Excellon drill files for circuit boards. With G-code examples and common mistakes.Read article