
Understand how binary bits form bytes and memory. Explore nibble and byte concepts and convert between binary, hex, and ascii representations in computing.
Discover how computers store data using bits and bytes, encode characters with ASCII and hex, and organize information with RAM, hard drives, and FAT32 NTFS file systems.
Explore how character encodings work, from ascii and ansi to utf-8 and utf-16, including bom and endianness. Learn how bytes, hex, and file metadata influence storage, display, and cross-platform compatibility.
Explore how computers store numbers with bits, bytes, sign bit handling, then learn Java primitive data types: byte, short, int, long, float, double, char, boolean.
Learn to declare and use Java primitive data types—byte, short, int, long, float, double, char, boolean—while exploring memory, casting, strings, and printing with System.out.print.
Master printf formatting in Java, including placeholders and width, and learn arrays: declaration, initialization, and element access. Explore main(String[] args) for command-line input and avoid common pitfalls.
Master Java flow control by wiring boolean logic and truth tables (and, or, not, xor, nand, nor) to if/else decisions and loops (while, for, do-while) with NetBeans debugging.
Explore Java methods and flow control, mastering switch statements, command line arguments, and debugging, while understanding method signatures, parameters, returns, overloading, and call stacks.
Explore object oriented programming by building Java objects from a dog class blueprint, creating instances, and manipulating fields, references, and memory while covering loops, exceptions, and command line input.
Demonstrates the difference between instance and class (static) members using a dog example, explains memory references, and covers access modifiers and packages.
Explore encapsulation, constructors, and inheritance in Java by building packages, importing classes, overloading constructors, and using getters, setters, and toString to manage object state.
Explore enumerated types to model gender, color, and car attributes. Demonstrate encapsulation, static counters, and a car factory to generate and manage cars.
Explore polymorphism and inheritance in Java through practical examples of car types, static counters, enums, constructors, and initialization blocks, showing how objects, references, and overridden methods interact.
Explore interfaces and lambdas in Java, implementing behavior with anonymous inner classes and the I playable interface, with dog and light bulb examples, and contrast abstract classes with interfaces.
Explore method references and generics in Java, including lambdas, functional interfaces, and varargs. Demonstrate generic methods and generic classes with bounded type parameters.
Learn practical multithreading in Java: create threads by extending Thread or implementing Runnable, start and join them, manage daemon vs user threads, and synchronize shared counters to avoid race conditions.
Explore Java arrays, including multi-dimensional and asymmetric arrays, and build utilities to print, traverse, and sort them; generate six unique numbers from 1-45 for a lotto game and simulate draws.
Explore how to implement robust equals and hashCode in a Java class by encapsulating fields, overriding toString, and safely handling nulls and type checks with an illustrative light bulb example.
Learn how to implement a dynamic generic array in Java by encapsulating storage, managing capacity and size, and supporting add, remove, get, set, and clear operations.
Learn to implement the observer pattern in Java by building a soccer game simulator that notifies listeners (radio, TV, web) of events like game start, minutes, half-time, scores, and end.
Build a Java hex viewer that opens files and shows bytes in hex and binary with addresses, controlled by command line switches for sixteen byte rows.
In this Java programming lecture, learn file manipulation techniques including reading and writing files, serialization with object streams, and using properties and XML configs for configurable programs.
Learn to build a Java GUI application with JavaFX, Maven, and modules, including FXML and Scene Builder. Load FXML, manage Stage and Scene, and wire up controls and events.
Build a simple JavaFX Maven project and master stage, scene, and pane layouts with controls and shapes, then implement draggable nodes and window close handling.
Explore shape movement and transitions in JavaFX by making nodes draggable, applying opacity and reflection, and building a movable three circle app with collision and keyboard control.
Learn to build a classic snake game in Java, using a dynamic array of rectangle segments, an apple circle, a score label, and timeline-driven movement.
Build a Java snake game: start on a key press and prevent reversing into the body. Grow on food, update the score, and support pause, reset, and game over.
Learn to implement a replay for a JavaFX snake game by recording each move as a screen capture (circle and snake), storing captures, and replaying via a timeline.
Learn to build JavaFX interfaces with FXML and Scene Builder, wiring views to controllers via the FXML loader, and apply the MVC pattern for clean view and logic separation.
Learn to build a JavaFX calculator app using an FXML loader, an anchor pane, and a controller, then implement memory functions with BigDecimal arithmetic and two-number operations.
Develop a calculator app part 2 by refining the UI with memory container, storing memory, and updating both the text field and memory label via a shared method.
explain styling a JavaFX GUI with a dark CSS theme, including hover effects and root variables, and build a notepad app with a menu bar, text area, and status bar.
Build a notepad-style Java application (part 2) with a JavaFX GUI, main class design, icon integration, font and zoom controls, drag-and-drop file loading, and OS-aware save and open workflows.
Develop a java notepad app that computes caret position via a helper class and handles file operations—open, save, save as, and drag-and-drop—through a notepad controller.
Build a notepad find feature by opening a new window with an fxml and find controller, and wire cross-window communication for forward and backward search using a toggle group.
Display current time using a date time formatter and enable word wrap in a notepad app; implement a font chooser dialog with a dialog pane and return the font.
Learn to implement font resizing in a notepad app: fetch the current font name, adjust its size for zoom in/out, apply the new font, and update the zoom percentage display.
Learn how to install PostgreSQL, understand relational databases, and use SQL to create tables with primary and foreign keys, insert and query data, and use views and transactions.
Learn to connect to a PostgreSQL database from the command line and from a Java program using JDBC, handle result sets, and guard against SQL injection.
Explore PostgreSQL custom types like gender enums, model roles, cities, and statuses with foreign keys, map to Java beans, and use prepared statements, batch updates, and MVC concepts.
Learn to securely handle passwords in Java by hashing with sha-256 using Apache Commons Codec, avoiding plain text storage, and implementing a password type with hash verification against the database.
Learn to insert a new employee via a JavaFX GUI by populating city, gender, status, and role drop-downs from the database and saving with prepared statements.
Build a JavaFX app to manage users: navigate between main, add user, and show users views, and edit employee data in a table with a city combobox.
Learn how Java annotations guide runtime behavior by building custom annotations, inspecting classes with reflection, and driving a loader to modify class loading and method execution, with a dog example.
Explore how URL components enable client-server communication, including protocol, host, path, query, and fragment, and learn to convert Java objects to JSON with the Google JSON library.
Learn api programming by building a Java weather app that calls a five-day forecast api, parses json to weather objects, and displays the results in a JavaFX interface.
Explore Lombok and the builder pattern in Java with Spring Boot, learn how annotations generate boilerplate, and build a test car object and a REST API through a multi-layer architecture.
Develop a multi-layer Java app with api, service, and database layers; create rest endpoints for cities and employees, handle request bodies, and generate api keys via uuid to illustrate microservices.
These are the real classes I done with real students. They are un-edited in any way. You will be able to see the entire process of learning from scratch and hear student questions as they themself are just beginning to understand. Many of those questions you would probably ask yourself.
These is no prerequisites for those classes. I assume you don't know anything about computers and programming. However, in order to understand programming, it's essential to understand how computer works. That's why first part covers computer basics like memory, HDD and CPU. It also covers basics of how computer works and how it communicates with us humans through character encodings.
Second part covers basics of Java language like primitive data types and flow control and loops. You will be able to write simple programs and output the result to a console.
Third part covers Object Oriented Programming. This is a concept that takes real life objects and implements them as part of computer code. You will be able to understand how computer handle real life problems through objects.
Fourth part covers programming concepts, and it follows development of small programs.
Fifth part covers introduction to GUI development. You will learn what are the parts of the GUI and how to create simple GUI applications.
Sixth part is a practical development, and it covers complete development of popular snake game. It covers development of the game from the beginning to the end.
Seventh part is more advanced GUI development where you will develop small applications like Calculator and your own personal Notepad. It covers advanced GUI development and after that you will be able to write your own GUI applications.
Eith part covers databases and SQL language. You will be able to create your own database and create your own tables. You will learn about relational databases and be able to connect to it from your code. Databases are essential to any meaningful programming. You will create simple programs to insert data into database, to modify and delete.
Nineth part covers Spring boot and API. API is used for computer-to-computer communication and in this part, you will learn how computers communicate between each other. You will be able to use free public API and write your own programs to communicate with other computers on internet.