Introduction to Programming in Java


Learn Java and be part of one of the largest programming communities.


This is an interactive course in Java for first-time programmers. It offers a scaffolding approach to learning, starting with the basics of computing and gradually progressing to fairly sophisticated problem solving such as binary search and insertion sort. All through this learning path, there are many assessment quizzes and programming activities to keep the learners engaged.

The course is divided into six modules. In the first module, the learners will know how to set up the Java programming environment, including an IDE, using Eclipse as an example. The next four modules cover variables, data types, control flow using iterations and decisions, and array handling. The last module focuses on understanding the overall process of program development, starting with design and then coding, compiling, executing, testing, and debugging.

Note: Please use Mozilla Firefox or Google Chrome as your browser for this course, as some of the embedded activities do not display properly in Internet Explorer or Microsoft Edge.

What students will learn

By the time the learners finish this course, students will be able to:

  • Write, compile, execute, and debug simple programs in Java
  • Use primitive data types, type conversions, strings, and arrays to handle data
  • Apply different constructs for iteration and conditional statements to manage a program’s control flow

Learning objectives by module

Unit 1: Programming with Java

Module 1: Introduction to Programming with Java

  • Recognize what is a computer program, a programming language, and a programming language compiler.
  • Understand components of the Java programming environment.

Module 2: Writing Simple Programs

  • Write programs to evaluate simple expressions.
  • Write and use user-defined library methods.
  • Recognize what is a computer program, a programming language, and a programming language compiler.

Module 3: Iteration

  • Identify an iterative algorithm and express it using a loop structure.
  • Design and code simple algorithms using iteration.
  • Identify an iterative algorithm and express it using a loop structure.
  • Trace iterative algorithms.
  • Design and code simple algorithms using iteration.
  • Create and access elements in an array.

Module 4: Making decisions

  • Determine the value of a given Boolean-valued expression.
  • Apply relational and logical operators and functions to form Boolean-valued expressions.
  • Design and code algorithms involving decisions
  • Trace Java code containing conditional statements.

Module 5: Putting iterations and decisions together

  • Translate a given algorithm to Java code using conditions and loops
  • Design and code simple algorithms that require conditionals and loops for processing an array of data items
  • Trace Java code containing conditionals and loops

Module 6: Testing and Debugging your Program

  • Differentiate between different types of errors encountered during a programming exercise.
  • Resolve compilation errors.
  • Resolve code-syntax errors.

Course assessments, activities, and outline

UNIT 1: Programming with Java

Module 1: Introduction to Java Pre-Test

Module 2: Introduction to Programming with Java

Module 3: Writing Simple Programs

Module 4: Iteration
Checkpoint: “Types of Statistical Studies”

Module 5: Making Decisions
Checkpoint: Collecting Data—Sampling

Module 6: Putting Iterations and Decisions Together
Checkpoint: Collecting Data—Conducting an Experiment

Module 7: Testing and Debugging your Program

Module 8: Introduction to Java Post-Test

Other course details

System requirements

OLI system requirements, regardless of course:

  • internet access
  • an operating system that supports the latest browser update
  • the latest browser update (Chrome recommended; Firefox, Safari supported; Edge and Internet Explorer are NOT supported)
  • pop-ups enabled
  • cookies enabled

Some courses include exercises with exceptions to these requirements, such as technology that cannot be used on mobile devices.

This course’s system requirements:

  • None. A Python environment is embedded in the course materials; learners will benefit from access to a Python interpreter, however.

Cost and payment options

$25 per student

Students are prompted for payment during the OLI course registration process, and can pay with a credit card or an OLI Payment Code purchased from your campus bookstore.

The two payment options presented to students during their OLI course registration process: credit card payment or OLI Payment Code redemption.
Learn about offering OLI Payment Codes in your bookstore.

Bulk discounts and alternative payment arrangements are available, including institutional or departmental payments. Learn about discounts and payment options.

Included instructor tools

Instructors who teach with OLI courses benefit from a suite of free tools, technologies, and pedagogical approaches. Together they equip teachers with insights into real-time student learning states; they provide more effective instruction in less time; and they’ve been proven to boost student success.

If you’d like to update an OLI course for your students, or even develop a new course or program of study, contact OLI Support for information about the OLI Author platform.

Learning and participation data is displayed in the Learning Dashboard. Read more.

Learning Engineering is the virtuous cycle of iterative improvement of learning content, instructional technologies, and the greater scientific research community. Read more

OLI Website:
New look and
New student registration process

OLI’s website has undergone a refresh, and so has the student registration process. Watch the video to see how easily students can register with a Course Key.

Go to Top