Application Development
Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.
Application Development
This course is part of Amazon Junior Software Developer Professional Certificate
Instructor: Amazon
5,913 already enrolled
Included with
Learn more
Ask Coursera
45 reviews
Recommended experience
45 reviews
Recommended experience
What you'll learn
Implement and document a requirements analysis and define system components using diagramming tools.
Discuss different software methodologies.
Implement version control by creating and managing Git repositories.
Skills you'll gain
- Application Development
- Programming Principles
- Requirements Analysis
- Software Development Life Cycle
- Java
- Agile Software Development
- Software Development Methodologies
- Software Development
- Software Design Patterns
- Version Control
- Systems Development Life Cycle
- Software Testing
- Maintainability
- Agile Methodology
- Debugging
Details to know
10 assignments
See how employees at top companies are mastering in-demand skills
Build your Software Development expertise
- 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 6 modules in this course
In this course learners will gain a solid understanding of the entire software development lifecycle (SDLC) and essential development practices. Through lessons on requirement analysis, and system design, learners will engage with gathering and documenting project requirements effectively to design system architecture. Learners will explore various software development methodologies such as Waterfall, Agile, and DevOps, understanding how each shapes the development process. In lessons on implementation, learners will explore programming best practices, testing, and debugging techniques, enabling them to write clean, maintainable code and effectively identify and resolve issues. Learners will also explore version control with Git, including setting up repositories, managing branches, and collaborating with team members, ensuring they have the necessary skills to work efficiently in real-world development environments.
After completing this course, youβll be able to: β’ Implement and document a requirements analysis β’ Define system components through the use of diagramming tools β’ Discuss different software methodologies β’ Implement version control through the creation and management of Git repositories
This module equips learners with essential skills to plan and design successful software projects. Explore the process of gathering and analyzing requirements, distinguishing between iteration and increment, and crafting user stories. They will learn to design with UML diagrams, wireframes, mockups, and software patterns while understanding system architecture and user experience principles. Through hands-on activities and real-world scenarios, learners will practice identifying requirements, implementing design patterns, and creating intuitive user interfaces. By the end of this module, theyβll be ready to turn ideas into well-structured, impactful software solutions.
What's included
15 videos13 readings4 assignments2 ungraded labs
15 videosβ’Total 80 minutes
- Course introductionβ’4 minutes
- Project previewβ’4 minutes
- Challenges with requirementsβ’6 minutes
- Functional requirementsβ’6 minutes
- Non-functional requirementsβ’5 minutes
- User storiesβ’4 minutes
- INVEST attributesβ’7 minutes
- Software designβ’5 minutes
- Unified modelling languageβ’7 minutes
- Cardinalityβ’5 minutes
- System architectureβ’4 minutes
- User interfacesβ’7 minutes
- Wireframing and mockupsβ’6 minutes
- User experienceβ’5 minutes
- Module summary: Project planning and design β’5 minutes
13 readingsβ’Total 130 minutes
- Course syllabusβ’10 minutes
- How to be successful in this courseβ’10 minutes
- Iteration and increment in projectsβ’10 minutes
- Identify functional and non-functional requirementsβ’10 minutes
- Identify INVEST attributesβ’10 minutes
- Epics and user storiesβ’10 minutes
- Document a requirementβ’10 minutes
- Design patternsβ’10 minutes
- UML notationβ’10 minutes
- Cardinality cheatsheetβ’10 minutes
- Architecture patternsβ’10 minutes
- Introduction to color theoryβ’10 minutes
- Additional resources: Project planning and design β’10 minutes
4 assignmentsβ’Total 75 minutes
- Module quiz: Project planning and design β’30 minutes
- Knowledge check: Requirement analysis and specificationβ’15 minutes
- Knowledge check: System design and architectureβ’15 minutes
- Knowledge check: User interface designβ’15 minutes
2 ungraded labsβ’Total 60 minutes
- Activity: Using a design patternβ’30 minutes
- Activity: Create a UML diagramβ’30 minutes
This module provides a comprehensive overview of software development methodologies, equipping the learner with the knowledge to manage projects effectively. Explore the stages of the Software Development Life Cycle (SDLC) and learn to compare models like Waterfall, Agile, and Spiral to choose the right fit for various projects. Dive deeper into Agile frameworks such as Scrum and Kanban, understanding their principles, use cases, and practices like sprints and retrospectives. Discover methodologies like Rapid Application Development (RAD) and DevOps, emphasizing flexibility, collaboration, and efficiency in delivering high-quality software. With practical activities and real-world examples, this module prepares you to align methodology with project needs and deliver successful software solutions.
What's included
7 videos3 readings1 assignment
7 videosβ’Total 44 minutes
- Software development life cycleβ’7 minutes
- SDLC modelsβ’6 minutes
- Agile methodologyβ’7 minutes
- SCRUM frameworkβ’6 minutes
- Rapid application developmentβ’6 minutes
- DevOpsβ’6 minutes
- Module summary: Software development methodologiesβ’6 minutes
3 readingsβ’Total 30 minutes
- Choosing an SDLC modelβ’10 minutes
- Agile frameworksβ’10 minutes
- Additional resources: Software development methodologiesβ’10 minutes
1 assignmentβ’Total 30 minutes
- Module quiz: Software development methodologiesβ’30 minutes
This module focuses on the essential practices and tools required for implementing and maintaining software effectively. Explore challenges like code maintainability, debugging, and long-term stability, and learn how clean code principles and proper documentation can streamline development. Master key implementation techniques such as debugging with breakpoints, testing application layers using JUnit, and managing environment-specific configurations with Spring Profiles. Delve into software testing methods and discover how SLF4J logging enhances monitoring and troubleshooting in real-world applications. Through hands-on activities and guided examples, this module equips the learner with the skills to implement robust, maintainable, and well-tested software solutions.
What's included
5 videos7 readings3 assignments5 ungraded labs
5 videosβ’Total 28 minutes
- Maintaining softwareβ’5 minutes
- Clean codeβ’5 minutes
- Investigating issuesβ’6 minutes
- Software testingβ’7 minutes
- Module summary: Software implementation β’4 minutes
7 readingsβ’Total 70 minutes
- Clean code in practiceβ’10 minutes
- Spring profiles for deploymentβ’10 minutes
- Using breakpointsβ’10 minutes
- Testing controller layer using JUnitβ’10 minutes
- Testing service layer using JUnitβ’10 minutes
- Introduction to logging using SLF4Jβ’10 minutes
- Additional resources: Software implementationβ’10 minutes
3 assignmentsβ’Total 60 minutes
- Module quiz: Software implementation β’30 minutes
- Knowledge check: Coding best practicesβ’15 minutes
- Knowledge check: Testing and debuggingβ’15 minutes
5 ungraded labsβ’Total 220 minutes
- Activity: Cleaning a Java classβ’50 minutes
- Activity: Debugging an issueβ’30 minutes
- Activity: Writing a unit test β’30 minutes
- Activity: Testing the service layerβ’50 minutes
- Activity: Software implementationβ’60 minutes
This module introduces the essential concepts and practices of version control, equipping the learner with the skills to manage and collaborate on software projects effectively. Learn the benefits of version control systems like Git, including tracking changes, investigating issues, and enhancing team collaboration. Explore the fundamentals of Git and GitHub, from setting up repositories and cloning them to performing key operations like adding, committing, pushing, and pulling changes. Gain hands-on experience in working with repositories and understand how Gitflow facilitates seamless collaboration among developers through branching workflows. With practical examples and activities, this module ensures the learner is well-prepared to implement version control best practices in real-world projects.
What's included
7 videos3 readings1 assignment2 ungraded labs
7 videosβ’Total 37 minutes
- Introduction to version controlβ’6 minutes
- Git & Githubβ’5 minutes
- Cloning a repositoryβ’4 minutes
- Add and commit filesβ’4 minutes
- Push and pull changesβ’8 minutes
- Gitflowβ’5 minutes
- Module summary: Version control with Gitβ’4 minutes
3 readingsβ’Total 30 minutes
- Installing Gitβ’10 minutes
- Setting up your Github accountβ’10 minutes
- Additional resources: Version control with Gitβ’10 minutes
1 assignmentβ’Total 30 minutes
- Module quiz: Version control with Gitβ’30 minutes
2 ungraded labsβ’Total 90 minutes
- Working with repositoriesβ’30 minutes
- Activity: Version control with Gitβ’60 minutes
This module is the culmination of the learning journey, where the learner will apply the knowledge and skills gained throughout the course to improve a comprehensive software application. Begin with a recap of key course concepts, then dive into an exciting hands-on project that challenges you to identify requirements, implement design patterns, write clean code, create unit tests, and leverage advanced Java features like custom exceptions and SLF4J logging. Theyβll work with a provided Spring Web App codebase, adapt and expand it to meet project requirements, and document your approach. The module emphasizes best practices in software development, including architectural patterns, effective collaboration using Git, and real-world application design. Engage with a walkthrough of the project solution, reflect on your learning experience, and take a comprehensive course quiz to validate their knowledge. This module not only reinforces their expertise but also prepares them to tackle professional development projects with confidence.
What's included
3 videos2 readings1 assignment1 ungraded lab
3 videosβ’Total 22 minutes
- Course recap: Application developmentβ’6 minutes
- Ask an Expertβ’11 minutes
- Final project walkthroughβ’5 minutes
2 readingsβ’Total 20 minutes
- About the projectβ’10 minutes
- Exemplar: Application developmentβ’10 minutes
1 assignmentβ’Total 90 minutes
- Course quiz: Application developmentβ’90 minutes
1 ungraded labβ’Total 90 minutes
- Activity: Application developmentβ’90 minutes
This module equips the learner with the tools, insights, and strategies needed to excel in technical interviews and advance their career in software development. Begin by exploring the diverse career paths in software development, from front-end and back-end roles to full-stack positions, and understand the responsibilities of each specialization. Learn what to expect in technical interviews, including problem-solving challenges, coding assessments, and behavioral questions. Get hands-on experience with an Amazon-style coding challenge and practice behavioral interview scenarios through quizzes and simulations. Gain insights into Amazonβs leadership principles and SDE interview processes to prepare for opportunities with one of the worldβs leading tech companies. Theyβll also receive guidance on refining their resume and sharing their achievements, such as Coursera Certificate, to enhance their professional profile. By the end of this module, theyβll be well-prepared to navigate the technical hiring process and stand out as a strong candidate in the software development field.
What's included
3 videos6 readings
3 videosβ’Total 18 minutes
- Career pathsβ’7 minutes
- What to expect in technical interviewsβ’6 minutes
- Congratulationsβ’5 minutes
6 readingsβ’Total 70 minutes
- Online assessment practice testβ’20 minutes
- Amazon leadership principlesβ’10 minutes
- SDE interview coding exampleβ’10 minutes
- Internship applicationβ’10 minutes
- Preparing your resumeβ’10 minutes
- Next stepsβ’10 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
Offered by
Explore more from Software Development
- Status: Free TrialN
Northeastern University
Course
- Status: Free TrialL
LearnQuest
Course
- Status: Free Trial
Course
- Status: Free TrialT
The Hong Kong University of Science and Technology
Course
Why people choose Coursera for their career
Learner reviews
- 5 stars
84.44%
- 4 stars
15.55%
- 3 stars
0%
- 2 stars
0%
- 1 star
0%
Showing 3 of 45
Reviewed on Jan 23, 2025
i really love this course, it useful!, can get 5 start because it may be hard for my computer to run
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.
More questions
Financial aid available,
