Programação Orientada a Objetos

Base Knowledge

Having attended the curricular unit Programming Fundamentals 

Teaching Methodologies

The following teaching methodologies are used in this curricular unit:
– Expository method: an explanatory method were theoretical foundations and concepts are presented by the teacher and discussed with the class, followed by demonstrative examples;
– Experimental method: an active method were the student develops the knowledge through the use of problem solving and project development.

Learning Results

It is expected that by the end of the course each student is entitled to:
– Know the basic concepts of Object Oriented Programming (OOP): objects, classes, polymorphism, inheritance;
– Model and manage static and dynamic data structures (tables, vectors, hash tables and java collections);
– Interact with persistent storage: files (binary, text and object files);
– Be able to structure, develop, run, and test programs using Java language.

Program

Introduction to Java language
– Primitive types
– Arrays of primitive types
– Operators
– Execution control instructions

Classes
– Objects and references
– The Garbage Collector
– Constructors
– The keyword this
– Constructors that call constructors
– Static members
– Overloaded methods
– Arrays of objects
– Inner and nested classes

Packages
– Components organization
– Access modifiers

Composition and inheritance
– Composition
– Inheritance
– Choose between composition and derivation
– The super keyword
– The final keyword

Polymorphism
– Upcasting
– Object class
– Abstract classes
– Interfaces

Collections
– Interfaces derived from Collection
– Some concrete implementations

Exceptions

Files

Curricular Unit Teachers

Álvaro Nuno Ferreira Silva Santos

Grading Methods

Assessment, on a 0..20 scale, is carried out through the following components:

Written component (12 marks)
- Written test (4 marks), individual and in person, held in early November, covering the basic concepts of the Java language
- Examination (8 marks), individual and in person, covering all contents of the course, held in the first-sitting, resit or special examination periods
- Minimum mark: 40% of the two assessments combined
- The mark obtained in the written test is valid for all examination periods of the current academic year, and may not be improved

Tasks carried out in practical classes (4 marks)
- Individual completion of one practical task per week, starting in the second week of classes
- The mark for the set of tasks is awarded at two individual assessment moments, held during the semester, in which the student explains, justifies and modifies the work they produced
- Minimum mark: 40%
- Students whose status exempts them from attending classes (e.g. working students) obtain this component by completing alternative tasks, each of which may be subject to an individual defence

Practical assignment (4 marks)
- Carried out individually
- Assignment description made available during the semester, on a date to be announced by the lecturer
- Submission on the last day of classes, via Nónio/InforEstudante, as a ZIP file containing the project and the technical report in PDF
- Individual defence is mandatory. The mark for this component is awarded at the defence
- Failure to attend the defence results in a mark of 0 for this component, regardless of the material submitted
- This component is not subject to a minimum mark

Validity of marks
- Marks obtained in the assessments carried out during the semester are valid for all examination periods of the current academic year and are not repeated in those periods

Complementary oral assessment
- Any assessment component may be complemented by an individual oral assessment, held at the lecturer's initiative and without prior justification
- The oral assessment concerns the work carried out by the student in that component and serves to confirm authorship and command of the knowledge demonstrated in it
- Where there is a manifest discrepancy between performance in the oral assessment and the work presented, the mark for the component is set according to the performance demonstrated in the oral assessment
- Failure to attend a scheduled oral assessment without justification results in the component not being marked

Use of artificial intelligence tools
- The use of artificial intelligence tools is not permitted in written assessments or at individual assessment moments
- For the remaining components, the conditions of use are defined and announced by the lecturer at the beginning of the semester
- Students are fully responsible for all material they submit, and must be able to explain, justify and modify it on request


    Internship(s)

    NAO

    Bibliography

    Martins, F. M. (2017). Java 8: POO + construções funcionais. FCA. ISBN 9789727228386

    Jesus, C. (2013). Curso prático de Java. FCA. ISBN 9789727227501

    Martins, F. M. (2014). Projectos de POO em Java. FCA. ISBN 9789727227921

    Flanagan, D. (2014). Java in a nutshell: A desktop quick reference (6.ª ed.). O’Reilly. ISBN 1449370829