Learning material regarding OOP, Algorithms & Data Structures (Java language);
Programming Foundations: Object-Oriented Design All good software starts with a great design. Object-oriented design helps developers plan applications before they write a single line of code, and break down ideas into reusable and maintainable components. This course focuses on the foundational concepts, teaching them in a fun, interactive way to help you quickly develop your skills. Tag team Olivia and Barron Stone introduce you to the concepts and terms—objects, classes, abstraction, inheritance, and more—that you need to get started. They then show how to take the requirements for an app, identify use cases, and map out classes using Universal Modeling Language (UML). The final design can then be translated into code using one of the many popular object-oriented programming languages, such as Java, C#, Ruby, or Python. DONE: 6th May 2022
Foundations of Programming: Design Patterns Design patterns are reusable solutions that solve the challenges software developers face over and over again. Rather than reinventing the wheel, learn how to make use of these proven and tested patterns that will make your software more flexible and resilient to change. This course introduces you to design patterns and takes you through several of the most used object-oriented patterns. Elisabeth Robson and Eric Freeman, coauthors of Head First Design Patterns, join forces to provide an overview of each pattern and examples of the pattern in action. Featured design patterns include the Strategy, Adapter, Observer, and Decorator patterns. Elisabeth and Eric lend these concepts a real-world context by providing code demos in Java, with the occasional example in Python and JavaScript.
Algorithms, 4th Edition (Java code) The most important algorithms and data structures in use today.
- Wiki do Prof. David Matos
- MermaidJS Live Editor - Editor de gráficos UML
- Umbrello UML Modeller - Editor de gráficos UML
- Thinking in Java: Bruce Eckel 2005 (Outubro) Prentice Hall, New Jersey, ISBN 0131872486 (4ª Ed.)
- Head First Design Patterns: Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates 2004 (Outubro) O'Reilly. ISBN 0596007124
- Design Patterns: Elements of Reusable Object-Oriented Software: Erich Gamma, Richard Helm, Ralph Johnson e John 1995 Addison Wesley Professional, ISBN 0201633612
- Head First Java: Kathy Sierra, Bert Bates 2005 (Fevereiro) O'Reilly. ISBN 0596009208 (2ª Ed.)
- The Unified Modeling Language User Guide : Grady Booch, James Rumbaugh, Ivar Jacobson 2005 Addison Wesley Professional (2ª Ed.)
- JAVA 8 - POO + Construções Funcionais: Fernando Mário Junqueira Martins 2017 FCA. ISBN 978-972-2017 722-838-6
- C++ Primer : Stanley B. Lippman, Josée Lajoie, Barbara E. Moo 2005 ISBN-10: 0-201-72148-1, ISBN-13: 978-0-201-72148-5, Addison-Wesley Professional (4ª Ed.)