This course is an introduction to the Java programming language and the concepts of object-oriented design. It not only covers the fundamentals of programming in Java, but it also brings in the concepts of object-oriented design. Topics include, but are not limited to, fundamentals of programming in Java, classes and methods, objects and references, overloading, inheritance, polymorphism, abstract classes and interfaces, basic data structures, and GUI applications. Students are expected to apply learned knowledge to address an identified problem found in the real world.



Skills you'll gain
Details to know

Add to your LinkedIn profile
August 2025
7 assignments
See how employees at top companies are mastering in-demand skills

There are 7 modules in this course
This introductory module establishes the foundational knowledge necessary for effective software development by combining core programming concepts with practical design methodologies. You will explore fundamental design principles and object-oriented programming paradigms that form the backbone of modern software architecture, gaining insight into how these concepts create maintainable and scalable code. Through previewing real-world application case studies, you will see how theoretical principles translate into practical solutions across various domains and industries. The module concludes with a comprehensive review of Java programming fundamentals, ensuring all students have the essential syntax, data structures, and programming constructs needed to succeed in subsequent coursework and apply object-oriented design principles effectively in your development projects.
What's included
1 video17 readings1 assignment1 app item
This module introduces students to Java programming fundamentals and object-oriented design through hands-on application development. Students will learn to create Java classes and objects, understanding how to define and work with instance variables, methods, and the differences between static and non-static elements. The module emphasizes practical GUI development, teaching students to build user interfaces with JFrames and JPanels while managing data flow between components. By the end of this module, students will have a solid grasp of the object-oriented paradigm and be able to integrate core Java concepts—including data types, control structures, and methods—to create functional Swing applications that demonstrate their understanding of both programming fundamentals and user interface design.
What's included
15 readings1 assignment1 app item
This module represents a crucial transition point in your Java programming journey, where you'll move beyond basic programming concepts to explore more sophisticated data management and visualization techniques. Building upon foundational object-oriented principles, module 3 introduces you to essential tools for organizing, storing, and manipulating collections of data while also teaching you how to model and visualize complex system relationships.
What's included
18 readings1 assignment2 app items
Building upon your foundational understanding of classes and objects, this module will take you deeper into the heart of object-oriented programming by exploring how objects interact with methods and how to think systematically about object design. You'll learn about the intricacies of passing objects to methods, understand the crucial differences between primitive and reference type handling, and further explore the principles of encapsulation and abstraction.
What's included
9 readings1 assignment1 app item
In this module we will focus on inheritance, polymorphism, and access modifiers. You'll discover how to create robust class hierarchies using superclasses and subclasses, master the intricacies of constructor chaining, and learn to leverage polymorphism for flexible and maintainable code. Additionally, you'll explore essential Java collections through the ArrayList class and understand how different access modifiers control the visibility and accessibility of your code components. By the end of this module, you'll have a solid foundation in these core OOP concepts that are essential for building sophisticated Java applications.
What's included
24 readings1 assignment4 app items
Welcome to Module 6, where you'll dive into abstract classes. In this module, you'll discover how abstract classes serve as blueprints for creating well-structured class hierarchies while enforcing specific implementation requirements in subclasses. Through a deep exploration of abstract methods, instantiation rules, and real-world examples like the Calendar and GregorianCalendar classes, you'll gain a solid understanding of when and how to effectively use abstract classes in your Java applications. This foundational knowledge will enhance your ability to design robust, maintainable code that follows proper object-oriented principles.
What's included
1 video4 readings1 assignment2 app items
In this module, you'll step into the role of a software architect designing a comprehensive digital university system that manages students, courses, faculty, and administrative processes. You'll begin by understanding how complex software systems are architected, then apply object-oriented principles to model real-world entities and their relationships using appropriate data structures. As you build this system, you'll learn to delegate responsibilities effectively across components and develop systematic approaches for tracing and debugging complex system execution.
What's included
2 readings1 assignment2 app items
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.
Instructor

Offered by
Explore more from Software Development
- Status: Preview
Northeastern University
- Status: Free Trial
Amazon
- Status: Free Trial
LearnQuest
- Status: Free Trial
LearnQuest
Why people choose Coursera for their career





Open new doors with Coursera Plus
Unlimited access to 10,000+ world-class courses, hands-on projects, and job-ready certificate programs - all included in your subscription
Advance your career with an online degree
Earn a degree from world-class universities - 100% online
Join over 3,400 global companies that choose Coursera for Business
Upskill your employees to excel in the digital economy
Frequently asked questions
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
When you purchase a Certificate you get access to all course materials, including graded assignments. Upon completing the course, your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
You will be eligible for a full refund until two weeks after your payment date, or (for courses that have just launched) until two weeks after the first session of the course begins, whichever is later. You cannot receive a refund once you’ve earned a Course Certificate, even if you complete the course within the two-week refund period. See our full refund policy.
More questions
Financial aid available,