Free Course Image Programming in Java

Free online course Programming in Java

Duration of the online course: 9 hours and 57 minutes

New

Build real Java skills for work: learn OOP, arrays, loops and debugging in a free online course with exercises and optional certificate.

In this free course, learn about

  • Java program structure, basic syntax, and using the JDK to compile and run code
  • Purpose of compiling: translate Java source to bytecode for the JVM and catch errors
  • Primitive types, declarations, variables, expressions, and basic input/output
  • Abstraction: modeling essentials while hiding unnecessary details to manage complexity
  • Control flow: conditionals, loops, scope rules, and recognizing/avoiding infinite loops
  • Problem-solving with pseudocode and stepwise refinement before coding
  • Methods: parameters, return values, overloading, and modular program design
  • Correct String comparison using equals/compareTo vs using == for references
  • Arrays: zero-based indexing, traversal, and common array operations
  • Sorting fundamentals: bubble sort purpose and behavior (repeated swaps to order data)
  • OOP basics: classes/objects, encapsulation, and inheritance to reuse/extend behavior
  • Abstract classes: defining shared structure/behavior and requiring subclass methods
  • Exception handling: using try/catch/finally to handle runtime errors robustly
  • Memory/storage concepts: volatile storage vs non-volatile and implications for persistence
  • Swing GUI basics: layout managers to control component sizing and placement

About the free online course

Java remains one of the most in-demand programming languages for building reliable software, from backend services to desktop applications. This free online course helps you move from curiosity to confident coding by guiding you through the core ideas that power everyday Java development. You will learn how Java code is compiled and executed, how to think like a programmer, and how to turn problem statements into working solutions.

Along the way, you will strengthen foundational skills that employers and technical interviews expect: working with primitive types, variables, and scope; writing clear conditional logic; and designing repeatable processes with loops while avoiding common pitfalls such as infinite loops. You will also practice reading and writing methods, using pseudocode to plan solutions before implementation, and building the habit of checking assumptions early so you can debug faster.

As you progress, the course focuses on practical data handling and classic problem-solving patterns. You will work with strings correctly, understand array indexing and traversal, and explore essential algorithms such as bubble sort to connect code with performance and clarity. These concepts translate directly into real tasks like processing user input, organizing data, and writing code that is easier to test and maintain.

A major turning point is learning object-oriented programming the Java way. You will understand why abstraction matters, how inheritance supports code reuse and cleaner design, and when to use abstract classes to define reusable blueprints. You will also build resilience in your programs through exception handling, a key skill for writing software that behaves predictably when something goes wrong.

To round out your perspective, the course introduces important computing concepts such as memory and volatile storage, plus an applied look at user interface structure with Swing and layout management. With videos and targeted exercises throughout, you will keep practicing until the fundamentals feel natural, leaving you prepared to continue into projects, advanced topics, or entry-level roles that require Java proficiency.

Course content

  • Video class: CSCI 111 - Java Programming - Chapter 1 36m
  • Exercise: What is the primary purpose of compiling Java code?
  • Video class: CSCI 111 - Java Programming - Chapter 2 34m
  • Exercise: What is the correct sequence for declaring primitive types in Java?
  • Video class: CSCI 111 - Java Programming - Chapter 3 55m
  • Exercise: What is abstraction in programming as described in the transcript?
  • Video class: CSCI 111 - Java Programming - Chapter 4 1h01m
  • Exercise: Which statement about variable scope is accurate?
  • Video class: CSCI 111- Java Programming - Chapter 5 55m
  • Exercise: What is a benefit of using pseudocode in programming?
  • Video class: CSCI 111 - Java Programming - Chapter 6 32m
  • Exercise: What is an Infinite Loop in Java?
  • Video class: CSCI 111 - Java Program. Chapter 7 29m
  • Exercise: What is the correct way to compare two strings in Java?
  • Video class: CSCI 111 - Java Prog. Chapter 8 46m
  • Exercise: What is the base index of arrays in Java?
  • Video class: CSCI 111 - Java Prog. Chapter 9 54m
  • Exercise: What is the main purpose of the bubble sort algorithm?
  • Video class: CSCI 111 - Java Prog. Chapter 10 40m
  • Exercise: What is the primary purpose of inheritance in object-oriented programming?
  • Video class: CSCI 111 - Chapter 11 33m
  • Exercise: What is an abstract class used for?
  • Video class: CSCI 111 - Chapter 12 35m
  • Exercise: What is exception handling primarily used for in programming?
  • Video class: CSCI 111 - Chapter 13 36m
  • Exercise: What is volatile storage in computing?
  • Video class: CSCI 111 - Chapter 14 45m
  • Exercise: What is the primary purpose of a Layout Manager in Swing?

This free course includes:

Icon for learning via the audio course

9 hours and 57 minutes of online video course

Icon for the digital course completion certificate

Digital certificate of course completion (Free)

Icon for exercises to practice what you've learned

Exercises to train your knowledge

Icon for courses that are 100% free from start to finish

100% free, from content to certificate

What Java programming concepts are covered in the CSCI 111 course?

The course covers Java compilation, primitive types, variables and scope, pseudocode, loops, strings, arrays, sorting, inheritance, abstract classes, exceptions, storage, and Swing layouts.

How do you compare two strings correctly in Java?

Use the equals() method to compare string contents, such as str1.equals(str2), rather than using ==.

What is the purpose of a layout manager in Java Swing?

A layout manager automatically controls the size and position of components within a Swing container.

Ready to get started?Download the app and get started today.

Install the app now

to access the course
Icon representing technology and business courses

Over 5,000 free courses

Programming, English, Digital Marketing and much more! Learn whatever you want, for free.

Calendar icon with target representing study planning

Study plan with AI

Our app's Artificial Intelligence can create a study schedule for the course you choose.

Professional icon representing career and business

From zero to professional success

Improve your resume with our free Certificate and then use our Artificial Intelligence to find your dream job.

You can also use the QR Code or the links below.

QR Code - Download Cursa - Online Courses

More free courses at Programming Languages ( Python, Ruby, Java, C )

Free Ebook + Audiobooks! Learn by listening or reading!