Sorry, this page is no longer available
We may earn an affiliate commission when you visit our partners.
Course image
Evan Bergman and Noel J. Bergman

Introduction to OO Programming with Java is course 2 of the Core Java Specialization. After completing this course, you'll be able to create simple Java classes that exhibit the principle of Encapsulation, to import other classes for use, to work with Strings, print output and use advanced math functions.

Read more

Introduction to OO Programming with Java is course 2 of the Core Java Specialization. After completing this course, you'll be able to create simple Java classes that exhibit the principle of Encapsulation, to import other classes for use, to work with Strings, print output and use advanced math functions.

We'll begin with a brief refresher on necessary concepts from Object-Oriented Programming. Next, we'll introduce basic Java concepts regarding classes, enabling you to start writing simple Java classes with attributes and methods. We'll introduce the idea of instances, or objects created from classes, so that you can start to build object-oriented solutions. Finally, we'll cover namespaces and Java Libraries to explain how Java packages classes, so that everyone can develop code without name collisions. You will be able to organize and access classes, as well as use selected standard classes from the Java runtime environment.

To be successful in this course, you should have taken Course 1: Introduction to Java or have equivalent knowledge.

Enroll now

Here's a deal for you

Save money when you learn with a deal that may be relevant to this course.
All coupon codes, vouchers, and discounts are applied automatically unless otherwise noted.

What's inside

Syllabus

Classes and Objects
In this module, we discuss why we are using Object-Oriented Programming, and introduce the concepts in Java of Classes, Objects, Attributes, and Methods. Along with that, we'll discuss some of the conventions of the JavaBeans Specification, and make use of them in our code.
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Suitable for those with entry-level programming knowledge
Develops foundational object-oriented programming skills in Java
Taught by instructors recognized for their programming experience
Builds strong programming fundamentals for beginners in Java
Provides a comprehensive understanding of Java programming fundamentals
Prerequisites may be required, as the course assumes some prior programming knowledge

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Solid foundation in java oop

Students say this course provides a positive and clear introduction to Object-Oriented Programming with Java. Learners find that complex concepts are explained simply, making it effective for those new to OOP. It offers a solid foundational understanding of core principles like Encapsulation, Classes and Objects, and Java Libraries. The hands-on exercises and practical examples are often highlighted as beneficial. While some older reviews desired more advanced coding challenges, recent feedback emphasizes the course's structured and logical approach, making it ideal for beginners to intermediate learners.
Perfectly suited for learners new to OOP or Java concepts.
"Highly recommend for beginners to intermediate learners."
"Good for absolute beginners though."
"The early examples felt a bit basic for someone with prior programming experience."
Builds a strong base with practical, reinforcing examples and exercises.
"The hands-on exercises were helpful, and the instructor's explanations were concise."
"The examples were very practical and easy to follow."
"I found the segment on String, StringBuffer, StringBuilder, and Math classes particularly useful for daily coding tasks."
Complex OOP concepts are clearly articulated and easy to grasp.
"The concepts of Encapsulation and Classes and Objects were explained very clearly."
"The way they explain constructors and overloaded methods made it click for me."
"The concepts of Objects, Attributes, and Methods were well-reinforced."
Some older reviews mentioned lectures lacked engagement and support.
"The lectures felt dry and didn't always engage."
"The forum discussions were not very active which made getting help difficult."
"I had to look up external resources for more practical applications."
Provides an introductory overview; some learners desire more advanced topics.
"I wish there were more complex coding challenges beyond just basic class creation."
"Not enough focus on real-world scenarios or debugging."
"I was hoping for more advanced topics or even a small project to apply everything."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Introduction to Object-Oriented Programming with Java with these activities:
Review Java language fundamentals
Refresh foundational knowledge in Java by reading introductory tutorials and notes to enhance understanding of subsequent course material.
Browse courses on Java
Show steps
  • Read over notes and tutorials on Java syntax and basic concepts.
Read "Head First Java" by Kathy Sierra & Bert Bates
Gain a comprehensive understanding of Java fundamentals and OOP concepts through this highly recommended book.
Show steps
  • Read the book thoroughly and take notes.
  • Attempt exercises and challenges provided in the book.
Follow tutorials on Java Object-Oriented Programming
Supplement course material by following online tutorials and guides on the principles and implementation of OOP in Java.
Show steps
  • Search for tutorials on OOP principles and Java implementation.
  • Follow the tutorials and complete accompanying exercises.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Solve Java coding challenges
Sharpen your Java skills and deepen your understanding of concepts by attempting coding challenges and exercises.
Show steps
  • Find online coding platforms or textbooks with Java challenges.
  • Attempt to solve challenges and debug any errors.
Develop a Java application with a graphical user interface
Build a functional Java application with a GUI, enhancing your understanding of object-oriented design and event-driven programming.
Show steps
  • Design a GUI for your application.
  • Implement the GUI using Java Swing or JavaFX.
  • Add functionality to the GUI to perform specific tasks.
Create a Java program to solve a real-world problem
Apply your Java knowledge by building a project that addresses a practical problem, solidifying your understanding and enhancing your problem-solving skills.
Show steps
  • Identify a real-world problem that can be solved using Java.
  • Design and implement a Java program to solve the problem.
  • Test and debug the program to ensure its functionality.
Attend a Java user group meeting
Connect with other Java developers, exchange knowledge, and learn about industry trends by attending relevant meetups or conferences.
Show steps
  • Find Java user group meetings in your area.
  • Attend a meeting and participate in discussions.
  • Network with other attendees.

Career center

Learners who complete Introduction to Object-Oriented Programming with Java will develop knowledge and skills that may be useful to these careers:
Software Engineer
As a Software Engineer, you will play a critical role in the design, development, and implementation of software systems. The course will help you lay a foundation for programming, particularly in Java, which will be a significant component of your daily responsibilities as you'll need to work with classes and objects regularly. You will also need to be familiar with and use Java packages, which we will discuss in the course.
Web Developer
Web Developers are responsible for the coding, design, and layout of websites. The course will help you understand the principles of object-oriented programming, which is fundamental to modern web development. You will also learn fundamental concepts like classes, objects, and methods, which will be especially important if you are interested in back-end development.
Mobile Developer
Mobile Developers design and develop mobile applications for various platforms, such as iOS and Android. The course will introduce you to the syntax and foundational concepts of Java, which is the official programming language of Android. You will also learn about classes and objects, which are essential for writing effective mobile applications.
Data Scientist
Data Scientists leverage large amounts of data to extract insights and build predictive models. While Java may not be the most common language in data science, the course will introduce you to concepts like modularity and encapsulation, which are important for organizing and structuring code for data science projects.
Systems Analyst
Systems Analysts analyze and design business processes in order to improve efficiency and productivity. The course will help you build a foundation in object-oriented programming concepts, which can be applied to designing system solutions that meet specific business requirements. You will also learn about namespaces and Java libraries, which are essential for understanding how software systems are organized and function.
Quality Assurance Analyst
Quality Assurance Analysts ensure that software meets requirements and functions as intended. The course will provide you with a solid understanding of Java, which is widely used in the software industry. This will enable you to participate in code reviews and testing, ensuring that the final product is of high quality.
Technical Writer
Technical Writers create documentation to help users understand and use software and other technical products. The course will provide you with a foundation in Java, which will be beneficial if you need to write documentation for software products written in Java. You will learn core Java concepts such as classes, objects, and methods, as well as how to organize code using Java packages.
Product Manager
Product Managers oversee the development and launch of software products. While not strictly technical, a basic understanding of programming can be beneficial in this role. The course will provide you with an introduction to Java and object-oriented programming concepts, giving you a better understanding of the development process and the challenges that software engineers face.
UX Designer
UX Designers focus on the user experience of software products. While not directly related to programming, the course may be useful in understanding the technical aspects of software development, which can be helpful in designing user interfaces and interactions.
Salesforce Developer
Salesforce Developers build and maintain software applications on the Salesforce platform. While Java is not the primary language used for Salesforce development, the course will provide you with a solid foundation in object-oriented programming concepts, which can be applied to other programming languages and platforms.
Business Analyst
Business Analysts analyze and solve business problems by leveraging data and technology. The course may be useful in providing a basic understanding of Java, which can be beneficial in working with technical teams and understanding the technical aspects of software solutions.
Project Manager
Project Managers oversee the planning, execution, and completion of software projects. The course may be useful in providing a basic understanding of Java and object-oriented programming concepts, which can be helpful in communicating with technical teams and understanding the progress and challenges of software development projects.
Database Administrator
Database Administrators manage and maintain databases. While Java is not commonly used for database administration, the course may be useful in providing a basic understanding of object-oriented programming concepts, which can be applied to other programming languages and technologies used in database management.
Network Administrator
Network Administrators manage and maintain computer networks. The course may be useful in providing a basic understanding of Java, which can be beneficial in working with network management tools and understanding the technical aspects of network infrastructure.
IT Support Specialist
IT Support Specialists provide technical support to users of computer systems. While Java is not commonly used in IT support, the course may be useful in providing a basic understanding of programming concepts, which can be helpful in troubleshooting technical issues and understanding the technical aspects of software and hardware.

Reading list

We've selected ten books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Introduction to Object-Oriented Programming with Java.
This comprehensive reference book covers all aspects of Java programming, providing detailed explanations, code examples, and insightful discussions. While its depth may go beyond the scope of the course, it remains a valuable resource for further exploration and future reference.
This classic book delves into best practices and design patterns in Java programming. While it may be more advanced than the current course level, it provides invaluable insights and guidance for aspiring Java developers, encouraging them to write maintainable, scalable, and efficient code.
This engaging book presents design patterns in a fun and accessible manner. It complements the course effectively by reinforcing the key design patterns and making them more relatable through real-world examples.
This classic book presents a comprehensive catalog of design patterns, proven solutions to common problems in software design. While it may be more advanced than the current course level, it provides valuable insights into object-oriented design principles and can serve as a reference for future exploration of software design patterns.
Provides a comprehensive introduction to Java programming, covering the basics of the language, object-oriented programming concepts, and essential Java libraries. It serves as a valuable companion to the course, offering a structured and in-depth explanation of the core concepts.
While concurrency and multithreading topics may not be covered in the current course, this book provides a comprehensive and authoritative guide to these essential concepts in Java programming. For those interested in exploring these topics further, it serves as an invaluable resource.
This practical guide emphasizes the importance of writing clean, maintainable, and readable code. While it is not specific to Java, its principles and best practices are applicable to Java programming and contribute to the overall quality of the code.
This engaging and interactive book presents Java programming in a fun and accessible manner. With its conversational tone and numerous examples, it complements the course effectively by reinforcing the key concepts and making them more relatable.
This thought-provoking book challenges readers to think deeply about the principles of object-oriented programming and Java's design. Its philosophical approach and in-depth analysis offer a broader perspective, complementing the practical focus of the course.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser