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

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
Creating Classes
In this module, we'll go into more detail on creating classes in Java, and how to organize classes into packages. We'll cover attributes (instance and class variables), methods, access modifiers, parameters, variable length argument lists, local variables, constants, constructors, overloaded methods, and more.
Using Java Objects
In this relatively short module, having discussed, in more detail, creating classes, we'll briefly turn our attention back to objects. How to create them with the "new" keyword, the difference between type and class (something we'll revisit often), and (conceptually) what happens in a JVM when we create a new object.
Namespaces and Java Libraries
In this module, we'll look more closely at the use of Java packages. How we declare our package; the implications of being in a package; why packages are important; how we import classes from other packages; what import does for us; how we come up with our own, unique, package name by following the specified rules; how to resolve name collisions. Finally, we will concluding by looking at four specific Java classes: String, StringBuffer, StringBuilder and Math.

Good to know

Know what's good
, what to watch for
, 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

Save Introduction to Object-Oriented Programming with Java to your list so you can find it easily later:
Save

Reviews summary

A well-received java course

Learners say this Object-Oriented Programming with Java course is well explained with engaging assignments and very useful content. Many learners note how great the instructors are and how amazing the teaching is. Students remark that this course is excellent if you're new to OOP, but may be a little easy for students familiar with the concept. Overall, students say this course is well received and provides a nice learning experience.
Course is deemed useful.
"Very helpful."
"It was really amazing course."
"I​ love this specialization, i found it more nutritive than other courses"
Concepts are explained clearly.
"Good course. Clear explanation."
"This is Excellent way of learning"
"Covers all the important concepts."
Course is suitable for beginners.
"impressive for beginners."
"its been a wonderful journey"
"Very technical introduction to Java"
Instructors are well regarded.
"Unbelievable"
"great teaching"
"A great course with, a charismatic proffessor."
This course is highly rated.
"Excellent"
"Excellent Starter Class."
"Excellent with easy understanding"
Instructor's voiceovers could be improved.
"The instructor's voice seemed to be strained at times."
More visual content could improve the course.
"The course is good but it may include several visualization tools for the explanation of the topics instead of theoritically explaining it"
The course player has some issues.
"it's not about the course material but it's the video player that keep enlarge everytime i scrolldown the page. It's very uncomfortable to watch the video."
Some outdated course material.
"Well explained though some obsolete features should have been omitted or not spent time on."

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.
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.
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.
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.
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.
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.
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

Here are nine courses similar to Introduction to Object-Oriented Programming with Java.
Object Oriented Programming with Kotlin 1
Most relevant
Making Your Java 8 Code More Object-oriented
Most relevant
Fundamentals of Object Oriented Programming in Java
Most relevant
The Java Object-Oriented Approach (Java SE 11 Developer...
Most relevant
Java Class Library
Most relevant
Programming Java for Beginners - The Ultimate Java...
Most relevant
Java Programming: Principles of Software Design
Most relevant
Object-Oriented Programming in Kotlin
Most relevant
Introduction to Object-Oriented Programming with Java II:...
Most relevant
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 - 2024 OpenCourser