
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.
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 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.
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.
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.
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 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.
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 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.
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.
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.