VOOZH about

URL: https://www.coursera.org/learn/programming-with-java

⇱ Programming with Java | Coursera


Programming with Java

Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.

Programming with Java

17,340 already enrolled

Included with

Ask Coursera

Gain insight into a topic and learn the fundamentals.
4.2

91 reviews

Beginner level

Recommended experience

Flexible schedule
3 weeks at 10 hours a week
Learn at your own pace
84%
Most learners liked this course

Gain insight into a topic and learn the fundamentals.
4.2

91 reviews

Beginner level

Recommended experience

Flexible schedule
3 weeks at 10 hours a week
Learn at your own pace
84%
Most learners liked this course

What you'll learn

  • Develop methods to organize and reuse code effectively.

  • Apply object-oriented programming concepts within the Java language to design modular and scalable code.

  • Handle errors and exceptions in Java to create robust applications.

Details to know

Shareable certificate

Add to your LinkedIn profile

Assessments

13 assignments

Taught in English

Build your Software Development expertise

This course is part of the Amazon Junior Software Developer Professional Certificate
When you enroll in this course, you'll also be enrolled in this Professional Certificate.
  • Learn new concepts from industry experts
  • Gain a foundational understanding of a subject or tool
  • Develop job-relevant skills with hands-on projects
  • Earn a shareable career certificate from Amazon

There are 4 modules in this course

This is the second course in the Amazon Junior Software Developer Professional Certificate. In this course, you will explore advanced Object-Oriented Programming (OOP) concepts in Java, starting with an introduction to Interfaces and Abstract Classes. You'll learn how to effectively utilize interfaces for achieving multiple inheritance and how abstract classes play a crucial role in designing class hierarchies. Moving forward, you'll dive into Exception Handling, covering various types of exceptions in Java, along with best practices for handling them using try-catch-finally blocks. You'll also gain knowledge of File I/O operations, acquire skills in reading from and writing to files, understand different types of streams, and perform file operations efficiently. Finally, you'll explore Serialization and Deserialization techniques, enabling you to save and reconstruct object states, as well as use last run files for configuring current run states effectively. Overall, this course equips you with advanced Java programming skills essential for developing robust, efficient, and scalable applications.

After completing this course, you’ll be able to: • Develop methods to organize and reuse code effectively. • Apply object-oriented programming concepts within the Java language to design modular and scalable code. • Handle errors and exceptions in Java to create robust applications.

In this module, you'll explore advanced object-oriented programming (OOP) concepts, specifically interfaces and abstract classes in Java. You'll learn the importance of interfaces for code flexibility and how to implement them effectively, particularly in managing the challenges of multiple inheritance. Additionally, you'll understand the role of abstract classes in designing well-organized and extensible class hierarchies.

What's included

9 videos8 readings4 assignments4 ungraded labs

9 videosTotal 58 minutes
  • Course introduction: Programming with Java5 minutes
  • Abstract classes: Concrete and abstract methods6 minutes
  • Advantages of abstract methods5 minutes
  • Class hierarchy: relationships6 minutes
  • Designing a class hierarchy7 minutes
  • The interface solution9 minutes
  • Real world interfaces6 minutes
  • Combining interfaces and abstract classes8 minutes
  • Module summary: Advanced OOP concepts5 minutes
8 readingsTotal 95 minutes
  • Project preview10 minutes
  • Course syllabus10 minutes
  • How to be successful in this course10 minutes
  • Implementing interfaces15 minutes
  • Using abstract methods15 minutes
  • Understanding the importance of class design10 minutes
  • Explore complex interfaces15 minutes
  • Additional resources : Concrete and abstract10 minutes
4 assignmentsTotal 75 minutes
  • Module quiz: Advanced OOP concepts30 minutes
  • Knowledge check: Concrete and abstract15 minutes
  • Knowledge check: Class hierarchy15 minutes
  • Knowledge check: Multiple inheritance15 minutes
4 ungraded labsTotal 240 minutes
  • Activity: Programming with abstraction60 minutes
  • Activity: Create a class hierarchy60 minutes
  • Activity: Implementing interfaces60 minutes
  • Activity: Concrete and abstract60 minutes

In this module, you will explore exception handling, focusing on mastering techniques to effectively manage errors in Java programs. You'll cover various aspects, including understanding the different types of exceptions in Java, such as checked and unchecked exceptions. You'll learn how to use try-catch-finally blocks to handle exceptions gracefully and ensure proper resource management. Additionally, the module will highlight best practices for exception handling in Java, equipping you with the skills to write robust and reliable code that gracefully handles unexpected situations.

What's included

11 videos6 readings4 assignments2 ungraded labs

11 videosTotal 67 minutes
  • When things go wrong5 minutes
  • Exploring exception types6 minutes
  • Unchecked exceptions in action7 minutes
  • Examining the exception object6 minutes
  • Try-catch mechanism6 minutes
  • Using multiple catch blocks6 minutes
  • Using try with resources7 minutes
  • Avoiding catch-all exceptions5 minutes
  • Handling checked exceptions8 minutes
  • Handling unchecked exceptions6 minutes
  • Module summary: Error handling7 minutes
6 readingsTotal 75 minutes
  • Checked exceptions in action15 minutes
  • Glossary: Exceptions10 minutes
  • Introduction to try-catch blocks15 minutes
  • Examine the finally block15 minutes
  • Throwing checked exceptions15 minutes
  • Additional resources: Error handling5 minutes
4 assignmentsTotal 75 minutes
  • Module quiz: Error handling30 minutes
  • Knowledge check: Exceptions15 minutes
  • Knowledge check: Handling exceptions15 minutes
  • Knowledge check: Preventative measures and best practices15 minutes
2 ungraded labsTotal 75 minutes
  • Activity: Implementing error free code30 minutes
  • Activity: Protecting your code45 minutes

In this module, you will explore file handling operations in Java, covering topics such as reading from and writing to files, understanding different types of streams including byte streams and character streams, and performing file I/O operations such as reading, writing, and appending data to files. Additionally, you'll explore the concepts of serialization and deserialization, learning how to serialize objects to save their state and deserialize them to reconstruct their state.

What's included

11 videos5 readings4 assignments1 programming assignment4 ungraded labs

11 videosTotal 91 minutes
  • What are files?7 minutes
  • Examining file paths and file objects6 minutes
  • Comparing byte streams to character streams8 minutes
  • Dealing with character encoding9 minutes
  • Reading and writing binary files10 minutes
  • Standard file I/O operations10 minutes
  • Appending data to files8 minutes
  • File navigation7 minutes
  • Working with directories10 minutes
  • The process of serialization and deserialization8 minutes
  • Module summary: File handling7 minutes
5 readingsTotal 70 minutes
  • Reading from files15 minutes
  • Writing to files15 minutes
  • Reading and writing text files15 minutes
  • Closing streams15 minutes
  • Additional resources: File handling10 minutes
4 assignmentsTotal 75 minutes
  • Module quiz: File handling30 minutes
  • Knowledge check: Introduction to file handling15 minutes
  • Knowledge check: Input / Output streams15 minutes
  • Knowledge check: File IO operations15 minutes
1 programming assignmentTotal 75 minutes
  • Graded Lab: Implementing file handling75 minutes
4 ungraded labsTotal 120 minutes
  • Activity: Reading in and writing out30 minutes
  • Activity: Writing different file types 30 minutes
  • Activity: File IO and Java.nio30 minutes
  • Activity: Reading and writing objects30 minutes

This module focuses on applying the comprehensive knowledge of Java programming acquired from previous modules to a practical, real-world project. The challenge entails integrating various aspects of Java programming to enhance the zoo project you created in the previous course by employing file I/O operations and serialization. Through this module, you will demonstrate your ability to enhance your own software program.

What's included

2 videos3 readings1 assignment1 programming assignment

2 videosTotal 11 minutes
  • Course recap: Programming with Java8 minutes
  • Congratulations3 minutes
3 readingsTotal 110 minutes
  • About the project10 minutes
  • Exemplar: Zoo upgrade90 minutes
  • Next steps10 minutes
1 assignmentTotal 90 minutes
  • Course quiz: Programming with Java90 minutes
1 programming assignmentTotal 180 minutes
  • Course project: Zoo upgrade180 minutes

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

Instructor ratings
4.5 (24 ratings)
Amazon
7 Courses113,483 learners

Explore more from Software Development

Why people choose Coursera for their career

👁 Image

Felipe M.

Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
👁 Image

Jennifer J.

Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
👁 Image

Larry W.

Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
👁 Image

Chaitanya A.

"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."

Learner reviews

  • 5 stars

    62.36%

  • 4 stars

    19.35%

  • 3 stars

    5.37%

  • 2 stars

    3.22%

  • 1 star

    9.67%

Showing 3 of 91

JM
·

Reviewed on Oct 8, 2025

very complete and didactic in multiple formats, visual, audio, reading and practice. Som labs need corrections but still doable and educative

AA
·

Reviewed on Jan 28, 2025

Best course for Java. Covering both fundamentals and advanced concepts with hands-on practice in lab assignments.

AD
·

Reviewed on Nov 11, 2024

Nice Course , explained Clearly with Hands on Lab for practical experience!

Frequently asked questions

This Professional Certificate is designed for aspiring junior software developers who are looking to kickstart their careers in the tech industry. It is also for current professionals that are seeking greater understanding of software development fundamentals.

This program is for you:

- If you are interested in the field of software development or just beginning to work in junior software development roles.

- If you want to switch or start a career in the field of software development

- If you already work in software development and are seeking a greater understanding of software development fundamentals, earning an Amazon software development certificate can help advance your career or help you address gaps in your knowledge, skills, and abilities.

While prior coding experience is beneficial, it's not mandatory. A basic understanding of programming concepts and a willingness to learn are recommended.

The primary advantage lies in acquiring practical skills and knowledge essential for launching a career as a junior software developer. This Professional Certificate not only equips you with the expertise needed for entry-level roles but also provides a recognized certification, bolstering your credibility within the industry. This credential offers hands-on learning experiences under the guidance of seasoned professionals.

A junior software developer usually supports software application design, development, and maintenance while receiving guidance from senior developers, making them suitable candidates for internships or apprenticeships.

With the skills acquired from this Professional Certificate, you can qualify for entry-level positions such as junior software developer, software engineer, or programmer in diverse industries, making you an ideal candidate for internships or apprenticeships.

To be considered for an Amazon internship post completion of this course, you should be a current undergraduate student, preferably in a math or technology-related major.

Yes, this course is entirely online, allowing you to study at your own pace from anywhere with an internet connection. You can access your lessons, readings, and assignments anytime and anywhere via the web or your mobile device.

Yes. We highly recommend taking the courses of each certificate program in the order they are presented. The content in the courses builds on information from earlier courses. The final course contains a capstone project that assesses your knowledge of the content covered in the previous courses. As such, it makes the most sense to take the courses in the order they are presented.

It typically takes 3 months to complete the 7 courses. But some learners may go through the content faster.

Once you've completed the Amazon Junior Software Developer Professional Certificate, you will possess the essential skills and knowledge to thrive in this dynamic field. These skills enhance your practical experience and career prospects in software development, ensuring you are well-prepared to tackle challenges in both entry-level roles and internships. This certificate is valuable to share within your professional network. 

Throughout the program, you engaged with hands-on labs, projects, and assessments, mastering fundamental concepts such as:

- Proficiency in Java programming, encompassing data manipulation, control structures, and object-oriented principles.

- Expertise in implementing and managing version control systems like Git for collaborative software development.

- Skills in designing and deploying full-stack web applications, integrating server-side logic and front-end technologies.

- Understanding and application of software development methodologies and the software development lifecycle (SDLC) to craft robust software solutions.

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 enroll in the course, you get access to all of the courses in the Certificate, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.

Financial aid available,