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.
涵盖的内容
9个视频8篇阅读材料4个作业4个非评分实验室
显示有关单元内容的信息
9个视频•总计58分钟
Course introduction: Programming with Java•5分钟
Abstract classes: Concrete and abstract methods•6分钟
Advantages of abstract methods•5分钟
Class hierarchy: relationships•6分钟
Designing a class hierarchy•7分钟
The interface solution•9分钟
Real world interfaces•6分钟
Combining interfaces and abstract classes•8分钟
Module summary: Advanced OOP concepts•5分钟
8篇阅读材料•总计95分钟
Project preview•10分钟
Course syllabus•10分钟
How to be successful in this course•10分钟
Implementing interfaces•15分钟
Using abstract methods•15分钟
Understanding the importance of class design•10分钟
Explore complex interfaces•15分钟
Additional resources : Concrete and abstract•10分钟
4个作业•总计75分钟
Module quiz: Advanced OOP concepts•30分钟
Knowledge check: Concrete and abstract•15分钟
Knowledge check: Class hierarchy•15分钟
Knowledge check: Multiple inheritance•15分钟
4个非评分实验室•总计240分钟
Activity: Programming with abstraction•60分钟
Activity: Create a class hierarchy•60分钟
Activity: Implementing interfaces•60分钟
Activity: Concrete and abstract•60分钟
Defensive programming: Error handling
第 2 单元•小时 后完成
单元详情
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.
涵盖的内容
11个视频6篇阅读材料4个作业2个非评分实验室
显示有关单元内容的信息
11个视频•总计67分钟
When things go wrong•5分钟
Exploring exception types•6分钟
Unchecked exceptions in action•7分钟
Examining the exception object•6分钟
Try-catch mechanism•6分钟
Using multiple catch blocks•6分钟
Using try with resources•7分钟
Avoiding catch-all exceptions•5分钟
Handling checked exceptions•8分钟
Handling unchecked exceptions•6分钟
Module summary: Error handling•7分钟
6篇阅读材料•总计75分钟
Checked exceptions in action•15分钟
Glossary: Exceptions•10分钟
Introduction to try-catch blocks•15分钟
Examine the finally block•15分钟
Throwing checked exceptions•15分钟
Additional resources: Error handling•5分钟
4个作业•总计75分钟
Module quiz: Error handling•30分钟
Knowledge check: Exceptions•15分钟
Knowledge check: Handling exceptions•15分钟
Knowledge check: Preventative measures and best practices•15分钟
2个非评分实验室•总计75分钟
Activity: Implementing error free code•30分钟
Activity: Protecting your code•45分钟
File handling
第 3 单元•小时 后完成
单元详情
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.
涵盖的内容
11个视频5篇阅读材料4个作业1个编程作业4个非评分实验室
显示有关单元内容的信息
11个视频•总计91分钟
What are files?•7分钟
Examining file paths and file objects•6分钟
Comparing byte streams to character streams•8分钟
Dealing with character encoding•9分钟
Reading and writing binary files•10分钟
Standard file I/O operations•10分钟
Appending data to files•8分钟
File navigation•7分钟
Working with directories•10分钟
The process of serialization and deserialization•8分钟
Module summary: File handling•7分钟
5篇阅读材料•总计70分钟
Reading from files•15分钟
Writing to files•15分钟
Reading and writing text files•15分钟
Closing streams•15分钟
Additional resources: File handling•10分钟
4个作业•总计75分钟
Module quiz: File handling•30分钟
Knowledge check: Introduction to file handling•15分钟
Knowledge check: Input / Output streams•15分钟
Knowledge check: File IO operations•15分钟
1个编程作业•总计75分钟
Graded Lab: Implementing file handling•75分钟
4个非评分实验室•总计120分钟
Activity: Reading in and writing out•30分钟
Activity: Writing different file types •30分钟
Activity: File IO and Java.nio•30分钟
Activity: Reading and writing objects•30分钟
Final project and assessment: Programming with Java
第 4 单元•小时 后完成
单元详情
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.
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.
What background knowledge is necessary?
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.
What does a junior developer do?
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.
What jobs can I get with junior software developer skills?
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.
Will I be able to complete this course online?
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.
Do I need to take the courses in specific order?
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.
How long does it take to complete the professional certificate?
It typically takes 3 months to complete the 7 courses. But some learners may go through the content faster.
What will I be able to do upon completing the Professional Certificate?
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.
When will I have access to the lectures and assignments?
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.
What will I get if I subscribe to this Certificate?
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.