Skip Navigation

Introduction to Java

Arrow image that is used as button to enroll in courses. Enroll in this Course

Open to: Grades 9-12

Eligibility: CTY-level or Advanced CTY-level math score required

Course Format: Individually Paced

Course Length: Typically 3 months

Recommended School Credit: One-half academic year

Course Code: IJA

Course Description


This course introduces students to the basic features of the Java programming language.

Students will learn about:

  • Java primitive and non-primitive data types
  • control flow constructs
  • built-in class libraries
  • object-oriented programming concepts such as classes, objects, method overloading and encapsulation

Typical assignments and projects include using built-in and programmer-defined classes, performing basic input and output operations, and solving programming problems like encrypting/decrypting messages and simulation. At the end of the course, students submit a comprehensive final examination.

Upon successful completion, students will be prepared to study more advanced topics in the next level course, Advanced Java Programming.

Materials Needed

The core textbook for the course can be purchased online. 

Introduction to Java Programming and Data Structures, Comprehensive Version, by Y. Daniel Liang [11th Edition]

Students who have the previous edition of the textbook can continue to use it. Reading assignments for each unit are listed for both editions. 

Detailed Course Information

Course Details

Getting Started

  • Computing Concepts
  • Java History & Architecture
  • The Structure of a Java Program
  • Compiling & Running a Java Program

Introduction to Java

  • Declaring & Initializing Java Variables
  • Rules for Constructing Java Variable Names
  • The Scope & Lifetime of Variables
  • Source Code Comments
  • Doing Basic Program Output

Java Programming Basics

  • Java Primitive Types
  • Basic Arithmetic Operators
  • Precedence & Order of Evaluation
  • Defining & Using Constants
  • Mixed Mode Expressions & Type Conversion

Program Decision Making

  • Relational Operators & Expressions
  • The if-else Construct
  • The switch Construct
  • The Conditional Operator

More Java Operators

  • Increment and Decrement Operators
  • Arithmetic Assignment Operators
  • Logical Operators
  • Bitwise Operators

Iteration Constructs

  • The for Construct
  • The while Construct
  • The do-while Construct
  • Comparing Java Iteration Constructs
  • Nested Iteration Constructs
  • Additional Iteration Topics

Introduction to Java Class Methods

  • Defining Class Methods
  • Scope of Method Arguments & Variables
  • Passing Arguments to Class Methods
  • Returning Values from Class Methods
  • Type Conversion & Type Checking
  • Some Built-In Java Class Methods


  • Creating & Using Arrays
  • Passing Arrays as Method Arguments
  • Returning Arrays from Methods
  • Multi-Dimensional Arrays
  • Referencing Arrays Dynamically

Working with Java Strings

  • The Java String Class
  • Creating & Using String Objects
  • Manipulating Strings
  • String Immutability & Equality
  • Passing Strings To & From Methods
  • The StringBuffer Class

Introduction to Object-Oriented Programming - 1

  • Object-Oriented Programming Basics
  • Defining & Using Classes
  • Controlling Access to Class Members
  • Class Constructors
  • Method Overloading
  • Class Variables & Methods

Introduction to Object-Oriented Programming - 2

  • Basic Class Design Guidelines
  • Reusing Classes
  • Using Objects with Methods
  • Using Arrays and Objects
  • Class Variables & Class methods


Technical Requirements

This course requires a properly maintained computer with high-speed internet access and an up-to-date web browser (such as Chrome or Firefox). The student must be able to communicate with the instructor via email. Visit the Technical Requirements and Support page for more details.

The student will need the Java Runtime Environment.

Zoom online virtual classroom
This course uses an online virtual classroom for discussions with the instructor. The classroom works on standard computers with the Zoom desktop client and also tablets or handhelds that support the Zoom Mobile app. Students who are unable to attend live sessions will need a computer with the Zoom desktop client installed to watch recorded meetings. The Zoom desktop client and Zoom Mobile App are both available for free download.

Most course lectures may be viewed on mobile devices, but in some cases assignments and quizzes must be completed on a desktop or laptop computer.

Chromebooks are not recommended due to required downloading of specialized software.

This course uses Respondus LockDown Browser proctoring software for designated assessments. LockDown Browser is a client application that is installed to a local computer. Visit the Respondus website for system requirements.

While Chromebook can be used to progress through the course, all exams must be completed on a PC or Mac.


CTY Online Programs Computer Science - Comments and Feedback from Students, Parents, and Teachers



"The instructor helped my son learn how to independently complete the course successfully. She gave helpful and timely feedback and guidance to me and my son. By the end of the course, my son was corresponding with the instructor and managing the course all on his own-- what a great skill to learn above and beyond material she helped him through, which he loved. He can't wait to take the next course."

"This is my son's 2nd course with this instructor and JHU, and our expectation was exceeded again with the instructor’s quick, timely responses, depth of knowledge and her dedication to help my son understand the material."

"My son’s instructor has a great ability to interact with kids. He was able to teach a technical subject to my son amazingly well. He kindled interest in the subject. He is very dedicated and provided good feedback."