One of the most important things I learned in this course is how to build full-stack applications using Spring Boot and React. Working on projects with REST APIs, DTOs, and React components helped me understand how the frontend and backend communicate, which is essential for modern software development. Another important concept I learned is testing, especially unit testing and system testing. Writing tests using tools like JUnit and Selenium showed me how to verify that my code works correctly and how to catch bugs early, which improves software quality. I also learned how to use Git and GitHub effectively. Version control helped me manage my code, collaborate with others, and safely make changes without losing previous work. This is a critical skill in real-world development environments. Understanding software design principles like low coupling and high cohesion was also important. These concepts helped me write cleaner, more maintainable code and made it easier to modify and ex...
Agile and Plan-and-Document (Waterfall) processes differ mainly in how they handle planning, flexibility, and development flow . In a Waterfall (Plan-and-Document) process , everything is planned upfront. Requirements are fully documented at the beginning, and development follows a strict sequence: requirements → design → implementation → testing → deployment. Changes later in the process are difficult and costly because each phase depends on the previous one being completed. This approach works well when requirements are clear and unlikely to change. In contrast, an Agile process is iterative and flexible. Development is done in small cycles (sprints), and requirements can evolve over time. Instead of heavy documentation upfront, Agile focuses on working software and continuous feedback from users. This allows teams to quickly adapt to changes, fix issues early, and improve the product incrementally. Overall, Waterfall emphasizes structure and documentation , while Agile emph...