DO NOT DELETE THIS SECTION

Introduction to Programming in Java

CS101 | 3 Credits

Get an introduction to programming in Java while learning the core computer science concepts like variables, loops, branching, arrays, and functions. This course makes coding approachable and practical, so you can start building real programs.

Professor:

Note: Students can only enroll in a single CS101 course.

JavaScript logo on a blue background with a yellow square.
$99 + membership
97% Average Pass Rate
27 Day Average Completion
$1.5 Million Saved on Tuition
ACE-RECOMMENDED 2023

About Introduction to Programming in Java

What You’ll Learn

In our Introduction to Programming in Java online course, you will also learn about the core computer science concepts of variables, branching, loops, arrays/lists, and functions/methods.

  • Use standard input and output, and understand common syntax errors
  • Declare and initialize variables with valid identifiers
  • Develop programs that branch based on user input
  • Combine loops and arrays/lists, and develop programs with multiple arrays/lists
  • Write a function/method, then return from a function/method and parameterize a function
  • Initialize class variables with class constructor
  • Create derived and abstract classes
  • Write a recursive function
  • Use binary search, O notation, and algorithm analysis

StraighterLine Courses Include:

  • Self-paced workload
  • Digital Textbooks
  • Transcript Delivery 
  • Grade Improvement Opportunities
  • Interactive Modules
  • Video Lessons
  • 24/7 Tutoring & Support
  • Access on Desktop and Mobile

Transfer Credit in 3 Easy Steps

Pick Your Course & Enroll 

Getting started is simple — no applications, waitlists, or deadlines. Just create an account, choose your course, and start learning right away.

 

Every course is self-paced and fully online, so you can fit learning into your life — not the other way around. With support resources included and no hidden fees, you're in control from day one.

Go at Your Own Pace

No rigid schedules, no stress. Just real online college courses you can start anytime, anywhere, and finish on your own terms.

 

StraighterLine courses offer interactive lessons and assignments that help you understand and retain the material, and come with everything you need to stay on track and succeed — including digital textbooks, tutoring, and real people to support you on your journey to your degree.

Transfer Your Credits, Save Thousands on Tuition

Complete your course with a 70% or higher to make your credits eligible for transfer. Then head to your Student Dashboard, select “Request Transcript,” and tell us where to send it — we’ll take it from there at no additional cost.

 

Not sure whether your school accepts StraighterLine courses? Our Enrollment Specialists can find out for you!

Talk to an Enrollment Specialist

Does My School Accept This Course?

We’ll find out for you. Students have successfully transferred StraighterLine course credits to 3,000+ schools. Our Enrollment Specialists will contact your college directly to confirm your credits will transfer, so you don’t have to. 

WANT US TO CHECK?

Course Details

CS101
Introduction to Programming in Java
3 Credits

Intro to Programming in Java teaches you object-oriented programming, covers use pointers and streams, and provides a variety of good coding practices, including iterative development, code formatting, and variable naming schemes.

 

ACE-Recommended

The American Council on Education (ACE) evaluates and recommends college credit for courses taken outside traditional degree programs. StraighterLine courses are ACE Credit®-recommended, which means they are transferable to over 3,000 colleges and universities nationwide.

ACE Code:

OOSL-0069

Flexible Schedule

27-day Average Course Completion

Transferred 8,500 Times

$1,500,000 Saved on I.T. Tuition

Prerequisites

It is suggested, though not required, that students take Pre-Calculus or its equivalent before enrolling in Introduction to Programming in Java.

Course Text 

There is no text for this course. All materials are included in the course fee.

 

Course Checkpoints

Introduction to Java

  • Programming (general)
  • Programming basics
  • Comments and whitespace
  • Errors and warnings
  • Computers and programs (general)
  • Computer tour
  • Language history
  • Problem solving
  • Why programming
  • Why whitespace matters
  • Java example: Married-couple names

Variables and Expressions

  • Variables and assignments (general)
  • Variables (int)
  • Identifiers
  • Arithmetic expressions (general)
  • Arithmetic expressions (int)
  • Example: Health data
  • Floating-point numbers (double)
  • Scientific notation for floating-point literals
  • Constant variables
  • Using math methods
  • Integer division and modulo
  • Type conversions
  • Binary
  • Characters
  • Strings
  • Integer Overflow
  • Numeric data types
  • Random numbers
  • Reading API documentation
  • Debugging
  • Style guidelines
  • Java example: Salary calculation with variables
  • Java example: Married-couple names with variables

Branches

  • If-else branches (general)
  • If-else
  • More if-else
  • Equality and relational operators
  • Detecting ranges (general)
  • Detecting ranges with if-else statements
  • Logical operators
  • Order of evaluation
  • Example: Toll calculation
  • Switch statements
  • Boolean data type
  • String comparisons
  • String access operations
  • Character operations
  • More string operations
  • Conditional expressions
  • Floating-point comparison
  • Short circuit evaluation
  • Java example: Salary calculation with branches
  • Java example: Search for name using branches

Loops

  • Loops (general)
  • While loops
  • More while examples
  • For loops
  • More for loop examples
  • Loops and strings
  • Nested loops
  • Developing programs incrementally
  • Break and continue
  • Variable name scope
  • Enumerations
  • Java example: Salary calculation with loops
  • Java example: Domain name validation with loops

Arrays

  • Array concept (general)
  • Arrays
  • Array iteration drill
  • Iterating through arrays
  • Multiple arrays
  • Swapping two variables (General)
  • Loop-modifying or copying/comparing arrays
  • Debugging example: Reversing an array
  • Two-dimensional arrays
  • Enhanced for loop: Arrays
  • Java example: Annual salary tax rate calculation with arrays
  • Java example: Domain name validation with arrays

User-Defined Methods

  • User-defined method basics
  • Return
  • Reasons for defining methods
  • Methods with branches/loops
  • Unit testing (methods)
  • How methods work
  • Methods: Common errors
  • Array parameters
  • Scope of variable/method definitions
  • Method name overloading
  • Parameter error checking
  • Using Scanner in methods
  • Perfect size arrays
  • Oversize arrays
  • Methods with oversize arrays
  • Comparing perfect size and oversize arrays
  • Using references in method
  • Returning arrays from methods
  • Common errors: Methods and arrays
  • Java documentation for methods
  • Java example: Salary calculation with methods
  • Java example: Domain name validation with methods

Objects and Classes

  • Objects: Introduction
  • Using a class
  • Defining a class
  • Mutators, accessors, and private helpers
  • Initialization and constructors
  • Choosing classes to create
  • Defining main() in a programmer defined class
  • Unit testing (classes)
  • Constructor overloading
  • Objects and references
  • The ‘this’ implicit parameter
  • Primitive and reference types
  • Wrapper class conversions
  • ArrayList
  • Classes and ArrayLists
  • ArrayList ADT
  • Java documentation for classes
  • Parameters of reference types
  • Static fields and methods
  • Using packages
  • Java example: Salary calculation with classes
  • Java example: Domain name availability with classes

Memory Management

  • Introduction to memory management
  • A first linked list
  • Memory regions: Heap/Stack
  • Basic garbage collection
  • Garbage collection and variable scope
  • Java example: Employees list using ArrayList

Input/Output

  • Output and input streams
  • Output formatting
  • Streams using Strings
  • File Input
  • File output

Inheritance

  • Derived classes
  • Access by members of derived classes
  • Overriding member methods
  • The Object class
  • Polymorphism
  • ArrayLists of Objects
  • Abstract classes: Introduction (generic)
  • Abstract classes
  • Is-a versus has-a relationships
  • UML
  • Java example: Employees and instantiating from an abstract class
  • C++ example: Employees and overriding class methods

Recursion

  • Recursion: Introduction
  • Recursive methods
  • Recursive algorithm: Search
  • Adding output statements for debugging
  • Creating a recursive method
  • Recursive math methods
  • Recursive exploration of all possibilities
  • Stack overflow
  • C++ example: Recursively output permutations

Exceptions

  • Exception basics
  • Exceptions with methods
  • Multiple handlers
  • Exception handling in file input/output
  • Java example: Generate number format exception

Generics

  • Comparable Interface: Sorting an ArrayList
  • Generic methods
  • Class generics
  • Java example: Map values using a generic method

Collections

  • Enhanced for loop
  • Map: HashMap
  • Set: HashSet
  • List: LinkedList
  • Queue interface
  • Deque interface

GUI

  • Positioning GUI components using a GridBagLayout
  • GUI input and ActionListeners
  • GUI input with formatted text fields
  • GUI input with JSpinners
  • Displaying multi-line text in a JTextArea
  • Using tables in GUIs
  • Using sliders in GUIs
  • GUI tables, fields, and buttons: A seat reservation example

JavaFX

  • Introduction to graphical user interfaces with JavaFX
  • Positioning GUI components using a GridPane
  • Input and event handlers
  • Basic graphics with JavaFX

Searching and Sorting Algorithms

  • Searching and algorithms
  • Binary search
  • O notation
  • Algorithm analysis
  • Sorting: Introduction
  • Selection sort
  • Insertion sort
  • Quicksort
  • Merge sort

Assignments & Grading 

Your score provides a percentage score and letter grade for each course. A passing percentage is 70% or higher.

Assignments for this course include:

  • Midterm Exam
  • Final Exam

This course has an open-book Final Exam. No calculators are permitted.

What You’ll Need 

  • A reliable computer or laptop
  • Stable internet connection
  • Web browser
  • Basic computer skills
  • Scientific or graphing calculator
  • Any required course materials

Your Academic Team 

Your Faculty Team

We’re not just a platform — we’re a team of professional educators committed to your success. Our courses are built by academic professionals who are leaders in higher education, and your assignments are graded by real people who provide meaningful feedback so you can keep progressing.

Support Team

At StraighterLine, there are real people working behind the scenes to guide you through every course, quiz, and “I’m stuck” moment.

  • Enrollment Services
  • On-Demand Tutors
  • Academic Advisors
  • Tech Support

Course Professor

Tutoring & Career Resources

Your StraighterLine membership comes with the tools and guidance you need to thrive academically and take confident steps toward your career.

Blue check mark symbol on a white background.

24/7 live, on-demand tutoring, access via chat or video

Blue check mark symbol on a white background.

Exam and certification prep tools

Blue check mark symbol on a white background.

Faculty Connect portal

Blue check mark symbol on a white background.

24/7 live, on-demand tutoring, access via chat or video

Blue check mark symbol on a white background.

Real, human feedback to help you ace your assignments

Blue check mark symbol on a white background.

Exam and certification prep tools

Blue check mark symbol on a white background.

Real, human feedback to help you ace your assignments

Blue check mark symbol on a white background.

Professional development assistance

Blue check mark symbol on a white background.

Resume-building resources

Blue check mark symbol on a white background.

Professional development assistance

Blue check mark symbol on a white background.

Faculty Connect portal

Blue check mark symbol on a white background.

Resume-building resources

Students who enrolled also took:

Information Technology Fundamentals

1st attempt pass rate: 98%

Avg Days to Complete: 23

3 credits

World History I

1st attempt pass rate: 89%

Avg Days to Complete: 33

3 credits

Introduction to Statistics

1st attempt pass rate: 97%

Avg Days to Complete: 28

3 credits

TRY FOR FREE

Start Your Free Preview

Explore course content, your Student Dashboard, and all the features StraighterLine offers to support your success. No credit card, no commitment — see how easy it is to use StraighterLine.

Get Started Free

Student Reviews

4.6

Transferred in 3 classes from StraighterLine to accredited university

I used Straighterline to take 3 classes (Intro to IT, Calculus, and Intro to C++) that I was able to transfer into an accredited Computer Science program. This service saved me a semester of tuition (a couple hundred bucks spent vs. a few thousand so that's a pretty good deal).

Loki,  StraighterLine Student

Loki,  StraighterLine Student

Go at Your Own Speed Like I Did!

 

Going at my own pace has allowed me to complete two courses within a month while working on my third course at the same time. It’s super fast and easy. My school has already received my transcripts and approved the courses.

Brianna,  StraighterLine Student

Brianna,  StraighterLine Student

My Shortcut to My Degree & Career!

StraighterLine had a big impact on reducing the cost and length of time it took me to get my degree. Plus, I was able to get a full-time job in the industry I wanted to work in.

Kara,  StraighterLine Student

Kara,  StraighterLine Student

Getting Started is Simple

The StraighterLine Advantage

Full flexibility, no timelines or deadlines ever.

Your own support team to get you to the finish line.

Unlimited course access so you can take as many courses as you need.

Transfer guaranteed to one of our 180+ partner schools, and accepted by 3,000+ schools nationwide.

How to Enroll in Introduction to Programming in Java

Select your course and click “Enroll Today”.

Create your account and finalize course purchase.

Start earning affordable college credits!

You’ve Got Questions, We’ve Got Answers

Why is StraighterLine so affordable?

StraighterLine offers a completely online learning experience, free from the high costs of traditional colleges and universities. By cutting out the institutional overhead, we pass the savings onto you (instead of extra costs) — providing top-quality courses at a price that fits with your budget

What is included in the price?

StraighterLine membership gives you access to over 75 self-paced online courses at a fraction of the price you’d pay through your school — meaning you’ll save up to 90% per course. But that’s not all — membership also comes with valuable extras at no extra cost, including academic advising, 24/7 on-demand tutoring, and free transcript delivery to your school

What is ACE, and why does it matter for transfer credits?

StraighterLine courses are recommended for college credit by the American Council on Education (ACE), a respected organization that helps colleges evaluate nontraditional learning for credit. If your school accepts ACE Credit recommendations, there’s a strong chance they’ll accept StraighterLine courses. Always check with your school’s registrar to confirm how transfer credits apply to your degree.

How do I transfer StraighterLine credit?

Transferring your StraighterLine credits is easy:

  1. Check with your school: If you’re enrolled at one of our 180+ partner colleges, your credits are guaranteed to transfer based on which of our courses your school has agreed to directly accept credit for. Plus, StraighterLine credits have also been accepted by over 3,000 colleges and universities, but it’s always a good idea to confirm your school’s transfer policies before enrolling in a course.
  2. Request your transcript: Once you complete a course with a 70% or higher, log into your StraighterLine account to request an official transcript. We’ll send it directly to your school at no extra cost.
  3. Apply your credit: Your school will review your transcript and apply eligibility credits toward your degree, helping you move forward on your academic journey.

Helpful Resources

SUPPORT

Need Help Enrolling?

Our Enrollment Specialists are here to help you get started.

BLOG ARTICLE

How Do StraighterLine Online Courses Work?

Find out what your online learning experience with StraighterLine will be like.

BLOG ARTICLE

Where Can You Transfer StraighterLine Credit?

An easy-to-understand guide on how to transfer StraighterLine credits.

BLOG ARTICLE

How StraighterLine Reduces Tuition Costs

See how StraighterLine has helped students save thousands on tuition.

Java & Your Career in Technology

Introduction to Programming in Java provides essential skills for building applications, managing systems, and launching a career in IT. This course gives you a strong foundation in Java, preparing you for in-demand roles like software engineer, mobile app developer, or IT systems administrator in a rapidly evolving technology landscape.

Why it matters:

  • Technology drives every industry, making IT one of the most secure career fields as we rely more on digital systems.
  • Tech professionals have lower unemployment rates, even during broad economic fluctuations.

How this course sets you up for success:

Software Developer, Cybersecurity Analyst, IT Manager, Network Administrator, Systems Analyst, Cloud Engineer, Database Administrator, Web Developer, Information Security Specialist, and Computer Support Specialist

How this course sets you up for success:

Gaining insight into how applications, systems, and networks work together will prepare you for a career in tech.

SCRIPT HERE DO NOT DELETE

Added To Cart

Your cart includes: