Microsoft Technology Associate
Exam 98-388: Introduction to Programming
This is an entry level certification that is intended for application developers working with Java. The MTA
exams are targeted at secondary and immediate post-secondary level students of software development,
and other entry-level software developers. The code in the 98-388: Introduction to Programming Using
Java exam, uses Java SE. The syntax used in this exam is compatible with Java 6 SE through the most
These Java developers and students require instruction and/or hands-on experience (150 hours) with Java,
are familiar with its features and capabilities, and understand how to write, debug and maintain well-
formed, well documented Java code.
• Describe the use of main in a Java application.
Understand o Signature of main, why it is static; how to consume an
instance of your own class; command-line arguments
• Perform basic input and output using standard packages.
Fundamentals o Print statements; importing and using the Scanner class
• Evaluate the scope of a variable.
o Declaring a variable within a block, class, method
• Declare and use primitive data type variables.
Work with o Data types include byte, char, int, double, short, long,
float, boolean; identify when precision is lost;
Data Types, initialization; how primitives differ from wrapper object
types such as Integer and Boolean
• Construct and evaluate code that manipulates strings.
o String class and string literals, comparisons,
Expressions concatenation, case and length; String.format methods;
string operators; converting a primitive data type to a
string; the immutable nature of strings; initialization; null
• Construct and evaluate code that creates, iterate, and
manipulates arrays and array lists.
o One- and two-dimensional arrays, including
initialization, null, size, iterating elements, accessing
elements; array lists, including adding and removing
elements, traversing the list
Exam 98-388: Introduction to Programming using Java
Work with • Construct and evaluate code that performs parsing, casting and conversion.
Data Types, o Implementing code that casts between primitive data types, converts primitive types to
equivalent object types, or parses strings to numbers
• Construct and evaluate arithmetic expressions.
o Arithmetic operators, assignment, compound assignment operators, operator
• Construct and evaluate code that uses branching statements.
o If, else, else if, switch; single-line vs. block; nesting; logical and relational operators
Control • Construct and evaluate code that uses loops.
o While, for, for each, do while; break and continue; nesting; logical, relational, and unary
Perform • Construct and evaluate a class definition.
Object- o Constructors; constructor overloading; one class per .java file; this keyword; inheritance
and overriding at a basic level
• Declare, implement, and access data members in a class.
o Private, public, protected; instance data members; static data members; using static
final to create constants; describe encapsulation
• Declare, implement, and access methods.
o Private, public, protected; method parameters; return type; void; return value; instance
methods; static methods; overloading
• Instantiate and use a class object in a program.
o Instantiation; initialization; null; accessing and modifying data members; accessing
methods; accessing and modifying static members; importing packages and classes
Compile • Troubleshoot syntax errors, logic errors, and runtime errors.
o Print statement debugging; output from the javac command; analyzing code for logic
Code errors; console exceptions after running the program; evaluating a stack trace
• Implement exception handling.
o Try catch finally; exception class; exception class types; displaying exception information