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.
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!
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
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
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.
24/7 live, on-demand tutoring, access via chat or video
Exam and certification prep tools
Faculty Connect portal
24/7 live, on-demand tutoring, access via chat or video
Real, human feedback to help you ace your assignments
Exam and certification prep tools
Real, human feedback to help you ace your assignments
Professional development assistance
Resume-building resources
Professional development assistance
Faculty Connect portal
Resume-building resources
Students who enrolled also took:
Information Technology Fundamentals
1st attempt pass rate: 98%
Avg Days to Complete: 23
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 FreeStudent Reviews
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).
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.
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.
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:
- 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.
- 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.
- 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