Back to Catalog

Java Programming: Object Oriented Concepts & Practice

Premium
IntermediateCourse

Advance your Java skills with OOP, interfaces, collections, and file I/O. Complete real-world, hands-on projects such as a mood tracker and time-off system.

Language

  • English

Topic

  • Java

Skills You Will Learn

  • Data Structures, Application Development, Program Development, Data Management, Java Programming, Object-Oriented Programming

Offered By

  • IBMSkillsNetwork

Estimated Effort

  • 20 Hours

Platform

  • SkillsNetwork

Last Update

  • August 19, 2025
About this Course
Ready to take your Java skills to the next level with real-world projects and advanced coding techniques? This course deepens your understanding of object oriented programming and Java collections, giving you valuable practical experience to build scalable, professional-grade applications. 
 
You will learn:  
  • Gain practical experience applying OOP techniques to build modular, reusable Java applications using classes, objects, encapsulation, and abstraction. 
  • Use inheritance, polymorphism, interfaces, and method overloading to create flexible, maintainable Java code, skills vital for real-world development roles. 
  • Manage application data effectively using the Java Collections Framework, including lists, sets, queues, and maps, key for scalable back-end systems. 
  • Work with files, directories, and date-time APIs to handle system-level tasks in Java, a common requirement in enterprise-grade applications. 
 
Course Overview   
 
Java developers with strong object oriented programming (OOP) skills earn an average annual salary of over $91,000 in the U.S. (Indeed.com). This intermediate-level course helps you advance your Java expertise by mastering OOP techniques used in real-world development. It’s ideal for developers with foundational Java experience who want to build efficient, scalable, and professional-grade applications. 
 
During the course, you’ll gain essential skills for tasks like designing modular programs, implementing code reuse through inheritance, managing complex data structures, and working with real-world I/O operations. You’ll deepen your understanding of core OOP concepts, such as encapsulation, abstraction, inheritance, and polymorphism, while guiding you through the creation and implementation of classes and objects. Plus, you’ll also explore advanced topics like interfaces, method overloading, and the Java Collections Framework. 
 
Through guided labs, coding challenges, and two capstone-style projects, including a mood-tracking app and an employee leave management system, you’ll apply your skills in scenarios that mirror real-world software development. You’ll work hands-on with data structures such as lists, sets, queues, and maps, and manage files using Java streams. Plus, you’ll cover directory management, as well as date and time operations, expanding your ability to build real-world Java programs. 
 
By the end of this course, you’ll be able to design and build the object oriented applications that businesses need. Enroll now to take your Java skills to the next level and accelerate your software development career! 
 
Prerequisites  
 
This course is designed for budding software developers, experienced professionals aiming to refine their programming skills, and students strengthening their foundation in programming. A basic understanding of software development and familiarity with Java fundamentals are essential to effectively grasp and apply object oriented programming concepts. 
 
Related Professional Certificate  
 
This course is part of the IBM Java Developer Professional Certificate. If you’re looking to build job-ready skills in Java development, we recommend you enroll in the full Professional Certificate program and work through the courses in order. Within a short period, you’ll gain hands-on experience in deploying Java applications using industry-standard practices, design patterns, and cloud-native technologies. 
 
Course Syllabus  
 
The course consists of the following modules:  
 
Module 0: Welcome 
  • Video: Course Introduction 
  • Reading: General Information 
  • Reading: Learning Objectives and Syllabus 
  • Reading: Grading Scheme 
  • Reading: Helpful Tips for Course Completion 
 
Module 1: Object Oriented Programming Basics  in Java 
  • Module Introduction and Learning Objectives 
  • An Introduction to Object Oriented Programming 
  • Using Classes and Objects in Java 
  • Create Your First Class 
  • Using Encapsulation in Java 
  • Building Java Constructors 
  • Build Your own Java Constructor 
  • (Optional) Coding Challenge:  Object Oriented Basics in Java 
  • Practice Quiz: Object Oriented Programming Basics in Java 
  • Module 1 Summary: Object Oriented Programming Basics in Java 
  • Module 1 Glossary: Introduction to Java Environment and Ecosystem 
  • Module 1 Coding Cheat Sheet: Object Oriented Programming Basics in Java 
  • Module 1 Graded Quiz: Object Oriented Programming Basics in Java 
 
Module 2: Advanced Object Oriented Programming Concepts in Java 
  • Module Introduction and Learning Objectives 
  • Understanding Inheritance in Java 
  • Polymorphism Explained 
  • Implementing Polymorphism 
  • Applying Abstraction in Java 
  • Using Inner Classes in Java 
  • Design Interfaces and Abstract Classes 
  • (Optional) Coding Challenge:  Advanced Object Oriented Programming in Java 
  • Practice Quiz: Advanced Object Oriented Programming Concepts in Java 
  • Module 2 Summary: Advanced Object Oriented Programming Concepts in Java 
  • Module 2 Glossary: Advanced Object Oriented Programming Concepts in Java 
  • Module 2 Coding Cheat Sheet: Advanced Object Oriented Programming Concepts in Java 
  • Module 2 Graded Quiz: Advanced Object Oriented Programming Concepts in Java 
 
Module 3: Working with Collections in Java 
  • Module Introduction and Learning Objectives 
  • An Introduction to Java Collection Framework 
  • Working with Lists: ArrayList and LinkedList 
  • Create a Simple To-Do List Using ArrayList 
  • Exploring Sets: HashSet and TreeSet 
  • Using Queues in Java 
  • Using Maps: HashMap and TreeMap 
  • Implement a Phonebook Using a HashMap 
  • Using Collections in Real-World Scenarios 
  • (Optional) Coding Challenge: Working with Collections in Java 
  • Practice Quiz: Working with Collections in Java 
  • Module 3 Summary: Working with Collections in Java 
  • Module 3 Glossary: Working with Collections in Java 
  • Module 3 Coding Cheat Sheet: Working with Collections in Java 
  • Module 3 Graded Quiz: Working with Collections in Java 
 
Module 4: File and Directory Management in Java 
  • Module Introduction and Learning Objectives 
  • An Introduction to Java File Handling 
  • Using Byte Streams in Java 
  • Working with File Input and Output Streams 
  • Read a Text File 
  • Managing Directories in Java 
  • Use Directory Explorer 
  • (Optional) Coding Challenge: File and Directory Management in Java 
  • Practice Quiz: File and Directory Management in Java 
  • Module 4 Summary: File and Directory Management in Java 
  • Module 4 Glossary: File and Directory Management in Java 
  • Module 4 Coding Cheat Sheet: File and Directory Management in Java 
  • Module 4 Graded Quiz: File and Directory Management in Java 
 
Module 5: Date and Time Handling in Java 
  • Module Introduction and Learning Objectives 
  • An Introduction to Java Date and Time Classes 
  • Formatting Dates in Java 
  • Format a Given Date and Time 
  • Using Time Zones in Java 
  • Calculate the Difference Between Two Dates 
  • Lab: (Optional) Coding Challenge: Date and Time Handling in Java 
  • Parsing Dates from Strings 
  • Practice Quiz: Date and Time Handling in Java 
  • Module 5 Summary: Date and Time Handling in Java 
  • Module 5 Glossary: Date and Time Handling in Java 
  • Module 5 Coding Cheat Sheet: Date and Time Handling in Java 
  • Module 5 Graded Quiz: Date and Time Handling in Java 
 
Module 6: Final Project and Final Exam 
  • Reading: Module Introduction and Learning Objectives 
  • Final Project Overview 
  • Final Project 
  • Final Project Assessment 
 
Module 7: Course Wrap-Up  
  • Video: Course Wrap-Up  
  • Reading: Course Glossary  
  • Reading: Course Coding Cheatsheet 
  • Reading: Congratulations and Next Steps 
  • Reading: Thanks from the Course Team 
  • Copyrights and Trademarks 
 
Course Rating and Feedback 
  • Course Rating and Feedback 

Instructors

Ramanujam Srinivasan

Chief Architect

With over 24 years of experience, I have effectively led technology and architecture teams, driving digital transformation and business growth for Fortune 500 companies. My expertise includes managing strategic consulting engagements and implementing large-scale solutions that have achieved annual contract values between $10M and $300M, particularly in turnaround scenarios. As an engineering leader, I guide cross-functional teams in deploying distributed solutions across various domains, including Cloud, AI/ML, eCommerce, Microservices, DevSecOps, legacy modernization, performance optimization, Generative AI, and Machine Learning. I prioritize building exceptional technology teams by mentoring and inspiring top technical talent, fostering a culture of rapid innovation and collaboration. I serve as a trusted advisor, nurturing long-term relationships with C-Level executives and stakeholders to drive the implementation of strategic technology initiatives. My approach combines a big-picture perspective with attention to detail, providing hands-on guidance for creating highly scalable and efficient solutions. I assist in developing minimum viable products (MVPs), evaluating products, enabling developers, and advocating for open-source technologies. As an innovation catalyst, I lead the ideation and Go-to-Market strategies for intellectual property solutions that leverage cloud services, data analytics, and AI/ML to provide strategic advantages to enterprise customers. Additionally, I have authored successful technology courses on Coursera covering topics such as Microsoft security, front-end and back-end development, DevOps, and Generative AI, positively impacting over 70,000 learners.

Read more

IBM Skills Network

IBM Skills Network Team

At IBM Skills Network, we know how crucial it is for businesses, professionals, and students to build hands-on, job-ready skills quickly to stay competitive. Our courses are designed by experts who work at the forefront of technological innovation. With years of experience in fields like AI, software development, cybersecurity, data science, business management, and more, our instructors bring real-world insights and practical, hands-on learning to every module. Whether you're upskilling yourself or your team, we will equip you with the practical experience and future focused technical and business knowledge you need to succeed in today’s ever-evolving world.

Read more