We may earn an affiliate commission when you visit our partners.
Course image
Course image
Coursera logo

Object-Oriented Programming with Java

Guido Chiesa

If you have basic knowledge of Java and want to delve into the world of object-oriented programming, this course is for you.

Read more

If you have basic knowledge of Java and want to delve into the world of object-oriented programming, this course is for you.

In four weeks, you will start with the fundamental concepts of object orientation to advance towards more advanced concepts. You will immerse yourself in the world of object-oriented design.

Through this course, you will learn how to apply these concepts in your Java programs, translate them into code and make the most of the tools provided by the language.

Enroll now

What's inside

Syllabus

The fundamental concepts of OOP
In this first week, we will delve into the fundamental concepts of object-oriented programming. It's important to note that these concepts will recur in the following weeks, so take that into account.
Read more
Relationships between objects
This week we will begin to define the responsibilities of classes, how they affect the relationships between objects, and the strength of the relationships. We will also learn how to create objects in different ways and how they can react depending on the stimulus given to them.
Inheritance
In this third week, we will dive into one of the most important topics in OOP: inheritance. We will analyze its usefulness, its implications, and its limitations.
Inheritance and polimorfism
This week we will explore some advanced concepts, such as abstract classes and polymorphism. We will delve into their practical use in code and go through some scenarios where they can be beneficial. Finally, we will have a brief introduction to advanced object-oriented design.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Explores object-oriented programming, which is standard in industry
Develops object-oriented design, which is a core skill for software engineers
Taught by Guido Chiesa, who is recognized for their work in object-oriented programming
Examines object-oriented programming concepts, which are highly relevant to Java programming
Explicitly advises students to have basic knowledge of Java as a prerequisite
Does not require any additional items or goods that are not readily available in a typical household or in a library

Save this course

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

Activities

Coming soon We're preparing activities for Object-Oriented Programming with Java. These are activities you can do either before, during, or after a course.

Career center

Learners who complete Object-Oriented Programming with Java will develop knowledge and skills that may be useful to these careers:
Software Developer
Software Developers are responsible for analyzing user needs, designing, coding, testing, deploying, and maintaining software applications. This course will provide you with a solid foundation in object-oriented programming concepts, which are essential for success in this role. You will learn how to design and develop object-oriented software applications, and you will gain experience with the Java programming language. This course will help you build the skills you need to be a successful Software Developer.
Web Developer
Web Developers are responsible for designing, developing, and maintaining websites and web applications. This course will provide you with a solid foundation in object-oriented programming concepts, which are essential for success in this role. You will learn how to design and develop object-oriented web applications, and you will gain experience with the Java programming language. This course will help you build the skills you need to be a successful Web Developer.
Mobile Application Developer
Mobile Application Developers are responsible for designing, developing, and maintaining mobile applications. This course will provide you with a solid foundation in object-oriented programming concepts, which are essential for success in this role. You will learn how to design and develop object-oriented mobile applications, and you will gain experience with the Java programming language. This course will help you build the skills you need to be a successful Mobile Application Developer.
Game Developer
Game Developers are responsible for designing, developing, and maintaining video games. This course will provide you with a solid foundation in object-oriented programming concepts, which are essential for success in this role. You will learn how to design and develop object-oriented video games, and you will gain experience with the Java programming language. This course will help you build the skills you need to be a successful Game Developer.
Data Scientist
Data Scientists are responsible for collecting, analyzing, and interpreting data to help businesses make informed decisions. This course will provide you with a solid foundation in object-oriented programming concepts, which are essential for success in this role. You will learn how to design and develop object-oriented data science applications, and you will gain experience with the Java programming language. This course will help you build the skills you need to be a successful Data Scientist.
Machine Learning Engineer
Machine Learning Engineers are responsible for developing and deploying machine learning models. This course will provide you with a solid foundation in object-oriented programming concepts, which are essential for success in this role. You will learn how to design and develop object-oriented machine learning models, and you will gain experience with the Java programming language. This course will help you build the skills you need to be a successful Machine Learning Engineer.
Software Architect
Software Architects are responsible for designing and developing software architectures. This course will provide you with a solid foundation in object-oriented programming concepts, which are essential for success in this role. You will learn how to design and develop object-oriented software architectures, and you will gain experience with the Java programming language. This course will help you build the skills you need to be a successful Software Architect.
Technical Lead
Technical Leads are responsible for leading and managing software development teams. This course will provide you with a solid foundation in object-oriented programming concepts, which are essential for success in this role. You will learn how to design and develop object-oriented software applications, and you will gain experience with the Java programming language. This course will help you build the skills you need to be a successful Technical Lead.
Project Manager
Project Managers are responsible for planning, executing, and closing software development projects. This course will provide you with a solid foundation in object-oriented programming concepts, which are essential for success in this role. You will learn how to design and develop object-oriented software applications, and you will gain experience with the Java programming language. This course will help you build the skills you need to be a successful Project Manager.
Systems Analyst
Systems Analysts are responsible for analyzing and designing business systems. This course will provide you with a solid foundation in object-oriented programming concepts, which are essential for success in this role. You will learn how to design and develop object-oriented business systems, and you will gain experience with the Java programming language. This course will help you build the skills you need to be a successful Systems Analyst.
Database Administrator
Database Administrators are responsible for managing and maintaining databases. This course will provide you with a solid foundation in object-oriented programming concepts, which are essential for success in this role. You will learn how to design and develop object-oriented database applications, and you will gain experience with the Java programming language. This course will help you build the skills you need to be a successful Database Administrator.
Business Analyst
Business Analysts are responsible for analyzing and improving business processes. This course will provide you with a solid foundation in object-oriented programming concepts, which are essential for success in this role. You will learn how to design and develop object-oriented business applications, and you will gain experience with the Java programming language. This course will help you build the skills you need to be a successful Business Analyst.
IT Consultant
IT Consultants are responsible for providing advice and support to businesses on how to use technology to improve their operations. This course will provide you with a solid foundation in object-oriented programming concepts, which are essential for success in this role. You will learn how to design and develop object-oriented software applications, and you will gain experience with the Java programming language. This course will help you build the skills you need to be a successful IT Consultant.
Software Tester
Software Testers are responsible for testing software applications to ensure that they meet the requirements of the business. This course will provide you with a solid foundation in object-oriented programming concepts, which are essential for success in this role. You will learn how to design and develop object-oriented software applications, and you will gain experience with the Java programming language. This course will help you build the skills you need to be a successful Software Tester.
Quality Assurance Analyst
Quality Assurance Analysts are responsible for ensuring that software applications meet the quality standards of the business. This course will provide you with a solid foundation in object-oriented programming concepts, which are essential for success in this role. You will learn how to design and develop object-oriented software applications, and you will gain experience with the Java programming language. This course will help you build the skills you need to be a successful Quality Assurance Analyst.

Reading list

We've selected 18 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 Object-Oriented Programming with Java.
Comprehensive guide to Java programming. It covers everything from the basics of the language to advanced topics such as concurrency and generics, making it a great choice for those who want to learn Java in depth.
Great guide to writing clean and maintainable Java code. It covers a wide range of topics, from code formatting to object-oriented design, making it a valuable resource for Java developers of all levels.
Classic guide to software development. It covers a wide range of topics, from project management to software engineering, making it a valuable resource for software developers of all levels.
Classic guide to writing effective Java code. It covers a wide range of topics, from object-oriented design to performance optimization, making it a valuable resource for Java developers of all levels.
Classic guide to design patterns. It covers a wide range of design patterns, from creational patterns to structural patterns to behavioral patterns, making it a valuable resource for software developers of all levels.
Great guide to domain-driven design. It covers a wide range of topics, from domain modeling to implementation, making it a valuable resource for software developers of all levels.
Comprehensive reference guide to Java. It covers everything from the basics of the language to advanced topics such as enterprise JavaBeans and Android development, making it a valuable resource for Java developers of all levels.
Great introduction to design patterns for Java developers. It covers a wide range of design patterns, from creational patterns to structural patterns to behavioral patterns, making it a valuable resource for those who want to learn how to design effective Java code.
Great guide to software development teams. It covers a wide range of topics, from team dynamics to project management, making it a valuable resource for software developers of all levels.
Great guide to software testing. It covers a wide range of topics, from testing techniques to test management, making it a valuable resource for software developers of all levels.
Great guide to designing data-intensive applications. It covers a wide range of topics, from data modeling to data processing, making it a valuable resource for software developers of all levels.
Great introduction to Java for beginners. It covers the basics of Java in a fun and engaging way, making it a great choice for those new to the language.
Provides a comprehensive guide to concurrency in Java. It covers topics such as thread safety, synchronization, and performance. It valuable resource for experienced Java programmers who need to write concurrent code.
Provides a comprehensive guide to performance tuning in Java. It covers topics such as profiling, optimization, and scalability. It valuable resource for experienced Java programmers who want to improve the performance of their code.
Provides a comprehensive guide to network programming in Java. It covers topics such as sockets, networking protocols, and web services. It valuable resource for experienced Java programmers who need to write network-based applications.
Provides a comprehensive guide to GUI programming in Java. It covers topics such as Swing, JavaFX, and SWT. It valuable resource for experienced Java programmers who need to write GUI-based applications.
Provides a comprehensive guide to database programming in Java. It covers topics such as JDBC, SQL, and ORMs. It valuable resource for experienced Java programmers who need to write database-based applications.

Share

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

Similar courses

Here are nine courses similar to Object-Oriented Programming with Java.
Mastering UX & Business App Development with OOP
Most relevant
Functional Programming with Java and Threads
Most relevant
Practice Java by Building Projects
Most relevant
Object-oriented Programming in Java
Most relevant
Object Oriented Programming in Java
Most relevant
Programming Java for Beginners - The Ultimate Java...
Most relevant
Object-Oriented Programming with Java
Most relevant
Introduction to Java
Most relevant
Working with Inheritance (Java SE 8 Programmer I...
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