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 to:

  • Demonstrate an understanding how computers work at the user level, install the Java Development Kit (JDK) and an integrated development environment (IDE) on a computer.  
  • Test, debug and troubleshoot issues with programs  
  • Develop a basic understanding of Java architecture in order to write Java code, compile, and run on a computer and/or in an IDE   
  • Implement Java primitive types, Strings, and arrays    
  • Implement Java control flow constructs    
  • Apply basic object-oriented programming principles.  
  • Use good design principles to create UML diagrams for Java programs.  
  • Implement user input and output functionality    
  • Use several built-in Java class libraries 

Students will demonstrate mastery of basic Java concepts by learning, practicing, and integrating programming skills and writing successfully coded Java programs and projects, as well as participating in interactive discussion groups online, and testing their knowledge with quizzes and exams.

Upon successful completion, students will be prepared to study more advanced topics in the next level course, Advanced Java Programming, or enroll in AP Computer Science A if their goal is to prepare for the College Board examination.

This course does not have any synchronous class meetings, but students may schedule one-on-one virtual meetings directly with the instructor to answer questions or concerns. Students may be invited to interact in CTY community spaces that include students and instructors and potentially specially invited guests that are not enrolled in their course. Student contributions (e.g., projects, forum posts, etc.) may remain in the course after the student completes the course. These artifacts may be preserved to showcase student work or to continue important conversations.

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 - 12th Edition

  • ISBN 9780136520238

Note: ePub or loose-leaf versions of this edition are acceptable for use in this class.

Detailed Course Information

Course Details

The following course details apply to students starting on January 1, 2021 or later.

Unit 1: Getting Started

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

Unit 2: Introduction to Java

  • Identifiers
  • Variables and Primitive Data Types
  • Assignment Statements and Expressions
  • Common Errors and Pitfalls

Unit 3: Java Programming Basics

  • Boolean Primitive Data Type
  • Reading Input and Augmented Operators
  • Escape Sequences
  • Mixed-Mode Expressions
  • Constants

Unit 4: Decision Making

  • If Statements
  • Two-way if-else Statements
  • Nested if, Multi-Way If-else and Switch Statements
  • Generating Random Numbers and Operators

Unit 5: More Java Operators

  • Logical Operators
  • Short-circuited Evaluations
  • Pre/Post Increment and Decrement Operators

Unit 6: Iteration Constructs

  • Iteration overview
  • The while Loop
  • The do-while Loop
  • The for Loop
  • Iterative Scenarios and Additional Controls

Unit 7: Java Class Methods

  • Methods
  • Parameterized and Non-Parameterized Methods
  • Modularization

Mid Term Project

Unit 8: Arrays

  • Introduction to Arrays
  • Manipulating One-Dimensional Arrays
  • Searching and Sorting Arrays
  • Two and Multidimensional Arrays

Unit 9: Working with Java Strings

  • Character Data Type and Operations
  • Strings
  • Built-in Mathematical Methods

Unit 10: Introduction to Object-Oriented Programming - 1

  • Class Abstraction and Encapsulation
  • Constructing Objects Using Constructors
  • Overloading Methods

Unit 11: Introduction to Object-Oriented Programming - 2

  • Class Relationships
  • Wrapper Classes
  • Automatic Conversion between Primitive Types and Wrapper Class Types

Unit 12: Finishing Up

  • Capstone Project
  • Final Exam


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 which can be used for instructor-student communication if the student has any questions about the course or curriculum. The classroom works on standard computers with the Zoom desktop client and also tablets or handhelds that support the Zoom Mobile app. Students will need a computer with the Zoom desktop client installed to watch any 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."