The object oriented programming paradigm is widely used at enterprise level and in larger opensource projects. This paradigm has many advantages, especially the increase in productivity, avoiding repetition (at data and code levels) and reusing code.
The Object Oriented Programming course presents the concepts of the OOP paradigm and applies these concepts through exercises performed in the Java language. To consolidate the knowledge are developed two practical projects, in style of challenge, which encompass the subject taught.
This course unit allows students to have one more approach to programming, which is important for the development of other Engineering projects throughout the course of study.
Semestral
S1. Introduction to Java
1. History / backgroung
2. C vs Java
3. Key words
4. Primitive types (char, byte, boolean, etc.)
5. Reference Types
6. Arrays
S2. Program Writing:
1. Text editor; compilation; execution
2. Eclipse
S3. Keyboard input
1. Scanner
S4. Object Oriented Programming
1. Introduction
S5. Encapsulation
1. Classes
2. Objects
3. Methods, Properties, Constructors
4. Casting, Conversion, and Object Comparison
5. Public vs Private
6. Static vs non-static
7. Packages
S6. Parameters and Return
1. Command Line Arguments
S7. References
S8. Heritage
1. Superclasses and Subclasses
2. super
3. method overload
4. methods and final classes
S9. Exceptions
S10. Files
S11. Runtime Type Information
S12. Polymorphism
1. Abstract classes
2. Interfaces
S13. Javadoc
S14. Unit Tests - JUnit
S15. Generic
S16. Object Collections: Set, List, Queue, Map
S17. Drawing patterns
S18. SOLID principles
S19. Graphics: Processing
LO1. Know and understand the fundamental concepts associated with the object-oriented programming paradigm.
LO2. Design and implement solutions based on the object-oriented programming paradigm.
LO3. Be able to use an advanced Integrated Development Environment (IDE).
LO4. Master the syntax and semantics of an object-oriented programming language.
LO5. Understand drawing patterns and good practices for object-oriented programming.
Mandatory
Students use the IntelliJ software as their IDE, which offers some automation for creating and editing code, being able to identify errors and help with debugging projects. Through a methodology aimed at problem solving and also focused on project development, students consolidate the content acquired.
Português
Não
Martins, F, M. (2017). Java 8, POO + Construções Funcionais. Editora FCA. ISBN: 978-972-722-838-6.
Coelho, P. (2016). Programação em Java. (5ª ed.). Editora FCA. ISBN: 978-972-722-840-9.