
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
Set up a Java development environment with NetBeans and the JDK, then learn that Java is object-oriented, with objects, classes, methods, instance variables, and their states and behaviors.
Create your first java program by using a java project, write a main method to start execution, print with System.out.println, ensure file name matches class name, then build and run.
Variables are the foundational programming concept: a storage location with a symbolic name that holds a value, which can change during program execution; assignments update these values.
Learn data types such as boolean, integer, character, float, double, and string, and how memory stores values, plus the difference between assignment and equality in strongly and weakly typed languages.
Explore how variables store data, apply arithmetic, remainder, and logical operators, and use relational conditions to yield boolean results in Java.
Master declaration rules in Java: only one public class per source file; a file may contain multiple non-public classes; package and import statements apply to all classes.
Demonstrates building a dog class with instance variables and methods, including a constructor, set age, get age, and a main method that prints the dog's name and age.
Master if statements and else if logic to control which commands run based on boolean conditions, and explore simple conditional decision flows.
Explore decision making in Java using if statements, if else, and nested if structures. Learn switch statements with cases, breaks, and defaults to control program flow.
Explore loops and iteration in programming, focusing on while and do-while loops, condition checks, and avoiding endless loops while printing hello world.
Explore loops in Java, including for, while, and do-while constructs, with initialization, condition checks, and updates to control flow. Learn how break and continue affect loop execution through practical examples.
Learn how arrays store a fixed-size collection of elements of the same type, using zero-based indexing and contiguous memory. Declare, initialize, and access a single-dimensional array in Java.
Explore how two dimensional arrays differ from one dimensional arrays using class and school examples, and learn how to size and index multi dimensional data.
Explore arrays in java by declaring and using fixed-size collections, accessing elements by index and length, and performing operations with for loops such as print, sum, min, and max.
Explore two-dimensional arrays by indexing rows and columns, learn zero-based indexing, declare and initialize a three by four rating matrix, and compute a row average while handling out-of-bounds errors.
Explore functions as reusable code blocks with input and output that support modular software design. Learn function signatures, parameters, and return types with examples like hello world.
Explore file input and file output concepts for the Java MTA course, including read-only, write, append, and read-write modes, with examples in C++, Java, and Python.
Learn to read and write files in Java using file input stream and file output stream. Handle io exceptions such as file not found with try and throws io exception.
Learn the object oriented programming paradigm, where programs are built from objects with attributes and methods, interact to share data, and evolve from analysis to design to implementation.
Explore objects and classes in Java, detailing how objects have states and behaviors, how classes act as templates, and how constructors and the new keyword create instances.
Explore objects and classes in Java, learning how objects have states and behaviors, how classes serve as templates, and how constructors, instantiation, and static variables enable object creation and access.
Learn how Java uses packages and import statements to locate classes, and build a student class with fields, constructors, and methods, then run a main test to print details.
Explore methods in object-oriented programming, covering class variables, instance variables, member variables, class methods, and instance methods, and how each relates to a class or object.
Explore creating and invoking Java methods with and without parameters, using return types like int or void, and see how method overloading enables reusable code through examples.
Explore encapsulation, binding data and methods together, and data hiding through public and private access, with getters and setters as safeguards.
Explore method passing, where objects perform dynamic dispatch to select and execute code in response to a method call, enabling directional message passing between interacting objects.
Explore inheritance in object-oriented programming, including base and derived classes and is-a relationships, and the five types—single, multiple, multilevel, hierarchical, and hybrid—with animal and vehicle examples.
Explore polymorphism as subtyping in inheritance, enabling a common interface for shapes such as circle and square, each with its own draw and area implementation, and dog and cat sounds.
Explore generalization, which combines common characteristics into a higher-level superclass, and specification, which forms specialized classes from existing ones, guiding team design in Java projects.
Explore links and associations in object oriented programming by defining associations and links, and mastering binary, ternary, and cardinality ratios—one-to-one, one-to-many, and many-to-many, with DBMS relevance.
Explore the basics of structured query language (SQL) and how it enables data retrieval and management in relational databases across systems like MySQL, MariaDB, SQL Server, Oracle, and PostgreSQL.
Learn why SQL matters as the standard language for storing, manipulating, and retrieving data in relational databases, and how apps like Facebook and Twitter rely on these databases.
Learn how to install a free cross-platform web server stack with XAMPP, Apache, MySQL (MariaDB), and the SQLYOG community edition client to manage your database locally.
Start and manage essential services from the control panel, including the Apache web server and MySQL/MariaDB databases, and verify the default port 3306 as you begin a new instance.
Connect to a MySQL server as root with empty password, create a database via query or UI, and verify it appears with tables, views, stored procedures, functions, triggers and events.
Learn how to show databases, execute drop database statements, and recreate a database, while recognizing the risk of data loss without a backup.
Create students table by defining id as integer primary key, name as varchar(30) not null, age as integer not null, and grade as decimal, using create table statements and debugging.
Drop tables in a database by using the drop table statement, execute the query, and refresh results; then use insert into to add new rows.
learn the insert into syntax, specifying columns and values, or omitting column names to insert all columns; see practical examples with a students table and refreshing to view inserted rows.
Learn how to create a new table from an existing one using select statements, copying all data with an asterisk from the source table, and understand result sets.
Understand the basic select statement syntax to fetch all or specific columns from a table, for example select * from students or select name, AIDS from students.
Master the where clause in SQL to filter records with conditions, using quotes for strings and applying it in select, update, and delete operations.
Use SQL operators to filter data with greater than, greater or equal, less than, and less or equal. Combine conditions with and or in select statements for the students table.
Execute update queries to modify existing records, using update table set column=value and optional where conditions; learn updating single or multiple columns and verify results with a select.
Execute delete statements to remove specific records with a where clause, such as deleting a student named Chris, or clear all records with delete from table, then refresh to verify.
Explore the like operator in a where clause, using % and _ wildcards for pattern matching in sql. Find names starting with mal, containing mal, or ending with sequences.
Learn to limit data across MySQL, MSSQL, and Oracle using limit, top, and rownum syntax with practical examples. Apply the same approach to retrieve a specific number of rows.
Learn to use the order by clause to sort query results in ascending or descending order by one or more columns, with examples such as order by AIDS and name.
Group by clause groups similar data by name in a select statement, enabling aggregates like sum(age). Follow where clause and precede order by clause, as shown with Maria and Dorothy.
Learn how to use the distinct keyword with select statements to return only unique records and eliminate duplicates in a data table.
Truncate the table to delete all data in the students table. See how to connect sql with your application to store, manipulate, and query data.
Learn Java fundamentals by tracing small programs, building reusable methods and exploring objects and databases. This course offers an introductory route through the language, with coding activities and final practice lessons that make the underlying rules easier to test.
Begin with the Java environment, a main method, variables, types and operators. Work through decisions, loops, arrays, file input and output, and exception handling. Object-oriented sections introduce how classes organise behaviour and state, while later SQL lessons provide an introduction to working with stored data.
Practise the decisions behind the syntax
Predict which path a conditional or loop will execute.
Separate a calculation into a method with clear inputs and a result.
Explain what changes in an object and why that change is allowed.
Test a boundary value instead of relying on one successful example.
The final workshops examine boundary conditions, reusable methods and string comparison. Work with a small example first, record the result you expect and then change one condition. Explaining the difference gives you evidence that you understand the program beyond its surface wording.
This course suits learners beginning Java and those revisiting foundational programming. No previous Java experience is assumed by the introduction, but regular practice in your own development environment will help you make progress.
The original study framework is Microsoft's retired MTA 98-388 syllabus. Use the course for the programming material, not as preparation for an examination that can still be booked. Recorded installation screens and older platform details should be checked against current documentation. Review the curriculum to choose the Java and database sections that fit your learning goal.
Learning Java as a sequence of understandable decisions
Java can seem intimidating when installation steps, syntax and object-oriented vocabulary arrive together. This course breaks the foundation into smaller subjects: values, decisions, loops, arrays, files, exceptions and objects. The legacy MTA 98-388 framework explains part of the original study structure, while the practical reason to choose the course is to understand and practise Java. You can work toward a simple standard of progress: read a short example, predict its result and explain the operations that produce it.
Getting comfortable with the basics
The introduction establishes the setting for Java examples. As you work with variables and expressions, pay attention to what a value represents and which type is expected. A small difference in an operator or conversion can change a result. Keep examples short enough to inspect every relevant statement. This helps you separate a problem with the idea from a problem with the way it was written. It also makes error messages more informative, because you have a clearer expectation to compare with the compiler's response.
Conditions and alternatives
Conditional logic is about dividing possible situations into cases. A program might classify a number, choose a message or decide whether work should continue. Before writing the Java statement, describe those cases in ordinary language. Then ask whether a value can fall through an unintended gap or satisfy more than one rule. The recorded decision examples provide a manageable setting for that reasoning. Testing the boundary between two cases is often more revealing than repeatedly trying values that clearly belong in the middle of one category.
Tracing loops carefully
Loops combine a repeated task with a rule for progress and completion. The loop section supports practice with both. In your notes, identify the initial value, the comparison and the update that changes what happens next. Follow the first iteration and the last expected iteration explicitly. This can reveal why a loop repeats one time too many or never reaches its intended end. The purpose is to understand control flow well enough to explain an error, not simply to recognise a familiar loop pattern on the screen.
Arrays, files and exceptions
These topics introduce situations in which a program interacts with a collection or a resource. An array requires valid positions. A file operation depends on information outside a single expression. An exception signals that an operation did not proceed along the ordinary path. The introductory recordings give you vocabulary and examples for those differences. When practising, describe the expected result and the situation in which that expectation might fail. This creates a stronger foundation for later Java work than assuming that every input and resource will always be present.
Developing object-oriented understanding
Classes and methods offer a way to group responsibilities. The OOP material introduces relationships such as inheritance and related concepts without requiring you to begin with a large application. Ask what an object represents, what it knows and what a method promises to do. A clear explanation should distinguish the class definition from an individual object and a method declaration from a call. Those distinctions help you read beginner code more accurately and avoid using OOP terminology as a substitute for explaining actual behaviour.
Using the coding exercises
Attempting a short exercise before watching its solution gives you a useful comparison. You can identify which part of the reasoning was sound and which assumption caused a wrong result. Keep at least one test input that probes a limit or an unusual case. If two solutions produce the same ordinary output, ask whether they also behave the same way for that test. This turns the exercise into an investigation rather than a memory task. The additional reading material gives you another place to practise explaining and checking Java behaviour.
Seeing the connection with SQL
The later database section looks beyond an isolated Java program toward stored information. It introduces SQL and relational-database ideas as an extension of the programming foundation. You can begin distinguishing a calculation performed now from a record that needs to remain available later. This is an introductory bridge, not a claim of complete database or enterprise application training. Use it to understand why data organisation matters and to decide whether a more focused database course belongs in your next stage of study.
Choosing a realistic learning goal
The MTA qualification in the original recordings is retired. This course should therefore be selected for its Java fundamentals and exercises, not as a promise of a current Microsoft credential. It suits a new learner or someone revisiting early Java who wants a structured progression. Work through the examples deliberately, check your predictions and identify the concepts you can explain independently. That gives you a useful starting point for further Java development, additional project practice or a separately chosen current certification pathway.
Curriculum at a glance
Introduction to Java
If-Statements, Decisions and Conditional Logic Flow
Loops and Iteration
Arrays, File Input/Output and Exception Handling in Java
Coding Exercises
Object-oriented Programming in Java
Introductory SQL and stored data beyond the Java foundation
Historical MTA 98-388 study guidance and Java revision